プロパティには、親要素に指定した値が子要素に継承されるものと継承されないものがあります。
継承されるものには文字色や文字サイズに関するプロパティなどがありますが、
例えば、以下のように文字色を指定した場合、子要素に文字色を指定しなくても親要素で指定した色が継承して適用されます。
div.sample1 {color:blue;}
<!–子要素のp要素にも値が継承される–>
<div class=”sample1″>
ここの文字色は青です。
<p>ここの文字色も青くなります。</p>
</div>
ここの文字色も青くなります。
一方、ボーダー・マージン・パディング・背景画像など、値が継承されないプロパティもあります。
例えば、以下のようにボーダーを指定した場合、<div>要素全体はボーダーで囲まれますが、その子要素には継承されません。
div.sample2 {border:1px solid #000000;}
<!–子要素のp要素には値が継承されない–>
<div class=”sample2″>
ここはボーダーで囲まれます。
<p>ここはボーダーで囲まれません。</p>
</div>
ここはボーダーで囲まれません。
ほぼすべてのプロパティには、親要素の値を強制的に継承するinheritという値を指定することができます。
この値を指定することで、通常は値を継承しないボーダー・マージン・パディング・背景画像などのプロパティも値を継承するようになります。
尚、Internet Explorer7以前は、inheritの指定をサポートしていないので注意してください。Internet Explorer8ではサポートされています。
div.sample3 {border:1px solid #000000;}
p.sample4 {border:inherit;}
<!–通常は継承されないボーダーの値がp要素にも継承される–>
<div class=”sample3″>
ここはボーダーで囲まれます。
<p class=”sample4″>親要素の値が継承されて、ここもボーダーで囲まれます。</p>
</div>
親要素の値が継承されて、ここもボーダーで囲まれます。
親要素から子要素へ文字サイズなどの値が継承される場合、
pt・pxなどの単位の場合にはそのままの値が継承されますが、
他の要素サイズとの関係で算出される%・em・exなどの相対的な単位の場合には、
親要素と子要素の値を掛け合わせた結果の値が継承されます。
例えば、以下のように親要素と子要素のそれぞれに文字サイズ90%を指定した場合、
子要素である<p>要素の文字サイズは90%ではなく、90%×90%=81%となります。
div.sample5 {font-size:90%;}
p.sample6 {font-size:90%;}
<!–親要素と子要素の値を掛け合わせた結果の値が子要素に適用される–>
<div class=”sample5″ >
ここの文字サイズは90%です。
<p class=”sample6″>ここの文字サイズは90%×90%=81%となります。</p>
</div>
ここの文字サイズは90%×90%=81%となります。
<前へ | 記事一覧へ | 次へ> |