我读过the question about combining the class and ID in the CSS selector但它不适合我,我不知道我哪里出错了。
我有以下一组div:
<div id="maincontent" class="2col clearfix">
<div id="leftcolumn">content</div>
</div>
以及我的css中的以下内容:
#maincontent.2col {
width: 840px;
margin: 0px auto;
text-align: center;
}
#maincontent.2col #leftcolumn {
float: left;
width: 490px;
margin: 0 10px 0 0;
/*border: 1px solid #000;*/
text-align: left;
}
然而,当我使用firebug时,#leftcolumn
div没有发生任何事情。
如果我从两者中移除.2col
,它就像我期望的那样工作,但是我希望在那里有2col类,因为我将有一个3列布局而且我不喜欢我想拥有多个样式表。有什么想法吗?
编辑:道歉,这不是我的HTML中的拼写错误,在尝试将其写出来时拼写错误。
答案 0 :(得分:6)
您的课程不能以数字开头。
CSS 2.1:
在CSS中,标识符(包括元素名称,类和ID) 选择器)只能包含字符[a-zA-Z0-9]和ISO 10646 字符U + 00A0和更高,加上连字符( - )和下划线 (_); 他们不能以数字,两个连字符或后面的连字符开头 一个数字。标识符还可以包含转义字符和任何字符 ISO 10646字符作为数字代码(参见下一项)。例如, 标识符“B&amp; W?”可以写成“B \&amp; W \?”或“B \ 26 W \ 3F”。
CSS 3:
在CSS3中,标识符(包括元素名称,类和ID) 选择器(见[SELECT] [或这仍然是]))只能包含 字符[A-Za-z0-9]和ISO 10646字符161和更高,加上 连字符( - )和下划线(_); 他们不能以数字开头 或连字符后跟数字。他们还可以包含转义 字符和任何ISO 10646字符作为数字代码(请参阅下一个 项目)。例如,标识符“B&amp; W?”可以写成“B \&amp; W \?” 或“B \ 26 W \ 3F”。 (参见[UNICODE310]和[ISO10646]。)
请参阅http://www.w3.org/TR/CSS21/syndata.html#characters,http://www.w3.org/TR/css3-syntax/#characters以及Which characters are valid in CSS class names/selectors?
答案 1 :(得分:3)
您拼错了类属性
<div id="maincontent" class="2col clearfix">
<div id="leftcolumn">content</div>
</div>
#maincontent.2col {
width: 840px;
margin: 0px auto;
text-align: center;
}
#maincontent.2col #leftcolumn {
float: left;
width: 490px;
margin: 0 10px 0 0;
/*border: 1px solid #000;*/
text-align: left;
}
你不能用CSS中的数字开始一个类名 - 你的选择器在你改变它之后才会起作用。
来自2.1规范:
在CSS中,标识符(包括选择器中的元素名称,类和ID)只能包含字符[a-zA-Z0-9]和ISO 10646字符U + 00A0及更高,加上连字符( - )和下划线(_);它们不能以数字,两个连字符或连字符后跟数字开头。标识符还可以包含转义字符和任何ISO 10646字符作为数字代码(请参阅下一项)。例如,标识符“B&amp; W?”可以写成“B \&amp; W \?”或“B \ 26 W \ 3F”。
答案 2 :(得分:-1)
class
属性拼写错误