【发布时间】:2019-07-28 01:23:21
【问题描述】:
上下文是我需要使用从我不想更改的框架构建的选择元素(分别来自jQWidgets 的 jqxComboBox 和 jqxDropDownList),并使用它们的内置占位符。
jqxComboBox 使用属性placeholder="my text" 为它创建一个内部input,因此它在依赖于浏览器的占位符灰色中正确设置样式。
然而 jqxDropDownList 创建了一个内部span,其属性为unselectable="on",默认情况下出现在页面的字体颜色中。
我想相应地设置 jqxDropDownList 的样式,但是灰色会随着浏览器的变化而变化。是否有一种一致的方式来获取使用浏览器的占位符颜色,而不必为每个人声明不同的规则?
示例:这种灰色在 Firefox 上很合适,但在 Chrome 上却不行(这里的差异可能看起来很小,但我们的 CSS 强调了它)。
body {
font-weight: bold;
}
input { /*just for the example*/
width: 100%;
}
input::placeholder { /*just for the example*/
font-weight: bold !important;
}
span[unselectable="on"] {
color: #777777 !important;
}
<input style=type="textarea" placeholder="native browser placeholder color"><br>
<span unselectable="on">testing placeholder color emulation</span><br>
<span>what I have currently in my jqxDropDownList</span>
编辑:通过覆盖this post's accepted answer 之后的所有浏览器的占位符颜色部分解决了我的问题,但为了纯粹的知识仍然感兴趣..
【问题讨论】:
标签: css cross-browser placeholder