【问题标题】:Shouldn't we use "Pixel" for anything in CSS, if we are making a site for mobile devices?如果我们正在为移动设备制作网站,我们不应该在 CSS 中使用“像素”吗?
【发布时间】:2010-09-09 03:45:01
【问题描述】:

如果我们正在为移动设备制作网站,我们是否应该在 CSS 中使用“像素”来表示任何内容?

px 用于布局和字体。对于移动网站上的所有内容,我们是否应该只使用em%

如果我使用<img>,那么我应该在HTML 代码中为<img> 定义高度和宽度吗?或者最好不要定义。或者我应该在 <img> 的 css 中定义大小也在 %em

编辑:

注意:问题不再是关于pxem 的辩论我的问题专门针对单独的移动网站。当我们使用不同的域或子域制作单独的移动网站时。

【问题讨论】:

    标签: css xhtml mobile-website


    【解决方案1】:

    一切都取决于上下文。与桌面浏览器的 CSS 一样,在某些情况下使用像素不是一个好主意(例如主要用于字体大小),并且在某些情况下像素仍然非常有用(例如固定布局)。

    一般来说,避免每次不需要时都使用像素。例如,没有理由为字体这样做:不是你,而是用户决定字体是否必须在高分辨率屏幕上很大。使用百分比还可以帮助您以某种方式记住一段文本永远不可能有精确的宽度和高度,并迫使您调整您的设计。

    现在,有时,出于成本或其他原因,您必须进行固定布局,或者至少页面的某些部分(关联图像和文本)必须固定大小。在这种情况下,使用像素并没有错。如果我有一个<div/>,里面有一些文本和一个漂亮的 200×100px 背景,最明显的是将这个<div/> 的宽度和高度设置为 200 和 100 像素。

    如果我使用<img>,那么我应该在 HTML 代码中为<img> 定义高度和宽度吗?

    恕我直言,你绝不应该这样做。图像的大小纯粹是布局/设计的事情,所以它与 HTML 无关,而与 CSS 无关。

    您必须在 CSS 中指定图像的大小吗? 如果您希望图像 100% 显示,那么您不必这样做:这是每个浏览器的默认设置。如果您想缩小它,并且由于某些原因,您无法缩放图像本身,而是将缩放后的图像保存在服务器上,那么您可能需要指定图像的大小。

    请记住,在客户端发送大图像并缩小比例始终是个坏主意。视觉质量可能会受到影响,客户将不得不等待更长时间才能看到图像。

    【讨论】:

    • @MainMa:除了许多浏览器会尝试第一次尝试布局,然后在加载图像并找出其真实尺寸后必须调整大小。这可能会导致一些恼人的屏幕跳转。一旦开发接近尾声,您的任何主要布局图像都不太可能改变大小,因此您可以通过将一个(或两个)图像尺寸硬连线到 table/div/ 中来获得更少“跳跃”的屏幕随便。
    • @Peter Rowell:你是对的。我仍然保留我的旧答案,但是是的,您提到的事实可能是在 CSS 中指定图像的真实大小的一个很好的理由。
    • @MainMA -我的问题专门针对不同的移动网站。我们正在为移动用户制作。
    • @metal-gear-solid:我知道。但实际上我想说的是,尽管移动浏览器和桌面浏览器之间存在根本差异,但像素与百分比问题几乎是相同的。
    • @MainMA - 是的,这是我的问题“移动设备总是使用 em 或 % 更好吗?”
    【解决方案2】:

    实际上,我建议在浏览器和移动设备上使用不同的 CSS 文件(有时是不同的模板)。移动不仅仅是一个更小的浏览器,它是一种完全不同的用户体验。

    至于像素问题,我倾向于在我的基本 CSS 规则中使用像素,然后在其他任何地方使用 % 或 em,以便一起放大和缩小。它并不总是按我想要的方式工作,但它通常允许在开发过程中进行大量调整。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-16
      • 2011-01-11
      • 2022-12-07
      • 1970-01-01
      相关资源
      最近更新 更多