我要死了。本周第二次发生这种情况,但我不知道我是如何第一次修复它。
我完全无助和愤怒。首先,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。它与它无关!
答案 0 :(得分:4)
.logo
是一个a
,它是一个内联元素,不接受width
和height
。
将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才能让你尊重它们。