Debugging experience http://www.dmhermitage.org/wtfborders.png这让我想自杀。
我有一些非常简单的 CSS 来设置我的输入对象的样式:
input, button
{
border: 1px solid #c66600;
background-color: white;
color: #7d212f;
font-family: "Eras Light ITC", Tahoma, sans;
}
但我不喜欢它在单选按钮周围放置的丑陋边框,所以我使用选择器来消除边框:
input[type=radio] { border: none; }
您可能会猜到它在哪些浏览器中有效,在哪些浏览器中无效。有趣的是,当我在 IE8 中按 F12 启动优秀的开发人员工具时,它实际上告诉我单选按钮的样式已被覆盖就像我要求的那样设置为“无”,但边框仍保留在单选按钮对象上。
我已经尝试了各种语义化的东西,比如将边框宽度设置为 0px 或将颜色设置为像柠檬绿这样疯狂的东西,但它仍然是从第一种样式获得的最初指定的颜色。
最后,我尝试了仅 样式化“文本”对象,在这种情况下,任何样式都不会应用。同样,浏览器声称会完成 CSS 选择,但在视觉上并没有发生。
想法?
顺便说一下,这是一个带有生成代码的 DotNetNuke 安装,我无法在其中明确设置单选按钮的样式。
谢谢, 丹
最佳答案
IE8 似乎是在怪异模式而不是标准模式下呈现,这总是把 IE 中的一切搞得一团糟。要切换到标准模式,最简单的方法是将文档第一行的文档类型替换为:
<!DOCTYPE HTML>
您可能还想查看一些正在输出的 HTML。您有一个 ID 为 dnn_dnnMENU_ctldnnMENU
的跨度,其中包含许多虚构的属性,例如 BackColor
、SysImgPath
、MenuItemHeight
和很快。这些在大多数浏览器中都不起作用(我不知道,也许 IE 会专门解释它们)。
关于css - IE8 CSS 选择器选择,但不应用样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2651761/