stylesheet - 元素大小以像素为单位,为什么......?

标签 stylesheet screen-size

我担任 Web 开发人员已经有大约 12 年了,其中很多都是业余爱好,最近 5 个是专业人士。但我仍然无法解决以下问题,这可能是一个非常愚蠢的问题,尤其是来 self ,但是:

为什么我们仍然使用像素作为尺寸?

大约两三年前,我看到了新的 HiDPI 屏幕的曙光,比如 iPhone 4。我真的很想知道这将如何影响我们的网页设计和网页开发。我在一家广告公司工作,比一般的网络开发人员更了解打印(例如,在纸张或其他物理 Material 上打印)。当我思考我们下一步要去哪里时,我想到的是打印品;它们不依赖于像素(或点使用正确的术语)的大小,这绝对是愚蠢的。因为,如果您将文档发送到打印机,则在开始设计文档之前您需要了解该设备的 DPI。这就是为什么他们使用公制(或英制或其他)尺寸,然后提前决定最终支持多高的 DPI。 (300 DPI 是一个相当标准的最大值)

所以,我对上述问题(两年前)的回答是:我们可能会为设备使用指标或其他非像素相关的测量系统。因为我们将拥有许多具有不同 DPI 的设备。这几乎是我们确保设备正常显示网站的唯一方法。

现在,两年后,我们一直在使用一些其他解决方案。这仍然感觉更像是变通办法,而不是针对各种屏幕设置的真正解决方案。

我对指标系统的期望是否错误?是否有什么我忽略的事情会使这个解决方案变得不可能?是否已经存在我忽略的真正合乎逻辑的解决方案?

最佳答案

像素是屏幕的固定格式,如您所知,所有可查看的网络设备都是通过屏幕(显示器、平板电脑、手机等)。正如您所说,DPI 和 PPI 是非常不同的东西,但由于我们的屏幕不关心点,所以它可以工作。

但是,它不会像 % 和“em”那样缩放(例如对于字体)。

为了进一步解释 px 及其固定大小,这里引用了 W3.org 页面的一小段内容:

要了解 px 的外观,请想象一下 20 世纪 90 年代的 CRT 计算机显示器:它可以显示的最小点约为 1/100 英寸(0.25 毫米)或更多一点。 px 单位因这些屏幕像素而得名。

如今,有些设备原则上可以显示更小的尖锐点(尽管您可能需要放大器才能看到它们)。但是上个世纪在 CSS 中使用 px 的文档看起来仍然是一样的,无论使用什么设备。尤其是打印机,可以显示比 1 像素小得多的细节的清晰线条,但即使在打印机上,1 像素的线条看起来也与计算机显示器上的外观非常相似。设备会发生变化,但 px 始终具有相同的视觉外观。

现在,关键是这取决于您想要的布局 - 我们有%、px、pt、em(等),我们可以选择使用(或不使用)这些工具来完成手头的任务。许多人不会使用根据设备重新调整的方法(我们对此有自动检测),而对于其他人来说,它非常适合。

对我来说,任何可缩放的东西都很难在整个设计中进行相对缩放...在更高或更低分辨率的浏览器中,您的文本可能会显示在一行上或需要换行多行。如果这很重要,那么使用像素来修复它。

这也是为什么这么多网站都是居中的(包括这个)。它给人一种整个屏幕都被占据的错觉,但事实并非如此 - 左右边缘都有空白,但这并不重要 - 内容很清晰,设计者可以控制。

我无法计算我的客户有多少次请求缩放(违背我的建议),然后遇到布局问题 - 正如你可以猜到的,我对此很感兴趣。

但是,很酷的是将两者一起使用 - 将固定的像素尺寸作为包装器并在内部使用 % 或类似的 - 这再次提供了流动性的错觉,而不会失去太多的控制。

我认为您的问题不会得到直接答案,因为恐怕它会非常基于意见。

关于stylesheet - 元素大小以像素为单位,为什么......?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11950421/

相关文章:

css - 我应该在我的 CSS 定义中为每个元素/类写下完整的层次结构路径吗?

css - 将单个 Stylus 源文件中的样式分离到不同的 CSS 文件中

Android 屏幕尺寸算法/模式

html - css关键帧位置问题

css - 如何将 css 类放在 css 类中?

css - JavaFx 以编程方式设置外部背景图像

ios - 由于图像太多,应用程序太大

android - 难以理解如何支持多屏

ios - 纵横比错误的 iTunes Connect 屏幕截图

css - 使用Media Query和Grails获取条件CSS时遇到问题