CSSとは?CSSの書き方と設定方法

ホームページでよく聞くCSSとは?
CSSファイルの作り方からセレクタ、プロパティと値を設定し、HTMLと連携して表示するまで説明しております。
CSSとは?
CSSとはWebページに表示される文字の色やサイズを大きくしたりすることができる言語です。
Cascading Style Sheets(カスケーディング・スタイル・シート)の頭文字をとった略称がCSSです。
HTMLで記載するタグにclassまたはidをつけることでCSSのセレクタが呼び出されプロパティに設定した値が反映されます。
CSSサンプル
- 黒の文字です。
- <!-- HTML側 -->
- <li>黒の文字です。</li>
- 赤の文字です。
- <!-- HTML側 -->
- <li><span class="red_sd"赤の文字</span>です。</li>
- <!-- CSS側 -->
- .red_sd{
- color: red;
- }
CSSファイルの作り方
ここではCSSファイルの作り方をご説明します。
新規作成からテキストファイルを選択し、テキストファイルの名前を変更して下さい。名前は「style.css」で大丈夫です。
拡張子が変更できない場合は拡張子の設定をご覧ください。
そしてCSSファイルを開いて以下のソースコードを入力して下さい。
- <!-- CSS側 -->
- .red_sd{
- color: red;
- }
入力ができたらHTMLとCSSの連携をします。
HTMLとCSSの連携方法
HTMLとCSSの連携方法は主に3種類あります。
- HTMLからCSSを読み込む方法
- HTMLのタグ内に直接CSSを書く方法
- HTMLにCSSをインライン化しjavascriptで残りのCSSを読み込む
一般的にCSSを読み込むといったら「HTMLからCSSを読み込む方法」です。
しかし今現在読み込み速度が重要となりgoogleが提供している「PageSpeed Insights」でもCSSを改善してくださいと表示されてしまいます。
ではどうしたら読み込み速度があがり、「PageSpeed Insights」のCSSを改善できるのかというとHTMLにCSSをインライン化しjavascriptで残りのCSSを読み込む方法です。
CSSを圧縮してインライン化するのですからCSSを読み込む時間も短縮されますし、アイコンを使うCSS「fontawesome」などは後から読み込んでも支障がない為javascriptで読み込むことによって読み込み速度の改善ができます。
少し技術が必要となりますがユーザに優しく検索エンジンに好まれやすいCSSの書き方です。
HTMLからCSSを読み込む方法
- <!-- HTMLのheadタグ内 -->
- <link rel="stylesheet" type="text/css" href="style.css">
HTMLのタグ内に直接CSSを書く方法
- <!-- HTMLのタグ内 -->
- <p class="red_sd">赤の文字</p>
HTMLにCSSをインライン化しjavascriptで残りのCSSを読み込む
インライン化
- <!-- HTMLの</head>タグの上に記載 -->
- <style type="text/css">ここに圧縮したCSSが入る</style>
- </head>
javascriptで残りのCSSを読み込む
- <!-- HTMLの</body>タグの上に記載 -->
- <script>
- var link = document.createElement('link');
- link.href = 'https://use.fontawesome.com/releases/v5.0.6/css/all.css';
- link.rel = 'stylesheet';
- link.type = 'text/css';
- var head = document.getElementsByTagName('head')[0];
- head.appendChild(link);
- </script>
- </body>
セレクタについて
CSSのセレクタとはHTMLで指定したclass名やid名です。下記のソースコードの場合「red_sd」をセレクタと呼びます。
classセレクタの場合「.」セレクタ名となります。
- <!-- HTML側 -->
- <li><span class="red_sd"赤の文字</span>です。</li>
- <!-- CSS側 -->
- .red_sd{
- color: red;
- }
idセレクタとclassセレクタについて
HTMLでCSSを読み込む場合idとclassによる読み込み方法があります。
idとは必ず1ページに1度しか使えないがレンダリング速度が速いことが特徴です。
classは1ページで何回でも使うことができます。idセレクタに比べるとレンダリング速度が遅いことが特徴です。
しかし体感的にその速度は感じるものではないので必ず1ページに1度しか使わないheaderやfooterなどで使う程度でよいです。
idセレクタの場合「#」セレクタ名となります。
- <!-- HTML側 -->
- <div id="header">
- <!-- CSS側 -->
- #header{
- position: relative;
- }
プロパティと値の説明
CSSのプロパティとはセレクタ内にある「color」を指します。
CSSの値とはセレクタ内にある「red」を指します。
プロパティ(color)に対して値(red)で表示しなさいと命令しています。
- <!-- CSS側 -->
- .red_sd{
- color: red;
- }
まとめ
CSSについて説明してきましたがHTMLだけでは見栄えが悪い問題点を解決できるメリットがあります。
文字や枠を入れたい時にはHTMLタグにclass名を指定し、CSSにセレクタを作りプロパティに対して値はどうするか?という流れを掴むことで色々な応用が効きます。