Computer >> 컴퓨터 >  >> 프로그래밍 >> CSS

CSS로 툴팁 하단에 아래 방향 화살표 추가하기

툴팁(tooltip) 하단에 아래 방향으로 향하는 화살표를 추가하려면 CSS의 top 속성을 활용하면 됩니다. 화살표는 별도의 이미지 없이 :after 가상 요소와 테두리(border)만으로 간단하게 만들 수 있습니다.

핵심 원리

화살표는 너비와 높이가 0인 요소에 두꺼운 테두리를 지정하는 방식으로 구현됩니다. 위쪽 테두리만 파란색으로 채우고 나머지 세 방향은 투명(transparent)으로 설정하면 아래를 가리키는 삼각형 모양의 화살표가 완성됩니다.

예제 코드

아래 코드를 실행하면 마우스 커서를 올렸을 때 하단에 화살표가 달린 툴팁이 나타납니다.

<!DOCTYPE html>
<html>
   <style>
      .mytooltip .mytext {
         visibility: hidden;
         width: 140px;
         background-color: blue;
         color: #fff;
         z-index: 1;
         bottom: 100%;
         left: 60%;
         margin-left: -90px;
         text-align: center;
         border-radius: 6px;
         padding: 5px 0;
         position: absolute;
      }
      .mytooltip {
         position: relative;
         display: inline-block;
         margin-top: 50px;
      }
      .mytooltip .mytext:after {
         content: "";
         position: absolute;
         top: 100%;
         left: 50%;
         margin-left: -10px;
         border-width: 7px;
         border-style: solid;
         border-color: blue transparent transparent transparent;
      }
      .mytooltip:hover .mytext {
         visibility: visible;
      }
   </style>

   <body>
      <div class = "mytooltip">Keep mouse cursor over me
         <span class = "mytext"> My Tooltip text</span>
      </div>
   </body>
</html>

코드 설명

.mytooltip 클래스는 기준점 역할을 하는 부모 요소로, position: relative가 지정되어 있습니다. 그 안의 .mytext는 실제 툴팁 본문으로, 평소에는 visibility: hidden

화살표는 .mytext:after 선택자로 생성됩니다. top: 100% 덕분에 툴팁 상자 바로 아래에 위치하고, border-color: blue transparent transparent transparent 설정으로 위쪽만 색이 채워진 삼각형이 만들어집니다. 이렇게 하면 툴팁이 대상 요소 위에 떠 있으면서 자연스럽게 아래 방향을 가리키게 됩니다.