【问题标题】:Should I use em or px? [closed]我应该使用 em 还是 px? [关闭]
【发布时间】:2010-12-28 07:32:30
【问题描述】:

我正在开始一个新的 Web 项目,我想知道是使用 em 还是 px 来设置布局和字体大小。

尽管现在大多数浏览器都支持文本和图像缩放,无论字体是用 px 还是 em 定义的,但社区对使用 em 的支持仍然很强大。

但是我发现使用 em 有两个问题。

首先是大而宽的显示器的问题 - 这通常会导致文本在屏幕上运行数英里,当您向下阅读页面时很难阅读。

其次,如果您的网站需要集成 Flash 组件怎么办?如果您希望 Flash 组件完全适合以 em 定义的 div(例如网站的主容器),那么既然 Flash 组件以 px 为单位,您将如何处理呢?

真的有理由使用 EM 而不是 PX 吗?

【问题讨论】:

标签: css


【解决方案1】:

首先是大的问题 宽显示器 - 这通常会导致 绵延数英里的文字 屏幕,很难 一边读一边读。

使用empx,您仍然可以为您的布局定义width(或max-width)。

其次,如果您的网站需要 集成 Flash 组件?如果你 希望 Flash 组件适合 正好在一个 div 里面(例如 main 站点的容器)定义的 在 em,从那以后你会怎么做 Flash 组件以 px 为单位?

为了完全适合,你仍然可以使用 100% width,或者我没有理解你的意思。


理论上,使用em 代替px 将使您的布局可以根据用户偏好轻松调整大小。

但是今天,现代浏览器可以调整 px 布局以及 em 布局的大小,因此它可能不像几年前那样相关。

【讨论】:

  • 好答案,我想我自己无法更好地解释它。
  • 关于 Flash 组件的尺寸,他可能指的是容纳它的容器的尺寸,因为某些 Flash 元素可能无法很好地缩放。
【解决方案2】:

当您使用相对大小而不是固定字体时,主要好处是(视障人士)访问者可以放大/缩小包括字体在内的网页。都是关于web accessibility

【讨论】:

  • 如今这已经不是什么大问题了。现在所有主流浏览器,包括 Internet Explorer,都会缩放整个页面,包括字体。
  • 但是对于大多数浏览器来说已经不是这样了。我只是不确定是否值得努力迎合剩余的 IE6 用户。
  • 我总是想知道那会是什么类型的缩放,如果我在基于 px 的边上使用 cmd + mousewheel_up 进行放大,它的缩放效果非常好。在火狐中
  • 确实,新的浏览器支持缩放固定字体,但你不想依赖网络浏览器是否工作。
【解决方案3】:

px 与您提到的不同显示器尺寸的 em 具有相同的问题。使用 px 时,人们也更倾向于考虑像素在显示器上的大小(即像素具有一定的点间距)。由于 ems(和 %)与显示没有固定的大小关系,因此人们不会落入同一个陷阱。 (px 和所有图像像素一样,实际上并没有固定的 1:1 关系来显示像素,但人们通常是这样认为的。)

在对齐替换元素时,无论是 Flash 还是图像,px 确实更合适(尽管 Flash 在使用纯矢量图形时,可以使用您想要的任何单位很好地缩放到任何大小)。就个人而言,对于决定定位和大小的元素类型,我使用更自然的单位:px 用于图像和电影,em 用于文本,% 用于视口。

【讨论】:

    【解决方案4】:

    现在现代桌面浏览器在pxem的缩放比例相同,我认为讨论应该转移到如何在iPad等移动设备上显示其中一种或另一种、iPhone 等。

    【讨论】:

    • 像素是相对于设备的。在大多数桌面浏览器上,这是 1:1。在某些 1.5:1 的移动设备上。
    猜你喜欢
    • 1970-01-01
    • 2013-02-20
    • 2011-04-03
    • 2012-09-09
    • 2012-03-10
    • 2012-06-20
    • 2013-05-23
    • 2013-02-05
    相关资源
    最近更新 更多