在Chrome中的选择输入上使用框阴影

Hin*_*dle 14 css css3

我目前正在一个小网站上工作,我已经在网站上的各种元素上使用了盒子阴影效果.它似乎适用于Chrome和Firefox中应用的所有元素,除了selectinput.它适用于Firefox中的这些输入类型,但不适用于Chrome.有什么想法吗?

我已经使用了这个效果box-shadow,-webkit-box-shadow并且-moz-box-shadow支持多种浏览器.

小智 14

这是一个/解决方案:

select {-webkit-appearance: none; appearance: none; }
Run Code Online (Sandbox Code Playgroud)

这允许任何影子CSS应用于Chrome中的SELECT项目 - 但删除任何其他详细信息,如下拉箭头.但只需创建一个小背景img(使用屏幕抓取)来恢复它.

您可以将此CSS包装在CSS过滤器中以仅定位Chrome:例如

@media screen and (-webkit-min-device-pixel-ratio:0) {/* older safari and older chrome */
  select {-webkit-appearance: none; appearance: none; 
}
Run Code Online (Sandbox Code Playgroud)

如果在没有给定宽度的情况下使用SELECTS,请添加"padding-right"CSS以考虑新的背景图标/ img.这对我来说非常有效.

当在一个图像中将图标与下拉箭头组合时,这也适用于HTML5验证图标等.


Ali*_*guy 13

这是一个解决方法:

HTML:

<div><input type="text" /></div>
Run Code Online (Sandbox Code Playgroud)

CSS:

div {
    -webkit-box-shadow: 5px 5px 5px #666;
    -moz-box-shadow: 5px 5px 5px #666;
    box-shadow: 5px 5px 5px #666;
    display:inline-block;
}
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/AlienWebguy/UD2QP/

  • 虽然这有效,但这是为了演示而添加不必要的代码膨胀.只是fyi (3认同)
  • 解决方案仍然适用,使用一致可样式的节点包装不一致的样式节点. (2认同)
  • 选择你的战斗.我认为将逻辑与表示分离的论证是正确的,但这可能更适用于诸如`<i> <small> <span align ="left"width ="400"height ="400"> Foobar </ span > </小> </ i>的` (2认同)

Set*_*eth 8

这是Chrome中的一个缺陷,您应该考虑避免添加其他代码的变通方法.如果你可以等待修复; 等待它.

http://code.google.com/p/chromium/issues/detail?id=96192

该缺陷已被记录,并在撰写本文时被"分配".

  • 铬团队于2013年4月13日修复了这个缺陷.希望它能很快进入Chrome ... (3认同)
  • 目前已在Chrome 28中修复. (2认同)