CSS transform:scale 会改变 background 的色值?

2019-11-21 15:48:23 +08:00
 cheeto

为了实现 0.3px 的线,用 3px+transfrom:scaleY ( 0.1 )去做,#DBDBDB 在实际手机截屏颜色不符,sketch 取色值为#F9F9F9

难道 scale 也会把颜色压缩到一起???

2315 次点击
所在节点    程序员
21 条回复
hoyixi
2019-11-21 15:55:13 +08:00
1 这么细,取色取准了吗
2 border ?小于 1px 无法实现吧,记得 0.5 都不行
cheeto
2019-11-21 16:19:24 +08:00
@hoyixi 准的,设计师把截屏放大到最大叠图+取色。
就是因为没法实现小于 1px 的 border,所以想到用 scale 缩小,最后除了颜色其他都与 UI 契合
rioshikelong121
2019-11-21 16:23:29 +08:00
emmm.. mark. 没实现过这种需求。
rioshikelong121
2019-11-21 16:36:26 +08:00
google: 怎么画一条 0.5px 的边
cheeto
2019-11-21 16:38:47 +08:00
@rioshikelong121 单纯的画 0.5px 的线没问题,如果颜色是#000 的话也没问题,问题在于如果是其他颜色的话,实际渲染到屏幕与期望不符
hnsxxscyx
2019-11-21 16:41:14 +08:00
就是因为太细了系统无法渲染了才把色值混了吧,太细了,dpr 为 3 的屏幕物理像素都表现不出来,有意义吗?
cheeto
2019-11-21 16:42:54 +08:00
@hnsxxscyx 推测应该也是这个原因。没办法,必须百分百还原设计稿,差 0.5 像素都不行😭
noe132
2019-11-21 16:43:06 +08:00
如果 devicePixelRatio > 1 / 0.3,那就可能画出 0.3px 的线。否则就是被反锯齿颜色混合了,要么就是线直接消失不渲染了
cheeto
2019-11-21 16:44:27 +08:00
@noe132 了解了,感谢
Vegetable
2019-11-21 16:46:09 +08:00
猜一下
假如这是显示器的话,一个像素只能显示一个颜色,如果要实现 0.3px 的线,那剩下的 0.7 个像素的颜色是不是就和这 0.3 混合了呢?混合之后颜色是不是就变了呢.
Vegetable
2019-11-21 16:47:06 +08:00
@cheeto 设计稿给出 0.3 像素的宽度挺搞笑的,那你让他出 1:1 的设计稿就好了...
userdhf
2019-11-21 16:47:19 +08:00
100%还原是不可能的,光文字就不可能啊。。
cheeto
2019-11-21 16:52:50 +08:00
@userdhf 文字内容不在考虑范围内,样式必须一致...反正要求极高,截屏叠图到一起,一点点都不能差😢
lk920724
2019-11-21 17:02:16 +08:00
试试阴影?
cheeto
2019-11-21 17:13:18 +08:00
@lk920724 嗯,试过,在某些机型下小于 1px 的阴影直接消失了
hewelzei
2019-11-21 17:23:56 +08:00
“截屏放大到最大叠图+取色”这就离谱,图像渲染的时候不可能直接渲染的,任何颜色边界只要放大了看就会有过渡。
randyo
2019-11-21 17:27:41 +08:00
厉害了,90%还原就不错了。100%还原是不是不用考虑响应式
hewelzei
2019-11-21 17:27:52 +08:00
我觉得你这个 UI 连基础的像素知识都不了解,0.3px 还截图放大取色,挺逗的
lxrmido
2019-11-21 17:32:29 +08:00
0.3px 的线是画不出实线来的,因为除不尽,0.5、0.25 都能在浏览器放大(而不是截屏放大)的操作下看到正确的颜色值,0.3 就必定是跟其他像素混合后的颜色值了
lk920724
2019-11-21 17:33:48 +08:00
@cheeto 用图吧...或者适配部分机型?成功了 @我下,谢谢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/621784

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX