今回のお題
クライアント
ナビゲーションも文字の下についている、下線はいらないので無くしてください。マウスカーソルを重ねた時に、文字の色が変わって下線が出てくると良いかな。マウスをのせた時の色は何でも良いです。
テキストを<a>タグで囲うと、初期状態では下線が表示されます。
この下線が表示されないようにしましょう。
リンクテキストの下にある線は、CSSのtext-decorationプロパティによって設定されたものです。
検証ツールで見てみましょう。
リンクテキスト、ホームの文字を選択してください。
Styesパネルを見てみると、user agent stylesheet(ブラウザのデフォルトCSS設定)にtext-decorationの指定があります。
プロパティの値はunderline。いかにも下線っぽいですね。
ナビゲーション部分のリンクテキストには下線が表示されないよう、style.cssを使って指定しましょう。
nav a{}の中に、以下のようにスタイル指定を追加してください。
style.css
nav a{
color: rgb(255, 255, 255);
text-decoration: none; /* 追加箇所 */
}
ご要望通り、下線が消えました。
せっかくですので、CSSのtext-decorationプロパティについて見てみましょう。
text-decorationは一括指定プロパティ(ショートハンド)で、以下4つの文字装飾に関するCSSプロパティをまとめて設定することができます。
検証ツールでは、一括指定プロパティだと値の前に▶が表示れます。
▶をクリックすると、まとめられているCSSプロパティと値が確認できます。
設定できる装飾線と種類は以下の表をご確認ください。
CSSプロパティ | プロパティの値 | 表示内容 |
---|---|---|
text-decoration-line | none | テキストに装飾線を加えない |
underline | テキストの各行に下線を引く | |
overline | テキストの各行の上線を引く | |
line-through | テキストの中央を貫く線を引く | |
text-decoration-style | solid | 単独線 | double | 二重線 |
dotted | 点線 | |
dashed | 破線 | |
wavy | 波線 |
text-decoration-thicknessはpxや%などの単位を使って、太さを設定します。
text-decoration-colorは、全レッスンの色指定方法が使用できます。
リンクテキスト以外でも、text-decorationプロパティを使って装飾ができます。
ちょっとしたアクセントに使えそうですね。
<style>
.test1{
text-decoration: underline 5px dotted pink;
}
<style>
<p class="test1">
これはtext-decorationのテストです
</p>
これはtext-decorationのテストです
お題の「マウスカーソルを重ねると文字の色が変わる」は、下の文字のような装飾です。リンク文字やボタンなどで目にしたことのある方も多いのではないでしょうか。
この文字にマウスカーソルを重ねてみてください
このような「マウスカーソルが重なった時」など、特定の状態の時にスタイルを適用させたいときは、CSSの擬似クラスという仕組みを使います。
擬似クラスはスタイルを適用する状態を限定するためのものです。
あらかじめ用意されているキーワードをセレクタに付け加える形で利用します。
このキーワードを擬似クラス、もしくは疑似セレクタと呼びます。
擬似クラスを使用するには、半角コロンとキーワード(擬似クラス)を記述します。
「aタグで囲った部分にマウスカーソルが重なった時」という指定をしたい場合は、以下のように書きます。
擬似クラスには沢山の種類があります。
代表的な擬似クラスを紹介します。
擬似クラス | 適用される状態 |
---|---|
:hover | 要素がマウスホバーされた時 (マウスカーソルが重なった時) |
:active | 要素がアクティブ状態になった時 (aタグの場合は、要素を左クリックしてから離すまで) |
:link | リンク先にユーザーがまだ訪れていない場合 |
:visited | リンク先ページをユーザーが開いたことがある場合 |
:focus | 要素がフォーカスされた時 (inputの入力欄をクリックしたときなど) |
※使用できるCSS擬似クラスの一覧は
>擬似クラス - CSS: カスケーディングスタイルシート | MDNをご確認ください。
今回のお題である、ナビゲーションのリンク文字まわりを設定してみましょう。
クライアントの要望をまとめると、以下3点の設定が必要です。
1つ目のリンクテキストの下線を消す、は既に設定できています。
マウスオーバーされた時のCSSを、擬似クラス:hoverを使って書いてみましょう。
style.css(例)
nav a{
color: rgb(255, 255, 255);
text-decoration: none;
}
/* 今回の追加箇所 - マウスオーバー時の設定 */
nav a:hover{
color: rgb(255, 235, 56);
text-decoration: underline;
}
色は指定されていないので、お好きな色で設定して見てください。
上記CSSの場合は、マウスオーバー時に黄色になります。
text-decorationプロパティでは、線の種類や色も設定できました。
下記のように、:hoverの文字色とは別の色を指定することも可能です。
style.css(例)
nav a:hover{
color: rgb(255, 235, 56);
text-decoration: underline double rgb(255, 255, 255);
}
無料ビデオ講座のお知らせ
Skillhub [スキルハブ]では無料の動画講座を多数公開しています。他校だと数万円するような講座が無料で受講できます。