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; }
Beispielanalyse
HTML) Verwenden Sie Containerelemente (wie
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
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%; }
wird links angezeigt:
.tooltip .tooltiptext { top: -5px; right: 105%; }
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) 来居中提示工具 */ }
Unten angezeigt:
.tooltip .tooltiptext { width: 120px; top: 100%; left: 50%; margin-left: -60px; /* 使用一半宽度 (120/2 = 60) 来居中提示工具 */ }
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; }
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; }
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; }
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; }
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; }
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; }
Rendering:
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!