为什么占位符伪元素上的转换属性在 Chrome 中有效?

2024-01-15

我正在闲逛::placeholder当我注意到一些奇怪的事情时,Codepen(Chrome 59.0.3071)上的伪元素。 (请看我的JSFiddle https://jsfiddle.net/4ct6zkaw/)

简而言之,此 CSS 不应启用::placeholder2秒以上的颜色:

input::placeholder {color:red;transition:2s;}
input:hover::placeholder {color:green}

使用 Firefox,悬停时 2 秒间隔内没有颜色过渡(根据本节 https://drafts.csswg.org/css-transitions/#propdef-transitionW3C 规范和本节 https://drafts.csswg.org/css-pseudo-4/#placeholder-pseudo另一个 - 跟随线索到::first-line伪元素),但颜色立即转变为绿色;

然而,使用 Chrome 的同一个 JSFiddledoes show a ::placeholder颜色过渡持续 2 秒,根据规格,这似乎是不正确的。

这是这个版本的 Chrome 中的一个错误(如果是,是否正在解决?)或者这是对我缺乏对 CSS 理解的控诉?


目前看来Gecko和Webkit的实现非常好 相似的。允许的规则集略有不同,并且 默认样式不一样,但这些显然是可以解决的问题。

-- From http://lists.w3.org/Archives/Public/www-style/2013Jan/0283.html http://lists.w3.org/Archives/Public/www-style/2013Jan/0283.html

非标准 此功能是非标准的,并且不在标准中 追踪。不要在面向 Web 的生产站点上使用它:它不会 为每个用户工作。之间也可能存在很大的不兼容性 未来的实现和行为可能会发生变化。

-- From https://developer.mozilla.org/en/docs/Web/CSS/::-moz-placeholder https://developer.mozilla.org/en/docs/Web/CSS/::-moz-placeholder

仅适用于 CSS 属性的子集::first-line伪元素可以在规则中使用::placeholder在其 选择器。

-- From https://developer.mozilla.org/en-US/docs/Web/CSS/::placeholder https://developer.mozilla.org/en-US/docs/Web/CSS/::placeholder

但显然 Chrome 和 Firefox 都没有应用任何转换::first-line,正如通过这个 JSfiddle https://jsfiddle.net/atif_hassan/dvmpno1y/ I made.

另外,当我在网上寻找答案时,我发现transition财产为::placeholder正在使用旧版本的 Firefox 并使用供应商前缀,这只是重新确认规范中的行,

未来的行为可能会改变。

这是 JSfiddle 的代码。

input::-webkit-input-placeholder {
  color: red;
  transition: 2s;
}

input:hover::-webkit-input-placeholder {
  color: green
}

p::first-line {
  color: red;
  transition: 2s;
}

p:hover::first-line {
  color: green
}
<input placeholder="Sup">
<br />

<p style="display:inline-block">This is the first line.</br> Check it out</p>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么占位符伪元素上的转换属性在 Chrome 中有效? 的相关文章

随机推荐

  • 如何以编程方式获取sqlite中所有表的列表

    如何以编程方式获取 sqlite 中所有可用表的列表 尝试这个 SELECT FROM sqlite master where type table
  • IsEnabled 的 WPF 元素数据绑定(但为 false)

    我是 WPF 的初学者 有一些事情我似乎无法弄清楚 我有一个CheckBox我想禁用时RadioButton未选择 我当前的语法是
  • 本地网络上的 Meteor 应用

    我正在学习如何使用 Meteor 如下所示教程 https www meteor com try 我知道 Meteor 自动将应用程序托管到两者localhost和我的 IPv4 地址 在本例中 192 168 1 100 当我访问时192
  • 将联接添加到已有 select_from() 的 SQL Alchemy 表达式

    注意 这是一个关于 SQL Alchemy 表达式语言而不是 ORM 的问题 SQL Alchemy 适合向现有查询添加 WHERE 或 HAVING 子句 q select bmt gene c id select from bmt ge
  • Javascript,为什么被视为八进制

    我将 id 作为参数传递给 JavaScript 函数 因为它来自 UI 所以用零填充 但它似乎有 也许 奇怪 的行为 console log 0000020948 20948 console log 0000022115 9293 whi
  • QTableWidget::itemAt() 返回看似随机的项目

    我刚刚开始使用 Qt 所以请耐心等待 当我使用 QTableWidget gt getItemAt 时 它返回的项目与我使用 currentItemChanged 并单击同一项目时不同 我相信有必要使用 itemAt 因为我需要获取单击的任
  • 首次设置 时 FacesContext#getViewRoot() 返回 null

    我正在尝试更改一页中的 JSF 应用程序区域设置 并且这必须更改我的所有页面区域设置 我已关注此链接 效果很好JSF 中的本地化 如何记住每个会话而不是每个请求 视图选择的区域设置 https stackoverflow com quest
  • 如何在 Java 中读取也具有空值的 Excel 单元格...?

    我正在使用 Apache POI 3 6 我有一个专栏是blank 我希望能够阅读它 然后转到下一栏 即使我能解决NullPointerException问题是我无法到达下一个牢房 这是我的代码片段 HSSFCell cell row ge
  • 从 Java 程序运行 SQL 文件脚本

    我有一组 SQL 文件可以转换我的原始数据集 目前 我打开每个文件并执行它 如何执行 Java 程序中的每个文件 目标是使这个过程更加自动化 我想做类似的事情SqlScript execute myScript sql NOTE这些 SQL
  • 为什么我们不能在堆栈上分配动态内存?

    在堆栈上分配内容非常棒 因为我们有 RAII 并且不必担心内存泄漏等问题 然而有时我们必须在堆上分配 如果数据真的很大 推荐 因为堆栈很小 如果要分配的数据的大小仅在运行时才知道 动态分配 两个问题 为什么我们不能分配动态内存 即大小为 仅
  • 节点 process.env 变量为空

    我正在构建我的第一个 Express 应用程序 它需要使用理想情况下保持安全的 API 密钥与 API 进行交互 所以我想遵循一个基本模式 将密钥 以及任何未来的环境变量 保存在一个 gitignored env根目录下的文件 为了不重新发
  • 如何绘制 (x,y,z)

    Is there anyway to plot x from x textbox y from y textbox and z from z textbox in vb form It is windows application I ha
  • 将文件名读入数组

    我想获取文件列表 然后将结果读入一个数组 其中每个数组元素对应一个文件名 这可能吗 不要使用ls it s 不打算 https mywiki wooledge org ParsingLs以此目的 使用通配符 shopt s nullglob
  • 如何使用findText不区分大小写?

    我尝试在 Google 文档中搜索字符串 默认情况下findText区分大小写 我该如何使用它不区分大小写 该参考文献称 使用正则表达式在元素内容中搜索指定的文本模式 这就是我尝试过的 function search string var
  • MongoDB C++,如何在插入时添加 ISODate 值

    这是关于新的 MongoDB C 驱动程序 不是旧版驱动程序 我可以这样插入文档 value Value document lt lt Key lt lt Value lt
  • .NET 中的字符串转换

    为什么 net中有这么多方法可以转换为字符串 我见过的方法是 ToString Convert ToString 和 string 有什么不同 Convert ToString obj 将指定值转换为其等效的字符串表示形式 将返回Strin
  • 调整 GC 以进行大型缓存刷新

    我的内存中有一个很大的缓存 使用com google common cache LoadingCache 使用 Scheduler 会在 10 分钟后刷新 如下所示 ScheduledExecutorService refresher Ex
  • Mac OS X 10.9 - 设置永久环境变量

    如何在 Mac OS X 10 9 中设置永久环境变量 即每次启动新终端会话时不需要导出的环境变量 我找到了许多关于修改我的答案 bash profile and profile然而 这两种选择似乎都不是永久的解决方案 只是暂时的 我试图设
  • 我应该将 SQL 查询放在 Rails 中的哪里?

    我应该在 Rails 中的什么位置放置 SQL 查询的最佳实践是什么 我是否应该在模型中创建方法 例如 find all public items 其中我在所有条件下使用查找方法 然后在控制器中使用它们 就像这样 我将所有查询都放在一个地方
  • 为什么占位符伪元素上的转换属性在 Chrome 中有效?

    我正在闲逛 placeholder当我注意到一些奇怪的事情时 Codepen Chrome 59 0 3071 上的伪元素 请看我的JSFiddle https jsfiddle net 4ct6zkaw 简而言之 此 CSS 不应启用 p