Created
October 2, 2017 05:47
-
-
Save Sanix-Darker/5b5cb0e3a48c573d59f01f815662cade to your computer and use it in GitHub Desktop.
[HTML][CSS] Nice Simple Tooltip
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <h1>CSS Directional Tooltips</h1> | |
| <div class="demo"> | |
| <p>Data attribute only <a href="#" data-tooltip="I’m the tooltip text">Tooltip</a></p> | |
| <p><code>.tooltip</code> <a href="#" class="tooltip" data-tooltip="I’m the tooltip text.">Tooltip</a></p> | |
| <p><code>.tooltip-top</code> <a href="#" class="tooltip-top" data-tooltip="I’m the tooltip text.">Tooltip</a></p> | |
| <p><code>.tooltip-right</code> <a href="#" class="tooltip-right" data-tooltip="I’m the tooltip text.">Tooltip</a></p> | |
| <p><code>.tooltip-bottom</code> <a href="#" class="tooltip-bottom" data-tooltip="I’m the tooltip text.">Tooltip</a></p> | |
| <p><a href="#" class="tooltip-left" data-tooltip="I’m the tooltip text.">Tooltip</a> <code>.tooltip-left</code></p> | |
| </div> | |
| <style> | |
| a:hover { | |
| text-decoration: none; | |
| } | |
| header, | |
| .demo, | |
| .demo p { | |
| margin: 4em 0; | |
| text-align: center; | |
| } | |
| /** | |
| * Tooltip Styles | |
| */ | |
| /* Base styles for the element that has a tooltip */ | |
| [data-tooltip], | |
| .tooltip { | |
| position: relative; | |
| cursor: pointer; | |
| } | |
| /* Base styles for the entire tooltip */ | |
| [data-tooltip]:before, | |
| [data-tooltip]:after, | |
| .tooltip:before, | |
| .tooltip:after { | |
| position: absolute; | |
| visibility: hidden; | |
| -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; | |
| filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); | |
| opacity: 0; | |
| -webkit-transition: | |
| opacity 0.2s ease-in-out, | |
| visibility 0.2s ease-in-out, | |
| -webkit-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24); | |
| -moz-transition: | |
| opacity 0.2s ease-in-out, | |
| visibility 0.2s ease-in-out, | |
| -moz-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24); | |
| transition: | |
| opacity 0.2s ease-in-out, | |
| visibility 0.2s ease-in-out, | |
| transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24); | |
| -webkit-transform: translate3d(0, 0, 0); | |
| -moz-transform: translate3d(0, 0, 0); | |
| transform: translate3d(0, 0, 0); | |
| pointer-events: none; | |
| } | |
| /* Show the entire tooltip on hover and focus */ | |
| [data-tooltip]:hover:before, | |
| [data-tooltip]:hover:after, | |
| [data-tooltip]:focus:before, | |
| [data-tooltip]:focus:after, | |
| .tooltip:hover:before, | |
| .tooltip:hover:after, | |
| .tooltip:focus:before, | |
| .tooltip:focus:after { | |
| visibility: visible; | |
| -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; | |
| filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); | |
| opacity: 1; | |
| } | |
| /* Base styles for the tooltip's directional arrow */ | |
| .tooltip:before, | |
| [data-tooltip]:before { | |
| z-index: 1001; | |
| border: 6px solid transparent; | |
| background: transparent; | |
| content: ""; | |
| } | |
| /* Base styles for the tooltip's content area */ | |
| .tooltip:after, | |
| [data-tooltip]:after { | |
| z-index: 1000; | |
| padding: 8px; | |
| width: 160px; | |
| background-color: #000; | |
| background-color: hsla(0, 0%, 20%, 0.9); | |
| color: #fff; | |
| content: attr(data-tooltip); | |
| font-size: 14px; | |
| line-height: 1.2; | |
| } | |
| /* Directions */ | |
| /* Top (default) */ | |
| [data-tooltip]:before, | |
| [data-tooltip]:after, | |
| .tooltip:before, | |
| .tooltip:after, | |
| .tooltip-top:before, | |
| .tooltip-top:after { | |
| bottom: 100%; | |
| left: 50%; | |
| } | |
| [data-tooltip]:before, | |
| .tooltip:before, | |
| .tooltip-top:before { | |
| margin-left: -6px; | |
| margin-bottom: -12px; | |
| border-top-color: #000; | |
| border-top-color: hsla(0, 0%, 20%, 0.9); | |
| } | |
| /* Horizontally align top/bottom tooltips */ | |
| [data-tooltip]:after, | |
| .tooltip:after, | |
| .tooltip-top:after { | |
| margin-left: -80px; | |
| } | |
| [data-tooltip]:hover:before, | |
| [data-tooltip]:hover:after, | |
| [data-tooltip]:focus:before, | |
| [data-tooltip]:focus:after, | |
| .tooltip:hover:before, | |
| .tooltip:hover:after, | |
| .tooltip:focus:before, | |
| .tooltip:focus:after, | |
| .tooltip-top:hover:before, | |
| .tooltip-top:hover:after, | |
| .tooltip-top:focus:before, | |
| .tooltip-top:focus:after { | |
| -webkit-transform: translateY(-12px); | |
| -moz-transform: translateY(-12px); | |
| transform: translateY(-12px); | |
| } | |
| /* Left */ | |
| .tooltip-left:before, | |
| .tooltip-left:after { | |
| right: 100%; | |
| bottom: 50%; | |
| left: auto; | |
| } | |
| .tooltip-left:before { | |
| margin-left: 0; | |
| margin-right: -12px; | |
| margin-bottom: 0; | |
| border-top-color: transparent; | |
| border-left-color: #000; | |
| border-left-color: hsla(0, 0%, 20%, 0.9); | |
| } | |
| .tooltip-left:hover:before, | |
| .tooltip-left:hover:after, | |
| .tooltip-left:focus:before, | |
| .tooltip-left:focus:after { | |
| -webkit-transform: translateX(-12px); | |
| -moz-transform: translateX(-12px); | |
| transform: translateX(-12px); | |
| } | |
| /* Bottom */ | |
| .tooltip-bottom:before, | |
| .tooltip-bottom:after { | |
| top: 100%; | |
| bottom: auto; | |
| left: 50%; | |
| } | |
| .tooltip-bottom:before { | |
| margin-top: -12px; | |
| margin-bottom: 0; | |
| border-top-color: transparent; | |
| border-bottom-color: #000; | |
| border-bottom-color: hsla(0, 0%, 20%, 0.9); | |
| } | |
| .tooltip-bottom:hover:before, | |
| .tooltip-bottom:hover:after, | |
| .tooltip-bottom:focus:before, | |
| .tooltip-bottom:focus:after { | |
| -webkit-transform: translateY(12px); | |
| -moz-transform: translateY(12px); | |
| transform: translateY(12px); | |
| } | |
| /* Right */ | |
| .tooltip-right:before, | |
| .tooltip-right:after { | |
| bottom: 50%; | |
| left: 100%; | |
| } | |
| .tooltip-right:before { | |
| margin-bottom: 0; | |
| margin-left: -12px; | |
| border-top-color: transparent; | |
| border-right-color: #000; | |
| border-right-color: hsla(0, 0%, 20%, 0.9); | |
| } | |
| .tooltip-right:hover:before, | |
| .tooltip-right:hover:after, | |
| .tooltip-right:focus:before, | |
| .tooltip-right:focus:after { | |
| -webkit-transform: translateX(12px); | |
| -moz-transform: translateX(12px); | |
| transform: translateX(12px); | |
| } | |
| /* Move directional arrows down a bit for left/right tooltips */ | |
| .tooltip-left:before, | |
| .tooltip-right:before { | |
| top: 3px; | |
| } | |
| /* Vertically center tooltip content for left/right tooltips */ | |
| .tooltip-left:after, | |
| .tooltip-right:after { | |
| margin-left: 0; | |
| margin-bottom: -16px; | |
| } | |
| </style> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment