Tooltip

A tooltip offers users a short message, often detailed information or a full description, without the use of a click command when a users hovers over a page element.

Usage

Tooltips are typically paired with an icon, image, or button. Employ them on forms or other tasks to guide users through completing a series of fields.

Example

Google page demonstrating a tooltip text
<link crossorigin="anonymous" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css" integrity="sha512-Kc323vGBEqzTmouAECnVceyQqyqdsSiqLQISBL29aUW4U/M7pSPA/gEUZQqv1cwx4OnYxTxve5UMg5GT6L4JJg==" referrerpolicy="no-referrer" rel="stylesheet" />
<style>
.tooltip {
  display: inline-block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  line-height: 1.42857143;
  position: relative;
}

.tooltip-icon {
  font-size: 20px;
}

.tooltip:hover .tooltiptext {
  display: block;
}

.tooltip .tooltiptext {
  background-color: #ddd;
  border-radius: 6px;
  display: none;
  font-size: 12px;
  padding: 15px 10px;
  position: absolute;
  text-align: center;
  width: clamp(150px, 30ch, 500px);
}

.tooltiptext,
.tooltip-right {
  inset-block: 50% auto;
  inset-inline: calc(100% + 5px) auto;
  transform: translate(0, -50%);
}

.tooltiptext:after,
.tooltip-right:after {
  content: "";
  border-width: 5px;
  border-style: solid;
  border-color: transparent #ddd transparent transparent;
  inset-block: 50% auto;
  inset-inline: auto 100%;
  margin-block-start: -5px;
  position: absolute;
}

.tooltip-bottom {
  inset-block: calc(100% + 5px) auto;
  inset-inline: 50% auto;
  transform: translate(-50%, 0);
}

.tooltip-bottom:after {
  border-color: transparent transparent #ddd transparent;
  inset-block: auto 100%;
  inset-inline: 50% auto;
  margin-inline-start: -5px;

}

.tooltip-left {
  inset-block: 50% auto;
  inset-inline: auto calc(100% + 5px);
  transform: translate(0, -50%);
}

.tooltip-left:after {
  content: "";
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent transparent #ddd;
  inset-block: 50% auto;
  inset-inline: 100% auto;
  margin-block-start: -5px;
  position: absolute;
}

.tooltip-top {
  inset-block: auto calc(100% + 5px);
  inset-inline: 50% auto;
  transform: translate(-50%, 0);
}

.tooltip-top:after {
  border-color: #ddd transparent transparent transparent;
  inset-block: calc(100% + 5px) auto;
  inset-inline: 50% auto;
  margin-inline-start: -5px;
}

.tooltips { padding: 50px 0 75px 220px; }
</style>
<div class="tooltips">
  <div class="tooltip">
    <i class="tooltip-icon fa-solid fa-circle-info"></i> Tooltip Right
    <span class="tooltiptext tooltip-right">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
  </div>
  <br>
  <div class="tooltip">
    <i class="tooltip-icon fa-solid fa-circle-info"></i> Tooltip Left
    <span class="tooltiptext tooltip-left">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
  </div>
  <br>
  <div class="tooltip">
    <i class="tooltip-icon fa-solid fa-circle-info"></i> Tooltip Top
    <span class="tooltiptext tooltip-top">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
  </div>
  <br>
  <div class="tooltip">
    <i class="tooltip-icon fa-solid fa-circle-info"></i> Tooltip Bottom
    <span class="tooltiptext tooltip-bottom">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
  </div>
</div>