2011-09-24 8 views
102

すべてのh1..h6要素をページにターゲティングしたいと思います。私はあなたがこのようにすることができることを知っています...CSSターゲットすべてのHタグ

h1, h2, h3, h4, h5, h6 { 
    font-size: 1.2em; 
} 

これはCSS3またはCSS4を使用して達成できますか?例:

[att^=h] { 
    font-size: 1.2em; 
} 

CSS3または4ではできない場合は、いくつかの創造的な選択肢はありますか?

+0

+1これも本当に好きです。入力[type = text]のみを選択しようとすると、入力[type = email]などの長いリストが表示されます。 –

+5

これは、h1 a:hover、h2 a:hoverを選択するとますます面倒になります。 h3 a:ホバー、h4 a:ホバー、... ' – Vortico

答えて

76

いいえ、カンマで区切られたリストは、この場合に必要なものです。

+1

ありがとうございました。残念なことに、簡単なショートカットはありません。カンマで区切ってリストに載せると思います。ちょうど私が何か明白なものを見逃していたかどうか疑問に思った... – SparrwHawk

+0

事実であることは想像力を刺激し、創造性を喚起することはほとんどありません。 –

34

それは基本的なCSSのではないのですが、あなたは(http://lesscss.org)LESSを使用している場合、あなたはこの使用して再帰を行うことができます。

.hClass (@index) when (@index > 0) { 
    [email protected]{index} { 
     font: 32px/42px trajan-pro-1,trajan-pro-2; 
    } 
    .hClass(@index - 1); 
} 
.hClass(6); 

サス(http://sass-lang.com)あなたがこれを管理できるようになりますが、許可されません再帰;

@for $index from 1 through 6 { 
    h#{$index}{ 
    font: 32px/42px trajan-pro-1,trajan-pro-2; 
    } 
} 

あなたがLESSやSassのようなCSSにコンパイル動的言語を使用していない場合は、あなたは間違いなく、これらのオプションのいずれかをチェックアウトする必要があります:彼らは、これらのインスタンスの@for構文を持っています。彼らはCSS開発をより単純化し、よりダイナミックにすることができます。あなたはSASSを使用している場合

+2

+1以下。 lessは非常に強力です – Vnge

+0

スタイルはパラメータでもあり、フォント以外のものにも使えるので、D –

+0

は素晴らしいでしょう。手動でh1、h2、h3のようなCSSのforループを作成するよりも、時間と空間が少なくて済みます。 –

25

あなたもこのミックスインを使用することができます。

@include headings { 
    font: 32px/42px trajan-pro-1, trajan-pro-2; 
} 

編集:これを行うための私の個人的な好みの方法

@mixin headings { 
    h1, h2, h3, 
    h4, h5, h6 { 
     @content; 
    } 
} 

はそうのようにそれを使用します各見出し要素上のプレースホルダセレクタをオプションで拡張することによって、

h1, h2, h3, 
h4, h5, h6 { 
    @extend %headings !optional; 
} 

私は、たとえば、任意の単一のクラスを標的とするようにその後、私はすべての見出しをターゲットにすることができます:私たちは事前にプロセッサの話をしているので、コンパスは、このスナップになり

.element > %headings { 
    color: red; 
} 
+2

今私はこのプロジェクトのためにSASSを選びました。:P – Bill

+0

SCSSからSCSS +コンパスまでは非常に小さなステップです:http://compass-style.org/reference/compass/helpers/selectors/ - 見出し$ from、$ to) – Imperative

+0

うわー、この2年後に来て、編集が金色に見える!私はもちろん、 '!optional'フラグの目的を理解しているのでしょうか?そして、Googleで何かを見つけることができない... – Bill

1

h1..h6要素の祖先のパターンのためのバニラCSSの表情でこれに取り組むには:

<section class="row"> 
    <header> 
    <h1>AMD RX Series</h1> 
    <small>These come in different brands and types</small> 
    </header> 
</header> 

<div class="row"> 
    <h3>Sapphire RX460 OC 2/4GB</h3> 
    <small>Available in 2GB and 4GB models</small> 
</div> 

あなたの場合パターンを見つけることができるあなたが望むものをターゲットとするセレクタを書くことができるかもしれません。:has()のような将来の高度な擬似クラスセレクタで

.row :first-child:not(header) { /* ... */ } 

、および:そうのように、すべての最新ブラウザでは、利用可能なすべてのh1..h6要素がCSS3から:first-child:not擬似クラスを組み合わせることにより、標的とすることができる上記の例を考えます(~)は、Web標準が時間の経過とともに進化し続けるにつれて、さらに制御を提供します。

関連する問題