ホームページ > ウェブフロントエンド > CSSチュートリアル > CSSツールチップ入門(詳しい解説)

CSSツールチップ入門(詳しい解説)

青灯夜游
リリース: 2018-09-14 17:53:43
オリジナル
2179 人が閲覧しました

この章では、CSS ツールチップの概要 (詳細な説明) を説明します。困っている友人は参考にしていただければ幸いです。

プロンプト ツールは、マウスが指定された要素に移動した後にトリガーされ、頭部表示、右側表示、左側表示、下部表示の 4 つの方向に表示できます。

1. 基本的なプロンプト ボックス (ツールチップ)

プロンプト ボックスは、マウスが指定された要素に移動すると表示されます:

/* Tooltip 容器 */
.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black; /* 悬停元素上显示点线 */
}
 
/* Tooltip 文本 */
.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 6px;
 
    /* 定位 */
    position: absolute;
    z-index: 1;
}
 
/* 鼠标移动上去后显示提示框 */
.tooltip:hover .tooltiptext {
    visibility: visible;
}
ログイン後にコピー

分析例

HTML) コンテナー要素 (

など) を使用して、「tooltip」クラスを追加します。マウスが
上に移動したときにツールチップを表示します。

ツールヒント テキストをインライン要素 ( など) に配置し、class="tooltiptext" を使用します。

CSS)ツールチップ クラスはposition:relativeを使用し、プロンプト テキストは位置決め値position:absoluteを設定する必要があります。注: 次の例では、さらに多くの位置決め効果を示します。

tooltiptext クラスは、実際のツールヒント テキストに使用されます。モーダルは非表示になっており、マウスを要素の上に移動すると表示されます。幅、背景色、文字色などのスタイルが設定されています。

CSS3 border-radius プロパティは、プロンプト ボックスに丸い角を追加するために使用されます。

:ホバー セレクターは、マウスが指定された要素

上に移動したときにプロンプ​​トを表示するために使用されます。

2. プロンプト ツールの配置

次の例では、プロンプト ツールは右側 (左:105%) に表示されます。指定された要素。

top:-5px は、コンテナ要素の中央に配置されるのと同じであることに注意してください。ツールヒント テキストの上下のパディングは 5 ピクセルであるため、数値 5 を使用します。

パディング値を変更する場合は、中央に配置されるように、それに応じて上部の値も変更する必要があります。

これは、プロンプト ボックスが左側に表示されている場合にも当てはまります。

が右側に表示されます:

.tooltip .tooltiptext {
    top: -5px;
    left: 105%; 
}
ログイン後にコピー

が左側に表示されます:

.tooltip .tooltiptext {
    top: -5px;
    right: 105%; 
}
ログイン後にコピー

ツールチップを表示したい場合ヘッダーと下部。 margin-left 属性を使用し、-60px に設定する必要があります。この数値は、中央揃えの幅の半分、つまり幅/2 (120/2 = 60) を使用して計算されます。

先頭に表示:

.tooltip .tooltiptext {
    width: 120px;
    bottom: 100%;
    left: 50%; 
    margin-left: -60px; /* 使用一半宽度 (120/2 = 60) 来居中提示工具 */
}
ログイン後にコピー

下に表示:

.tooltip .tooltiptext {
    width: 120px;
    top: 100%;
    left: 50%; 
    margin-left: -60px; /* 使用一半宽度 (120/2 = 60) 来居中提示工具 */
}
ログイン後にコピー

3.矢印の追加

CSS 擬似要素::after 属性と content 属性を使用して、ツール ヒントの小さな矢印記号を作成できます。矢印は境界線で構成されますが、組み合わせると、ツールツールは音声情報のように見えます。

次の例は、上部に表示されるツールチップに下部の矢印を追加する方法を示しています:

.tooltip .tooltiptext::after {
    content: " ";
    position: absolute;
    top: 100%; /* 提示工具底部 */
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: black transparent transparent transparent;
}
ログイン後にコピー

分析例

ツールチップ内に矢印を配置: 上部: 100% 、ツールチップの下部に矢印が表示されます。左: 50% は矢印を中央揃えに使用します。

