CSS选择除h1之外的所有元素

时间:2013-05-27 08:48:15

标签: css

是否可以使用这样的CSS:

CSS:

#right div.item-page, #right .newsflashlatest_news {
    padding: 0 133px 0 50px;
    text-align: justify;
}

#right .item-page h1, #right .newsflashlatest_news h1 {
    padding: 0 !important;
}

#right {
    float: left;
    width: 755px;
}

HTML:

<div id="right">
fsfds

<div class="item-page" style="background: blue;">
<h1>Home</h1>
<p>Pri iisque malorum ei, est te suavitate mediocritatem, facer molestie explicari vix ne. </p>
</div>
</div>

我需要将上述规则应用于div.itemp-page中除h1元素之外的所有元素。基本上这意味着除了h1元素之外,所有元素都将具有填充。

简单地添加“#right div.item-page h1”对我的情况不起作用(见这里:http://jsfiddle.net/Pr47M/

9 个答案:

答案 0 :(得分:3)

为什么不写 -

#right div.item-page {
     padding: 0 133px 0 50px;  
     text-align:justify;
}
#right div.item-page h1 {
     padding: 0px;  
     text-align:left;
}

答案 1 :(得分:3)

你可以做这样的事情

#right div.item-page {
     padding: 0 133px 0 50px;  
     text-align:justify;
}
#right div.item-page h1 {
     padding: 0;  
     text-align:left;
}

或者您也可以这样做

#right div.item-page *:not(h1) {
     padding: 0 133px 0 50px;  
     text-align:justify;
}

答案 2 :(得分:3)

说真的,这个答案很多,而不是这个答案......?

#right div.item-page *:not(h1) {
     padding: 0 133px 0 50px;  
     text-align:justify;
}

完全回答了您的问题,但您永远不会使用*选择器,这是一种非常糟糕的性能和可维护性实践。相反,你应该自己正确地设置元素的样式,并避免过于通用的样式。

答案 3 :(得分:3)

根据你的jsfiddle用以下代码改变css ......

#right div.item-page *:not(h1), #right .newsflashlatest_news *:not(h1) {
   padding: 0 133px 0 50px;
   text-align: justify;
}

#right .item-page h1, #right .newsflashlatest_news h1 {
   padding: 0 !important;
}

#right {
   float: left;
   width: 755px;
}

问题解决了。 :)

答案 4 :(得分:1)

试试这个:

#right div.item-page {
     padding: 0 133px 0 50px;  
     text-align:justify;
}
#right div.item-page h1
{
padding:0px;
}

没有特定的CSS选择器可以将特定元素排除在外。您必须手动添加它。标记和类指定的任何元素都会自动覆盖一个类。阅读有关CSS类here的更多信息。

答案 5 :(得分:1)

试试这个

#right div.item-page *{
    padding-bottom:20px;    
}
#right div.item-page h1{
    padding-bottom:0;   
}

'*'表示div中的所有元素

答案 6 :(得分:0)

你能不能只做像

这样的事情
#right div.item-page h1{
  padding: 0px;    
}

答案 7 :(得分:0)

只需使用你的课程,但在底部添加:

#right div.item-page h1 {
 padding: 0;  
 text-align:whatever-you-need;

}

答案 8 :(得分:0)

没有css选择器从选择中排除特定元素。 所以你可以使用你的选择器,但你必须添加即。

#right div.item-page {
     padding: 0 133px 0 50px;  
     text-align:justify;
}
#right div.item-page h1{
padding: 0;
}