css 像素是啥?

2019-09-02 20:34:51 +08:00
 chaleaochexist
简单来说.
1. 100px * 100px 的方块 在 27 寸 2K 显示器和 4K 显示器的浏览器中,看起来的大小是一样的吗?
2. 2K 显示器 我想做一个 铺满全屏的红色方块, 长款定义多少 px? 手机浏览器呢? 4K 显示器呢?

谢谢.
2849 次点击
所在节点    前端开发
10 条回复
SuperMild
2019-09-02 20:41:45 +08:00
假设显示器设定没有百分比缩放,你指定像素铺满 2K,那么用 4K 的看就铺不满。

css 除了像素单位,还可以用百分比单位。
qq316107934
2019-09-02 20:56:37 +08:00
想做到大小一样,除了 pixel 还需要知道 dpi。
good1uck
2019-09-02 21:04:26 +08:00
逻辑像素
good1uck
2019-09-02 21:04:54 +08:00
硬件的像素是物理像素
chaleaochexist
2019-09-03 08:47:34 +08:00
@SuperMild 那前端一般是如何处理这个情况的?
我不是前端.但是看前端代码很多都是用 px,现在 4K 显示器越来越普及,如何处理?
现在前端一般如何处理这种情况?(主流做法)
还是说如果用 4K 显示器,一般都缩放 200%.

谢谢您.
SuperMild
2019-09-03 08:54:57 +08:00
@chaleaochexist 我也不是前端,css 应该有一些函数可以获取屏幕像素或 dpi 之类的,然后可以对主流屏幕像素做一套优化样式,剩下的就走一套默认样式。

但是一般个人项目来说没必要做这么细,需要占满全屏的就用百分比单位,不需要占满全屏的就做居中排版,检测到屏幕较宽就加侧边栏,屏幕窄就隐藏侧边栏。
SuperMild
2019-09-03 08:56:34 +08:00
@chaleaochexist 比如你看 V2EX 这里就是做居中排版,宽的屏幕就两边留白多一点,一般用户会自己放大网页显示比例。
chaleaochexist
2019-09-03 09:15:14 +08:00
@SuperMild 我可不可以这么理解.目前我们前端静态网页的开发,默认分辨率是 2K?
SuperMild
2019-09-03 09:41:17 +08:00
@chaleaochexist 应该没有默认的说法,一般网站上线后都可以看到访客统计,可以看到哪种屏幕占多少比例,然后对高比例的优化。不同的网站用户特点可能不同。

参考 https://www.jianshu.com/p/58e7b9836504
yimity
2019-09-04 09:45:22 +08:00
你可以不直接写 pixel , 可以写 百分比。
另外:假如 27 寸设备的物理像素是 4K(3840×2160)那么这个是物理像素的点,就是显示器上小灯泡的数量。
但是按照这样显示出来一个 100*100 的方块,会非常小。所以为了不让它那么小,设备厂商会定义一个比值就是 DPR(devicePixelRatio),也就是我让 10 个物理像素,在逻辑上显示一个点,那么这个值就是 10. 这个时候这个比值(物理像素除以 DPR )就是一般开发中的 CSS 像素。也就是你写 CSS 中 10px 等于实际显示器 100px。

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

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

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

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

© 2021 V2EX