为什么我们不能将特定于供应商的占位符选择器组合到单个 CSS 规则中?
揭开组合特定于供应商的选择器的谜团
在 CSS 领域内,遇到了跨多个浏览器设置占位符文本样式的难题。为了实现最佳的跨浏览器支持,采用了供应商特定的伪类和伪元素的组合。然而,存在一个令人困惑的困境:为什么不能像其他 CSS 场景中的惯例那样将这些规则合并到一个规则集中?
深入研究 CSS2.1 规范可以揭开答案。它要求将选择器定义为第一个左大括号 ({) 之前的所有内容。当用户代理遇到无法破译的选择器时,它必须忽略选择器和随后的声明块。
这意味着具有某些前缀的浏览器可能无法理解具有其他供应商特定前缀的选择器,导致排除选择器中提及这些无法识别的前缀的规则。因此,尝试将这些规则组合成一个以逗号分隔的规则集,如下所示:
input:-moz-placeholder, input::-moz-placeholder, input:-ms-input-placeholder, input::-webkit-input-placeholder { font-style: italic; text-align: right; }
将被证明是徒劳的。用户代理只会将样式应用于识别的选择器,从而导致跨浏览器的样式不一致。
这个复杂的规则是有目的的。它确保浏览器遵守公认的 CSS 语法,并且只实现它们完全理解的规则。通过强制执行此操作,可以避免由于供应商特定偏差而导致的任何潜在不一致或渲染错误。
以上是为什么我们不能将特定于供应商的占位符选择器组合到单个 CSS 规则中?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

您是否曾经在项目上需要一个倒计时计时器?对于这样的东西,可以自然访问插件,但实际上更多

我关注的一件事是Lea Verou' s conic-Gradient()Polyfill的功能列表是最后一项:
