CSS:无法在标题中选择元素?

时间:2011-08-11 17:30:15

标签: html css css-selectors

我要死了。本周第二次发生这种情况,但我不知道我是如何第一次修复它。

我完全无助和愤怒。首先,w3c验证器说没有错误。我的CSS SASS框架说没有错误,我只是没有错误。

这就是我所拥有的,整个页面都成功设置了样式......

<body>

<div id="doc">

    <header>

        <div class="inner">

            <div id="branding">
                <a class="logo" href="#">Jihaa</a>
            </div>

...突然......我无法选择#branding ARRRRGGGG内的.logo。

#branding .logo {
    width: 200px;
    height: 70px;
    background: red;
}

这应该做正确的工作,但没有。

这个header #branding .inner .logo {或其他任何可能的组合都没有。

为什么呢?我完全无助。我的所有浏览器中都没有检查工具选择适当的css。它与它无关!

5 个答案:

答案 0 :(得分:4)

.logo是一个a,它是一个内联元素,不接受widthheight

display:inline-block;添加到样式中,它应该可以正常工作。

#branding .logo {
    width: 200px;
    height: 70px;
    background: red;
    display:inline-block;
}

修改

要解决下面@jackJoe的评论。

如果您需要支持IE6或7,您可以在规则的底部添加以下内容:

zoom:1; 
*display: inline; 
_height: 12px;  //or whatever you need

答案 1 :(得分:1)

我认为你不能为锚点设置宽度或高度,因为它是一个内联元素。

使用Jason Gennaro上面提到的{display:inline-block;}。

答案 2 :(得分:1)

在这种情况下,如果您想使用这些属性设置a的样式,则需要将其显示指定为block

#branding .logo {
    width: 200px;
    height: 70px;
    background: red;
    display: block;
}

答案 3 :(得分:0)

确保您不在页面中的任何其他位置使用相同的ID。

同时尝试从标记中取出徽标类并将其放入div中。

答案 4 :(得分:0)

是什么让你觉得你不能选择它?如果是因为你的.logo类中忽略了你的身高和宽度,那就是因为你需要显示:block .logo才能让你尊重它们。