Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Einführung in den CSS-Tooltip (ausführliche Erklärung)

青灯夜游
Freigeben: 2018-09-14 17:53:43
Original
2176 Leute haben es durchsucht

Dieses Kapitel bietet Ihnen eine Einführung (ausführliche Erklärung) des CSS-Tooltips . Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

Der Tooltip wird ausgelöst, nachdem die Maus auf das angegebene Element bewegt wurde, und kann in vier Richtungen angezeigt werden: Kopfanzeige, rechte Anzeige, linke Anzeige und untere Anzeige.

1. Grundlegender Tooltip

Der Tooltip wird angezeigt, wenn sich die Maus zum angegebenen Element bewegt:

/* 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;
}
Nach dem Login kopieren

Beispielanalyse

HTML) Verwenden Sie Containerelemente (wie

) und fügen Sie die Klasse „tooltip“ hinzu. Tooltip anzeigen, wenn die Maus über
bewegt wird.

Fügen Sie den Tooltip-Text in ein Inline-Element ein (z. B. ) und verwenden Sie class="tooltiptext".

CSS)tooltip-Klasse verwendet position:relative, und der Eingabeaufforderungstext muss den Positionierungswert position:absolute festlegen. Hinweis: Die folgenden Beispiele zeigen weitere Positionierungseffekte.

Die Klasse „tooltiptext“ wird für den eigentlichen Tooltip-Text verwendet. Das Modal ist ausgeblendet und erscheint, wenn die Maus über das Element bewegt wird. Es werden einige Breiten, Hintergrundfarben, Schriftfarben und andere Stile festgelegt.

CSS3-Border-Radius-Eigenschaft wird verwendet, um abgerundete Ecken zum Eingabeaufforderungsfeld hinzuzufügen.

:Hover-Selektor wird verwendet, um die Eingabeaufforderung anzuzeigen, wenn sich die Maus über das angegebene Element

bewegt.

2. Positionierungs-Tooltip

Im folgenden Beispiel wird der Tooltip auf der rechten Seite des angegebenen Elements angezeigt (links: 105 %). ).

Beachten Sie, dass top:-5px dasselbe ist wie die Positionierung in der Mitte des Containerelements. Verwenden Sie die Zahl 5, da der obere und untere Abstand des Tooltip-Textes 5 Pixel beträgt.

Wenn Sie den Füllwert ändern, muss auch der obere Wert entsprechend geändert werden, um sicherzustellen, dass er zentriert ist.

Dies ist auch der Fall, wenn links die Eingabeaufforderungsbox angezeigt wird.

wird rechts angezeigt:

.tooltip .tooltiptext {
    top: -5px;
    left: 105%; 
}
Nach dem Login kopieren

wird links angezeigt:

.tooltip .tooltiptext {
    top: -5px;
    right: 105%; 
}
Nach dem Login kopieren

Wenn Sie möchten, dass der Tooltip angezeigt wird die Kopf- und Unterseite. Wir müssen das Attribut „margin-left“ verwenden und es auf -60px setzen. Diese Zahl wird unter Verwendung der halben Breite für die Mittelausrichtung berechnet, also: Breite/2 (120/2 = 60).

Oben angezeigt:

.tooltip .tooltiptext {
    width: 120px;
    bottom: 100%;
    left: 50%; 
    margin-left: -60px; /* 使用一半宽度 (120/2 = 60) 来居中提示工具 */
}
Nach dem Login kopieren

Unten angezeigt:

.tooltip .tooltiptext {
    width: 120px;
    top: 100%;
    left: 50%; 
    margin-left: -60px; /* 使用一半宽度 (120/2 = 60) 来居中提示工具 */
}
Nach dem Login kopieren

3. Pfeil hinzufügen

Wir können CSS-Pseudoelement::after und Inhaltsattribute verwenden, um ein kleines Pfeillogo für den Tooltip zu erstellen. Der Pfeil besteht aus einem Rahmen, aber in Kombination. Das Tool-Tool sieht aus wie eine Sprach-Informationsbox.

Das folgende Beispiel zeigt, wie man dem oben angezeigten Tooltip einen Pfeil nach unten hinzufügt:

.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;
}
Nach dem Login kopieren

Beispielanalyse

Positionierung des Pfeils innerhalb des Tooltips: oben: 100 % , erscheint unten im Tooltip ein Pfeil. links: 50 % wird verwendet, um den Pfeil zentriert auszurichten.

Hinweis: Das Attribut „border-width“ gibt die Größe des Pfeils an. Wenn Sie es ändern, ändern Sie auch den Wert für den linken Rand. Dadurch kann der Pfeil zentriert dargestellt werden.

border-color wird verwendet, um Inhalte in Pfeile umzuwandeln. Stellen Sie den oberen Rand auf Schwarz und den Rest auf Transparent ein. Wenn andere Einstellungen ebenfalls schwarz sind, wird es als schwarzes Viereck angezeigt.

Das folgende Beispiel zeigt, wie man einen Pfeil zum Kopf des Tooltips hinzufügt. Achten Sie dabei auf die Einstellung der Rahmenfarbe:

Unteres Tip-Feld/oberer Pfeil:

.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;
}
Nach dem Login kopieren

Die folgenden zwei Beispiele sind Beispiele für Pfeile auf der linken und rechten Seite:

Rechtes Eingabeaufforderungsfeld/linker Pfeil:

.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;
}
Nach dem Login kopieren

Linkes Eingabeaufforderungsfeld/rechter Pfeil:

.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;
}
Nach dem Login kopieren

4. Einblendeffekt

Wir können das CSS3-Übergangsattribut und verwenden Deckkraftattribut, um den Einblendeffekt des Eingabeaufforderungstools zu erzielen:

Linkes Eingabeaufforderungsfeld/rechter Pfeil:

.tooltip .tooltiptext {
    opacity: 0;
    transition: opacity 1s;
}
 
.tooltip:hover .tooltiptext {
    opacity: 1;
}
Nach dem Login kopieren

5. Codebeispiel:

.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;
}
Nach dem Login kopieren

Rendering:

Einführung in den CSS-Tooltip (ausführliche Erklärung)

Das obige ist der detaillierte Inhalt vonEinführung in den CSS-Tooltip (ausführliche Erklärung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
css
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage