2024.07.19
ChatGPTにクラス名を付けてもらってみた
- コーディング
CSSには「継承」という概念があることを知っていますか?
今回は、この「継承」に関する便利なプロパティをご紹介したいと思います!
目次
CSSの継承とは、「親要素に指定した値が小要素に引き継がれる」ことです。
See the Pen inherit by spiqa design (@spiqa_design) on CodePen.
上の例では、親要素のdiv.parent
にテキスト色を指定していますが、小要素のp.child
も同じテキストの色になっています。
一方、border
などのプロパティは値が継承されません。
See the Pen inherit by spiqa design (@spiqa_design) on CodePen.
上の例では、border
をCSSで指定している親要素には枠線がついていますが、子要素のp.child
にはborder
がついていません。
CSSが継承されるかどうかはプロパティによって最初から決まっています。
子要素のp.child
にもborder
をつけたい場合、以下のような指定が考えられます。
See the Pen inherit by spiqa design (@spiqa_design) on CodePen.
通常では継承されないCSSを継承したい時に使用するのが「inherit
」です。
先ほどのborder
の例の場合、.child{border:inherit}
という指定ができます。
See the Pen Untitled by spiqa design (@spiqa_design) on CodePen.
p.child
はborder
の指定について、親要素のdiv.parent
の指定をそのまま引き継いでいます。
それでは、inherit
の便利な活用方法をご紹介します。
文章内のリンク(a
タグ)の場合、本文の文章と同じ文字色を指定することがよくありますよね。
基本となる文字色をhtml
やbody
に指定していても、リンク部分はデフォルトの青色になってしまうので、別途指定していることもあると思います。
body{
color:#333;
}
a{
color:#333;
}
この指定の場合、テキスト色が変更になったときに2ヶ所変更しなければならないし、a
タグのcolor
指定変更を忘れてしまう可能性もあります。
body{
color:#333;
}
a{
color:inherit;
}
このようにinherit
を使用すると、body
のテキスト色1ヶ所のみを変更することでリンクのテキスト色も自動的に変更されます。
似た案件をコーディングする時には、CSSを使い回すことも多いので、このように指定しておくことで効率UPにもつながります!
もうひとつおすすめしたいのがfont-family
への指定です。
WEBサイト全体は游ゴシックなのに、フォーム部分はデフォルトのヒラギノになっているというサイトをよく見かけます。
フォームのコーディングでよく使用するselect
やinput
、button
などのfont-family
が指定できていないからです。
こちらもinherit
を使用することで、全体設定を引き継ぐことができます。
body{
font-family:"Noto Sans JP", "ヒラギノ角ゴ Pro W3", sans-serif;
}
select,input,textarea,button{
font-family:inherit;
}
リセットCSSに記述しておくことで、毎回気にすることなくコーディングを進めることができるのでおすすめです。
わかりやすく、修正しやすいコードを書いておくことで全体の効率が上がります!
可能なところから効率化していきたいですよね!ぜひinherit
を活用してみてください。
株式会社スピカデザイン
渋谷のWEB制作会社「スピカデザイン」の現役コーダー達が、WEB制作のヒントになるような情報をお届けします。
© 2020 spiqa design