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.itemp-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 *:not(h1) {
     padding: 0 133px 0 50px;  
     text-align:justify;
}

これはあなたの質問に正確に答えますが、パフォーマンスと保守性にとって非常に悪い習慣であるセレクターを決して使用しないでください。*代わりに、要素を独自に正しくスタイル設定し、過度に一般的なスタイル設定を避ける必要があります。

于 2013-05-27T08:55:11.140 に答える
1

これを試して

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

'*' は div 内のすべての要素を表します

于 2013-05-27T08:52:44.413 に答える