IE8 CSS选择器选择,但不应用样式

时间:2010-04-16 09:06:41

标签: css internet-explorer internet-explorer-8 css-selectors radio-button

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; }

你可能会猜到它在哪些浏览器中运行,哪一个它不起作用。有趣的是,当我按下F12在IE8中启动优秀的开发人员工具时,它实际上告诉我,单选按钮的样式已被覆盖对'无'就像我要求它做的那样,但是边框仍然留在单选按钮对象上。

我尝试了各种语义的东西,比如将边框宽度设置为0px,或者将颜色设置为像柠檬绿这样疯狂的东西,但它仍然是从第一种样式中获得的最初指定的颜色。

最后,我尝试了样式'文本'对象,在这种情况下,没有样式应用于任何东西。同样,浏览器声称要完成CSS选择,但它在视觉上不会发生。

思想?

顺便说一句,这是一个带有生成代码的DotNetNuke安装,我无法明确设置单选按钮的样式。

谢谢, 丹

6 个答案:

答案 0 :(得分:2)

IE8似乎是在怪异模式下渲染而不是标准模式,它总是在IE中混乱。要切换到标准模式,最简单的方法是用文档替换文档第一行的doctype:

<!DOCTYPE HTML>

您可能还想查看一些正在输出的HTML。您的标识为dnn_dnnMENU_ctldnnMENU的范围包含许多虚构属性,例如BackColorSysImgPathMenuItemHeight等。这些在大多数浏览器中都没有效果(也许IE专门解释它们,我不知道)。

答案 1 :(得分:1)

问题是......

有史以来最有帮助的,请注意,不知何故,您的页面会以怪癖模式呈现,因此有些人应该使用这种模式。

解决方案[编辑]

由于:http://dorward.me.uk/www/ie8/

将您的html 4 doctype设置为:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">

答案 2 :(得分:0)

以防万一,你试过:

input[type='radio'] { border: none; }

注意添加撇号(或者用你的滑稽语言称之为'P)


我查看了网站,你的CSS是正确的,我没有什么可以帮助你的。祝你好运!

答案 3 :(得分:0)

您可以通过在开发人员工具栏中将内联样式属性设置为border: none;来删除边框...因此,由于某种原因,样式未应用于单选按钮,尽管样式已正确跟踪。看起来像是某种错误..你是否已经尝试过提高规则的特殊性(它应该已经高于输入,但只是为了尝试一下)?

例如:

#page input[type=radio] {
   border: none;
}

答案 4 :(得分:0)

CSS已经不可能了(据我所知),但是在这里使用这个Javascript就可以了; Styling checkboxes and radio buttons with CSS and Javascript

答案 5 :(得分:0)

讨厌。尝试将边框颜色指定为白色?