这有点烦人。似乎 webkit(通过 chrome 13 canary)在设置各种输入类型的样式方面做得很好,并且在很大程度上与设计相冲突。
特别是,这些让我很头疼:
- 选定元素发光(通过轮廓)
- 占位符=文本样式
- 聚焦文本区域和输入字段周围的丑陋光芒
我正在使用样板和modernizr。
input[type=search]
带有占位符的简单元素会覆盖文本样式。
我知道你可以通过
input::-webkit-input-placeholder
但是,这似乎无法设置样式text-shadow
- 这有点废话。有谁知道这是否可能是一个将被修复的错误,或者我是否需要求助于 javascript 占位符解决方案?
搜索输入带有白色背景,并删除了基本 CSS 类中定义的圆角。我找到了一个重置代码:
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
display: none;
}
input[type=search] {
/* the webkit overrides need to stay at the top */
-webkit-appearance: textfield;
-webkit-box-sizing: content-box;
/* your styles here */
}
它有点帮助。
我通过设置来修复表单元素周围的光晕outline: none
。
我想我真正想要的是一个 CSS 重置,它会删除user agent stylesheet
(根据网络检查器)中影响它的任何预定义样式。是否有任何可用的重置可以做到这一点,尽管文档类型是 HTML5,但元素的呈现与 HTML5 之前一样简单,并遵循基本 CSS 中为它们设置的隐式规则?
我不想这么说,但尽管存在内存占用问题和插件运行缓慢,但 FireFox 4 实际上完美地呈现了一切。Webkit 不应该尝试为您设置样式,只需提供一个 API,如果您愿意,您可以这样做...