不带单位的 CSS 属性的后备

2024-04-23

考虑 CSS 属性缺少单位(px、em、pt、%)的场景:

<body>
    <div 
        style=  "width:170;
                border:1 dotted PaleGreen;
                background-color:MistyRose">
        The quick brown
    </div>
</body>

问题:

  1. 为什么它会回退到 px?像素总是首选单位吗? W3C 工作草案或建议中是否定义了任何规则?
  2. 是否存在强制 UA 回退到首选单位的规则?
  3. Given the above example, which of the following is a correct behavior:
    • Internet Explorer:在 Quirks 模式 (IE6,5,4..) 中,宽度和边框宽度用于回退到 px。从 IE7(到目前为止,IE10RP)开始,如果缺少单位,它会忽略整个规则。因此这两条规则都被忽略了。
    • Firefox 13:在上面的示例中,宽度回退到 px,但忽略了 border-width。
    • Chrome 19、Opera 12、Safari 5.1.2:宽度和边框宽度均回退为 px。

注意:在 Microsoft-Connect 上,他们说:

您报告的问题是设计使然。标准模式下的 IE10 会忽略没有符合 CSS 标准的单位的宽度或高度。该单位不是可选的。


我在 HTML 中没有看到 doctype 声明,因此我只能假设您的测试页面正在以怪异模式呈现。

  1. 为什么它会回退到 px?像素总是首选单位吗? W3C 工作草案或建议中是否定义了任何规则?

    只会回落到px在怪癖模式下(我相信仅适用于某些属性)。是的,px是首选的后备单元。这让人回想起传统的 HTMLwidth and height接受像素长度作为无单位数字的属性。

  2. 是否存在强制 UA 回退到首选单位的规则?

    不,因此您观察到的行为不一致。但在标准模式下,UA 需要忽略没有单位的长度值;正如您引用的 Microsoft Connect 中所述,该单元不是可选的。

    在CSS2.1中 http://www.w3.org/TR/CSS21/syndata.html#length-units,所有非零长度值必须有单位。

  3. 鉴于上面的示例,以下哪项是正确的行为:

    • Internet Explorer:在 Quirks 模式 (IE6,5,4..) 中,宽度和边框宽度用于回退到 px。从 IE7(到目前为止,IE10RP)开始,如果缺少单位,它会忽略整个规则。因此这两条规则都被忽略了。
    • Firefox 13:在上面的示例中,宽度回退到 px,但忽略了 border-width。
    • Chrome 19、Opera 12、Safari 5.1.2:宽度和边框宽度均回退为 px。

    再次,基于您的页面处于怪异模式的假设,我只能说,虽然规范提到了怪异行为,但规范中没有定义这种怪异行为的具体细节(对于明显的和不明显的)如此明显的原因)。

    我猜测微软改变了 IE7+ 中的怪异模式行为以反映无单位值的标准行为,因为怪异模式存在于所有浏览器(IE

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不带单位的 CSS 属性的后备 的相关文章

  • 无法更改 SVG 元素的类名

    我想通过单击按钮来更改应用于 SVG 的类 代码是here http jsfiddle net p19rnmev 我的 SVG 看起来像
  • 是否可以通过 CSS 3 使用文本内容设置元素中文本的颜色?

    好吧 这更像是一个有很多非 CSS 解决方案的问题 但我希望更多地从理论角度来做这件事 我有一个它的应用程序 但不值得以任何其他方式对其进行编码 有趣的 问题 如何使用元素的文本为元素的文本着色 我有一个元素 全部都是它自己的 它将包含颜色
  • html 中的输入字段可以有多少个字符?

    html 输入字段中允许的 自然 字符数是多少 多谢 根据评论添加 我不需要通过邮寄或获取将其发送到服务器 我将通过 JS 解析字符串 因此 如果输入是无限的 就像 sAc 所说 这会给我带来两个进一步的问题 JS 最长的 String 可
  • 滚动时我的身体背景颜色消失

    我希望有人能帮帮忙 我已将 body height 属性设置为 100 当所有内容同时显示在屏幕上时 这很好 然而 当我需要滚动 最小化窗口时 主体颜色消失 只留下我为 HTML 背景设置的颜色 有人知道解决办法吗 html backgro
  • 右下角对齐的更好方法

    有没有更好的方法来对齐单元格右下角的某些内容 我有一个 div 只包含一个背景图像 10px x 10px 我使用以下样式将其放在右下角 我所在的单元格高 40 像素 这样做会导致我失去 div 上方的 30px 我还使用它作为单击的对象
  • 父级嵌入框阴影与子级 div 重叠

    我遇到一个问题 子级 div 与父级框阴影底部重叠 父级有一个 max height w overflow y 滚动 任何帮助都会很棒 https i stack imgur com jQe0r png https i stack imgu
  • 水平滚动条仅出现在页面底部

    我有一个具有以下 HTML 结构的页面 div class wrapper div The wrapper被设置为min width 1100px至于原因我就不多说了 因此 当浏览器大小调整为小于 1100px 时 我希望出现水平滚动条 我
  • 具有有限行数和字符数限制的文本区域

    我需要具有 TextArea 的功能 1 maximum total lines 6 and 2 in each line there must be maximum of 16 chars 3 if user enters 17th ch
  • ckeditor 字体样式 13 px

    我之前曾问过相关问题 但在尝试了所有发生错误的可能性之后 我发现 在ckeditor中 如果您复制一些文本并粘贴它 它默认粘贴为 p style font size 13px 示例图片 HTML CODE p div p Original
  • 双弧形

    我目前正在尝试生成 波浪形幽灵底部 形状 该形状包含两条双曲线 虽然底部的部分这个图片 http images clipartpanda com ghost clip art castle ghost clipart1 jpg我认为以更好的
  • CSS Overflow 属性在 iPad 中不起作用

    我正在为 iPad 设计一些 html 页面 在尝试像 yscroll auto 这样的 css 溢出属性时 iPad 中没有出现滚动条 内容也没有滚动 我在 ipad 模拟器和设备中尝试过 有没有其他方法可以实现这个属性 请帮帮我 提前致
  • jQuery .val() 返回单选按钮的未定义

    我正在尝试获取 jQuery 中选中的单选按钮值 但它返回的值是 未定义 我搜索了这个问题的解决方案 但对我来说没有任何作用 我的 HTML 代码
  • PHP函数返回值到html标签

    我想获取函数的返回值并将其显示到特定的id 在我的 Class php 中 我有一个名为 login 的函数 用于验证密码是否正确 不正确
  • 响应式网格布局框架[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何从顺序键盘导航中删除 Vuetify 附加图标

    在带有 Vuetify 的 Vue js 应用程序中 我有一组用v text field并且其中有一个append icon为了切换文本可见性 如下所示
  • 如何滚动到div内的元素?

    我有一个滚动的div我想在点击它时发生一个事件 它会强制执行此操作div滚动以查看内部元素 我写的JavasCript是这样的 document getElementById chr scrollIntoView true 但这会在滚动时滚
  • 电话号码上未拾取结构化数据

    我在网站上有以下代码片段 当我通过 Google 结构化数据测试工具运行此程序时 它不会获取电话号码 我不确定我哪里错了 div class telephone number p Call Us a href 07749 918 143 a
  • gwt 中的垂直居中

    如何使用垂直面板在 gwt 中垂直居中 或者请告诉我有什么方法可以进行垂直居中 如果你想直接使用VerticalPanel从代码中 您需要使用setVerticalAlignment HasVerticalAlignment ALIGN M
  • 位置:绝对在边框半径内且溢出:隐藏

    我遇到了问题border radius在webkit浏览器中找到了解决方案 网址如下 如何在 Chrome Opera 中使 CSS3 圆角隐藏溢出 https stackoverflow com questions 5736503 how
  • span 和 iframe 正文中的宽度(以像素为单位)

    我需要知道 a 的宽度 nbsp 以像素为单位 以及是否取决于字体大小 另外 页面中不同元素的情况是否有所不同 还有 就是 nbsp 与常规不同 目的 nbsp 不间断空格 位于正常空格之上是为了防止单词之间出现换行 您可以使用多个 nbs

随机推荐