CSSでリンクの文字と下線の間隔(スペース)を空ける方法
Tag:[]
CSSでリンクの文字と下線の間隔(スペース)を空ける方法を紹介します。ビギナー向けの内容です。
変更前
変更後
1.リンクの文字と下線の間隔を空ける
リンクの文字と下線の間隔を空けるには、CSSの罫線(borderプロパティ)を擬似的に利用することで実現します。
具体的には、以下のようなCSSを設定します。a要素にclass属性「foo」を設定し、CSSにクラスセレクタ「.foo」を追加します。
HTML
<a class="foo" href="...">テストです</a>
CSS
.foo {
text-decoration: none;
border-bottom: 1px solid blue;
padding-bottom: 2px;
}
実際に設定する場合、class属性値は「foo」ではなく、意味のある適切な名称を設定してください。
2.プロパティの説明
1項で利用しているCSSの各プロパティについて、ざっと説明します。
text-decoration: none;
text-decorationプロパティに「none」を指定することで、デフォルトで表示されているリンクの下線を非表示にします。
border-bottom: 1px solid blue;
border-bottomプロパティで罫線(下線)を描画します。borderプロパティは罫線を表示するためのものですが、擬似的に下線として利用します。
padding-bottom: 2px;
padding-bottomプロパティで、罫線(下線)と文字の距離を指定します。
なお、リンクを文中に表示している場合にpadding-bottomプロパティで罫線を表示しても、全体のレイアウトは崩れないと思います(下)。
3.マウスをポイントしたときだけ罫線を表示する
1項では常に下線を表示します。マウスをポイントしたときだけ(リンクの文字と下線の間隔を空けて)罫線を表示するには、CSSを次のように設定してください。
.foo {
text-decoration: none;
}
.foo:hover {
border-bottom: 1px solid blue;
padding-bottom: 2px;
}
.foo:active {
border-bottom: 1px solid #ff0000;
padding-bottom: 2px;
}
.foo:visited {
border-bottom: 1px solid #800080;
padding-bottom: 2px;
}
最初の「.foo」はリンク全体の装飾で、「text-decoration: none;」とすることで下線を非表示にします。
「.foo:hover」はマウスでリンクをポイントしたときの装飾を指定します。
「.foo:active」はリンクをクリックしたときの装飾を指定します。
「.foo:visited」は訪問済みリンクの装飾を指定します。
上記のサンプルではテキストリンクの配色(colorプロパティ)は指定していませんが、ブラウザによって微妙に異なるみたいなので、できれば指定した方がいいでしょう。
以上です。認識誤りや「こうした方がいい」といった点がありましたらご指摘ください。
- YouTube動画にキャプションをつけてテキストを回り込ませる方法
- 画像を下揃えにしてテキストを回り込ませる方法
- style要素にCSSの擬似要素は記述可能か?
- position:relativeを設定すると他の要素がずれる場合の対処
- CSSでタブ切り替えする方法
- :target擬似クラスのまとめ
- CSSでヘッダを固定したスクロールテーブルを作る方法
- レスポンシブウェブデザインで画像を縮小する方法
- disabledなボタンのhoverのスタイルを無効にする方法
- HTML要素を別の要素を基点にしてCSSで絶対配置する方法
- :not擬似クラスでCSS3のサポートをチェックする方法
- :checked擬似クラスでチェックボックスに連動して要素を表示させる方法
- ol要素の入れ子で親の番号を子に割り当てる方法
- チェックボックスやラジオボタンを大きくする方法
- CSSで中央に配置する方法