疑似要素 下線 中央

CSSでリンクの下線を中央揃えにする

CSSでリンクの下線を中央揃えにする

この記事では、CSSの疑似要素を使用して、リンクテキストの下線を水平方向と垂直方向に中央揃えにする方法について説明します。

従来の方法の欠点

text-decoration プロパティを使用して下線を引く従来の方法には、次のような欠点があります。

  • 下線のスタイルを柔軟に制御できない
  • 水平方向と垂直方向に中央揃えにするのが難しい

疑似要素で下線を実現する

::before または ::after 疑似要素を使用して下線を作成し、疑似要素のスタイルを設定することで、下線のカスタム効果を実現できます。

プロパティ 説明
width 下線の幅を指定します。
height 下線の高さを指定します。
background-color 下線の背景色を指定します。
position 下線の位置を指定します。
bottom 下端からの距離を指定します。
left 左端からの距離を指定します。
margin 余白を指定します。

下線を水平垂直方向に中央揃えにする

疑似要素の positionwidthheightbordermargin などのプロパティを設定することで、下線をテキスト領域内で水平方向と垂直方向に中央揃えにすることができます。

コード例


<style>
a {
  text-decoration: none;
  position: relative;
}

a::before {
  content: "";
  position: absolute;
  bottom: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: blue;
  transform: translateY(50%);
}
</style>

<a href="#">リンクテキスト</a>

よくある質問

Q1: なぜ疑似要素を使うのですか?

A1: 疑似要素を使うことで、HTMLの構造を変更することなく、要素の前後にコンテンツを追加することができます。これにより、下線を表現するための専用の要素を追加する必要がなくなり、HTMLの構造をシンプルに保つことができます。

Q2: transform: translateY(50%); はどのような働きをするのですか?

A2: transform: translateY(50%); は、要素を垂直方向に、要素自身の高さの50%分だけ移動させるCSSのプロパティです。これにより、下線がリンクテキストの垂直方向の中央に配置されます。

Q3: 下線のスタイルをさらにカスタマイズするにはどうすればよいですか?

A3: 疑似要素のスタイルを変更することで、下線のスタイルをさらにカスタマイズすることができます。例えば、background-colorプロパティを変更することで下線の色を変更したり、heightプロパティを変更することで下線の太さを変更したりすることができます。

その他の参考記事:CSS 疑似要素