注: border-width 属性は矢印のサイズを指定します。変更する場合は、margin-left の値も変更します。こうすることで、矢印を中央に表示することができます。

border-color は、コンテンツを矢印に変換するために使用されます。上の境界線を黒に設定し、残りの境界線を透明に設定します。他の設定も黒色の場合は黒色の四角形で表示されます。

次の例は、ツールチップの頭に矢印を追加する方法を示しています。境界線の色の設定に注意してください:

下部のヒント ボックス/上部の矢印:

.tooltip .tooltiptext::after {
    content: " ";
    position: absolute;
    bottom: 100%;  /* 提示工具头部 */
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent black transparent;
}
ログイン後にコピー

次の 2 つの例は、左側と右側の矢印の例です:

右プロンプト ボックス/左矢印:

.tooltip .tooltiptext::after {
    content: " ";
    position: absolute;
    top: 50%;
    right: 100%; /* 提示工具左侧 */
    margin-top: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent black transparent transparent;
}
ログイン後にコピー

#左側のプロンプト ボックス/右側の矢印:

.tooltip .tooltiptext::after {
    content: " ";
    position: absolute;
    top: 50%;
    left: 100%; /* 提示工具右侧 */
    margin-top: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent transparent black;
}
ログイン後にコピー

4. フェードイン効果

CSS3 トランジション属性を使用できます。プロンプト ツールのフェードイン効果を実現するための透明度属性と不透明度属性:

左プロンプト ボックス/右矢印:

.tooltip .tooltiptext {
    opacity: 0;
    transition: opacity 1s;
}
 
.tooltip:hover .tooltiptext {
    opacity: 1;
}
ログイン後にコピー

5. コード例:

.wrapper {
  text-transform: uppercase;
  background: #ececec;
  color: #555;
  cursor: help;
  font-family: "Gill Sans", Impact, sans-serif;
  font-size: 20px;
  margin: 100px 75px 10px 75px;
  padding: 15px 20px;
  position: relative;
  text-align: center;
  width: 200px;
  -webkit-transform: translateZ(0); /* webkit flicker fix */
  -webkit-font-smoothing: antialiased; /* webkit text rendering fix */
}

.wrapper .tooltip {
  background: #1496bb;
  bottom: 100%;
  color: #fff;
  display: block;
  left: -25px;
  margin-bottom: 15px;
  opacity: 0;
  padding: 20px;
  pointer-events: none;
  position: absolute;
  width: 100%;
  -webkit-transform: translateY(10px);
     -moz-transform: translateY(10px);
      -ms-transform: translateY(10px);
       -o-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-transition: all .25s ease-out;
     -moz-transition: all .25s ease-out;
      -ms-transition: all .25s ease-out;
       -o-transition: all .25s ease-out;
          transition: all .25s ease-out;
  -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
     -moz-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
      -ms-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
       -o-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
          box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
}

/* This bridges the gap so you can mouse into the tooltip without it disappearing */
.wrapper .tooltip:before {
  bottom: -20px;
  content: " ";
  display: block;
  height: 20px;
  left: 0;
  position: absolute;
  width: 100%;
}  

/* CSS Triangles - see Trevor's post */
.wrapper .tooltip:after {
  border-left: solid transparent 10px;
  border-right: solid transparent 10px;
  border-top: solid #1496bb 10px;
  bottom: -10px;
  content: " ";
  height: 0;
  left: 50%;
  margin-left: -13px;
  position: absolute;
  width: 0;
}
  
.wrapper:hover .tooltip {
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: translateY(0px);
     -moz-transform: translateY(0px);
      -ms-transform: translateY(0px);
       -o-transform: translateY(0px);
          transform: translateY(0px);
}

/* IE can just show/hide with no transition */
.lte8 .wrapper .tooltip {
  display: none;
}

.lte8 .wrapper:hover .tooltip {
  display: block;
}
ログイン後にコピー
レンダリング:


CSSツールチップ入門(詳しい解説)

以上がCSSツールチップ入門(詳しい解説)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
css
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート