Hướng dẫn tooltip html - html chú giải công cụ

Tooltip thường được sử dụng để mô tả cho một nút bấm, một thẻ input hay một liên kết dạng menu .v.v. Trong bài viết này mình sẽ hướng dẫn các bạn tạo Tooltip đơn giản với CSS.

Hướng dẫn tooltip html - html chú giải công cụ

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.freetuts.net, không được copy dưới mọi hình thức.

Các bạn cùng xem ví dụ dưới đây:

Hướng dẫn tooltip html - html chú giải công cụ

1. Xây dựng giao diện

Đầu tiên là xây dựng giao diện, các bạn tạo các tooltip bằng các thẻ div như sau:

Code

Top! Tooltip Top!
Bottom! Tooltip Bottom!
Left! Tooltip Left!
Right! Tooltip Right!

2. Định dạng CSS

Giờ chúng ta sẽ định dạng để chúng dễ nhìn hơn nhé, các bạn dán đoạn mã sau vào bên trong thẻ style:

body {
    text-align: center;
}

.tooltip {
    position: relative; 
    display: inline-block;
    border-bottom: 1px dotted black; 

    margin: auto;
    width: 150px;
    height: 35px;
    line-height: 35px;
    background: yellow;
    display: block;
    margin-top: 20px;
}

.tooltip .tooltiptext {
    visibility: hidden;
    position: absolute;
    width: 120px;
    background-color: #555;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 6px;
    z-index: 1;
    opacity: 0;
    transition: opacity 1s;
}

.tooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
}
.tooltip-top {
    bottom: 120%;
    left: 10%;
}
.tooltip-top::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #555 transparent transparent transparent;
}
.tooltip-right {
    left: 110%;
    top: 7%;
}
.tooltip-right::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 100%;
    margin-top: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent #555 transparent transparent;
}
.tooltip-bottom {
    top: 120%;
    left: 10%;
}
.tooltip .tooltip-bottom::after {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent #555 transparent;
}
.tooltip-left {
    right: 110%;
    top: -10%;
}
.tooltip-left::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    margin-top: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent transparent #555;
}

Trong phần định dạng trên, các mã CSS đều khá cơ bản, các bạn lưu ý phần ::after chính là phần móc nhọn chúng ta thêm vào sau các thẻ span chứa nội dung tooltip, tùy từng kiểu tooltip mà ta sẽ định dạng cho chúng ở những vị trí khác nhau.

Bài viết này được đăng tại [free tuts .net]

3. Lời Kết

Vậy là mình đã cùng các bạn xây dựng xong chức năng tooltip cơ bản, nếu có thắc mắc gì các bạn có thể để lại dưới phần bình luận, hẹn gặp lại các bạn trong các bài viết sau.

Hướng dẫn tooltip html - html chú giải công cụ

Đã đăng vào thg 2 20, 2019 1:16 SA 2 phút đọc 2 phút đọc

Giới thiệu

Tooltips là chú thích tuyệt vời để bổ sung và làm phong phú trải nghiệm người dùng cung cấp gợi ý và thêm thông tin cho người dùng. Có rất nhiều plugin JavaScript cung cấp chức năng này, nhưng nếu bạn không muốn sử dụng các thư viện đó, thì có thể xử lý nó chỉ bằng cách sử dụng sử dụng data attributes của HTML và môt số CSS đơn giản.

Cách thực hiện

  • HTML

    CSS

    c-tooltip

  • CSS

    Với các vị trí khác nhau ta làm tương tự như ví dụ trên, các bạn có thể tham khảo demo bên dưới:

data-c-tooltip]:after {
  z-index: 1000;
  padding: 8px;
  width: 160px;
  background-color: #000;
  background-color: rgba(51, 51, 51, 0.9);
  color: #fff;
  content: attr(data-c-tooltip);
  font-size: 14px;
  line-height: 1.2;
}
[data-c-tooltip]:before {
  z-index: 1001;
  border: 6px solid transparent;
  background: transparent;
  content: "";
  margin-left: -6px;
  margin-bottom: -12px;
  border-top-color: rgba(51, 51, 51, 0.9)
}

Sau đó ta CSS tạo hiêu ứng sau khi hover và ta sẽ được kết quả như ảnh:

Hướng dẫn tooltip html - html chú giải công cụ

Custom Tooltips

Ngoài ra ta có thể tao ra tooltips ở các vị trí khác nhau như trên, dưới, trái, phải bằng cách thêm attributes tooltip-position và css cho attributes đó

Ví dụ với tooltips ở bên trái:

[tooltip-position='left']:before,
[tooltip-position='left']:after {
  right: 100%;
  bottom: 50%;
  left: auto;
}
[tooltip-position='left']:before {
  margin-left: 0;
  margin-right: -12px;
  margin-bottom: 0;
  border-top-color: transparent;
  border-left-color: #000;
  border-left-color: rgba(51, 51, 51, 0.9);
}
[tooltip-position='left']:hover:before,
[tooltip-position='left']:hover:after,
[tooltip-position='left']:focus:before,
[tooltip-position='left']:focus:after {
  -webkit-transform: translateX(-12px);
  -moz-transform: translateX(-12px);
  transform: translateX(-12px);
}

Với các vị trí khác nhau ta làm tương tự như ví dụ trên, các bạn có thể tham khảo demo bên dưới:

Như vậy, sau bài viết này, các bạn có thể tạo ra tooltips mà không cần sử dụng thư viện hay plugin bên ngoài mà chỉ cần HTML và CSS cơ bản

Chúc các bạn thành công!

All rights reserved