我在哪里遇到CSS选择器?

时间:2013-05-30 16:21:49

标签: css

我读过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中的拼写错误,在尝试将其写出来时拼写错误。

3 个答案:

答案 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#charactershttp://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属性拼写错误