CSS
 Computer >> コンピューター >  >> プログラミング >> CSS

CSSでツールチップの右側に矢印を表示する方法

CSSのleftプロパティを活用することで、ツールチップの右側に矢印を表示させることができます。

実装のポイント

矢印は::after疑似要素とborder(境界線)を組み合わせた定番テクニックで作成します。ツールチップ本体の左端(left: 100%)に疑似要素を配置し、4辺のうち左側のボーダーだけに色を指定することで、三角形の矢印として描画されます。残りの3辺はtransparent(透明)にしておくのがポイントです。

サンプルコード

以下のコードを実行すると、テキストにマウスカーソルを重ねたときに、右側へ矢印が付いたツールチップが表示されます。

<!DOCTYPE html>
<html>
   <style>
      .mytooltip .mytext {
         visibility: hidden;
         width: 140px;
         background-color: blue;
         color: #fff;
         z-index: 1;
         top: -5px;
         right: 110%;
         text-align: center;
         border-radius: 6px;
         padding: 5px 0;
         position: absolute;
      }
      .mytooltip {
         position: relative;
         display: inline-block;
         margin-left: 150px;
      }
      .mytooltip .mytext:after {
         content: "";
         position: absolute;
         top: 50%;
         left: 100%;
         margin-top: -5px;
         border-width: 6px;
         border-style: solid;
         border-color: transparent transparent transparent blue;
      }
      .mytooltip:hover .mytext {
         visibility: visible;
      }
   </style>
   <body>
      <div class = "mytooltip">ここにマウスカーソルを合わせてください
         <span class = "mytext"> ツールチップのテキスト</span>
      </div>
  </body>
</html>

コードの解説

このサンプルでは、親要素.mytooltipに対してposition: relativeを設定し、ツールチップ本体.mytextposition: absoluteで配置しています。right: 110%により、ツールチップは基準要素の左側に表示され、その右端から矢印が伸びる形になります。

また、:hoverセレクターを使うことで、JavaScriptに頼らずCSSだけでマウスオーバー時の表示・非表示を切り替えられる点も魅力です。色やサイズ、位置の数値を変更すれば、さまざまなデザインに応用できます。

  1. CSSアニメーションでツールチップをフェードイン表示させる方法

    CSSだけでも、JavaScriptに頼らずにツールチップのテキストを滑らかにフェードイン表示させることができます。鍵となるのは、opacity(透明度)とtransition(遷移)プロパティを組み合わせることです。 実装のポイント opacity: 0; — 初期状態ではツールチップを完全に透明にしておきます transition: opacity 1s; — 透明度が1秒かけて徐々に変化するよう設定し、なめらかなフェード効果を作ります :hover 時に opacity: 1; — マウスカーソルが要素に乗った瞬間に不透明へ変化し、フェードインが実現します visibility の切り

  2. CSSでツールチップの上部に矢印を追加する方法

    ツールチップの上部に矢印を追加するには、CSSのbottomプロパティを活用します。:after疑似要素と組み合わせることで、画像を使わずに三角形の矢印を簡単に作成できます。 実装例 以下のコードを実行すると、上部に矢印が付いたツールチップを表示できます。テキストの上にマウスカーソルを重ねると、ツールチップが現れる仕組みです。 <!DOCTYPE html> <html>    <style>       .mytooltip .mytext {         &nb