UNPKG

css-tooltip

Version:

Only CSS lightweight, minimal and simple tooltips

82 lines (69 loc) 1.77 kB
[data-tooltip] { position: relative; display: inline-block; } [data-tooltip]:before, [data-tooltip]:after { position: absolute; left: 50%; transform: translate(-50%, -12px); z-index: 1000; pointer-events: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; opacity: 0; transition: opacity .35s ease .25s; } [data-tooltip]:before { content: attr(data-tooltip); background: #333; color: #eee; padding: 8px 12px; white-space: nowrap; bottom: 100%; border-radius: 3px; box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.65); } [data-tooltip]:after { content: ''; background: transparent; border: 8px solid transparent; border-top-color: #333; } [data-tooltip]:hover:before, [data-tooltip]:hover:after, [data-tooltip]:focus:before, [data-tooltip]:focus:after, [data-tooltip]:active:before, [data-tooltip]:active:after { opacity: 1; } [data-tooltip].tooltip-multiline:before { width: 100vw; max-width: 240px; white-space: normal; } [data-tooltip][class*="tooltip-bottom"]:before, [data-tooltip][class*="tooltip-bottom"]:after { transform: translate(-50%, 12px); } [data-tooltip][class*="tooltip-bottom"]:before { bottom: auto; top: 100%; } [data-tooltip][class*="tooltip-bottom"]:after { bottom: 0; border: 8px solid transparent; border-bottom-color: #333; } [data-tooltip].tooltip-bottom-left:before { transform: translate(-24px, 12px); } [data-tooltip].tooltip-bottom-right:before { left: auto; right: 50%; transform: translate(24px, 12px); } [data-tooltip].tooltip-top-left:before { transform: translate(-24px, -12px); } [data-tooltip].tooltip-top-right:before { left: auto; right: 50%; transform: translate(24px, -12px); }