4

是否可以使用 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.item-page 中除 h1 元素之外的所有元素。基本上这意味着除了 h1 元素之外的所有元素都会有填充。

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

4

9 回答 9

4

根据您的 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;
}

问题解决了。:)

于 2013-05-27T09:22:00.603 回答
4

你可以做这样的事情

#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;
}
于 2013-05-27T08:53:07.793 回答
3

为什么不直接写——

#right div.item-page {
     padding: 0 133px 0 50px;  
     text-align:justify;
}
#right div.item-page h1 {
     padding: 0px;  
     text-align:left;
}
于 2013-05-27T08:52:15.037 回答
3

说真的,有这么多答案,而不是这个……?

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

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

于 2013-05-27T08:55:11.140 回答
1

尝试这个:

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

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

于 2013-05-27T08:52:23.057 回答
1

尝试这个

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

'*' 代表 div 内的所有元素

于 2013-05-27T08:52:44.413 回答
0

没有将特定元素排除在选择之外的 css 选择器。所以你可以使用你的选择器,但你必须添加 ie

#right div.item-page {
     padding: 0 133px 0 50px;  
     text-align:justify;
}
#right div.item-page h1{
padding: 0;
}
于 2013-05-27T08:52:10.000 回答
0

你能不能只做类似的事情

#right div.item-page h1{
  padding: 0px;    
}
于 2013-05-27T08:50:45.487 回答
0

只需使用您的课程,但还要在底部添加:

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

}

于 2013-05-27T08:51:17.627 回答