首页  >  文章  >  web前端  >  浏览器如何处理 CSS 属性中缺失的单位?

浏览器如何处理 CSS 属性中缺失的单位?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-24 14:00:02346浏览

How Do Browsers Handle Missing Units in CSS Attributes?

没有单位的 CSS 属性的后备

在 CSS 中,当缺少单位(例如 px、em、pt、%)时属性,浏览器处理情况的方式有所不同。

怪异模式行为

在怪异模式下,某些浏览器可能会回退到首选单位,通常是 px。此行为基于遗留的无单位 HTML 属性(如宽度和高度)。

标准模式行为

在标准模式下,根据 CSS2.1 规范,所有非-零长度值需要单位。 UA 应该忽略没有单位的长度值。

浏览器不一致

尽管标准模式下有标准化行为,但浏览器在怪异模式下表现出不一致:

  • Internet Explorer:忽略 IE7 及更高版本中的无单位规则
  • Firefox:宽度回退到 px,但忽略边框宽度
  • Chrome、Opera、Safari:两个宽度回退到 px和 border-width

W3C 要求

W3C 不规定怪异模式下无单位 CSS 属性的行为。规范仅要求 UA 在标准模式下忽略无单位长度值。

具体问题:

  1. 为什么 px 在怪异模式下回退?
    这是基于旧版 HTML 属性的古怪行为。
  2. 强制回退到首选单位?
    不,在怪癖模式下不是强制的。
  3. 给定示例的正确怪癖模式行为:
    没有定义的正确行为,因为它取决于浏览器怪癖。 Chrome、Opera 和 Safari 的行为与在标准模式下忽略无单位规则更加一致。

以上是浏览器如何处理 CSS 属性中缺失的单位?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn