>웹 프론트엔드 >CSS 튜토리얼 >밑줄 따라가기 효과가 있는 간단한 CSS3 드롭다운 메뉴 효과

밑줄 따라가기 효과가 있는 간단한 CSS3 드롭다운 메뉴 효과

黄舟
黄舟원래의
2017-03-20 11:44:102540검색

간단한 튜토리얼

순수한 CSS3를 사용하여 만든 밑줄 따라가기 효과가 있는 드롭다운 메뉴 효과입니다. 드롭다운 메뉴는 CSS3 변환 및 전환을 사용하여 밑줄 따르기 효과와 드롭다운 메뉴 효과를 만듭니다.

사용법

HTML 구조

이 드롭다운 메뉴는 c787b9a589a3ece771e842a6176cf8e9 요소를 사용하여 순서가 지정되지 않은 목록을 래핑합니다.

<nav>
  <ul id="main">
    <li>主页</li>
    <li>关于我们</li>
    <li>项目分类
      <ul class="drop">
        <p>
        <li>scss</li>
        <li>jquery</li>
        <li>html</li>
        </p>
      </ul>
    </li>
    <li>联系我们</li>
    <p id="marker"></p>
  </ul>
</nav>

CSS 스타일

ul#mian 전체 메뉴는 상대 위치 지정을 사용하여 배치됩니다. 디스플레이는 인라인 블록 수준 요소로 표시됩니다. 메뉴 항목의 크기는 패딩을 사용하여 조정되며 최소 너비는 120픽셀로 설정됩니다.

#main {
  position: relative;
  list-style: none;
  background: #6BBE92;
  font-weight: 400;
  font-size: 0;
  text-transform: uppercase;
  display: inline-block;
  padding: 0;
  margin: 50px auto;
}
#main li {
  font-size: 0.8rem;
  display: inline-block;
  position: relative;
  padding: 15px 20px;
  cursor: pointer;
  z-index: 5;
  min-width: 120px;
}
li {
  margin: 0;
}

HTML 구조에서 ul.drop은 드롭다운 메뉴 구성요소입니다. 위치 지정 방법은 절대 위치 지정을 사용합니다. 그 안에 있는 p 요소는 변환 기능을 사용하여 Y축에서 -100%를 이동하여 숨깁니다(overflow:hidden은 .drop에 사용됨).

.drop {
  overflow: hidden;
  list-style: none;
  position: absolute;
  padding: 0;
  width: 100%;
  left: 0;
  top: 48px;
}
.drop p {
  -webkit-transform: translate(0, -100%);
  -moz-transform: translate(0, -100%);
  -ms-transform: translate(0, -100%);
  transform: translate(0, -100%);
  -webkit-transition: all 0.5s 0.1s;
  -moz-transition: all 0.5s 0.1s;
  -ms-transition: all 0.5s 0.1s;
  transition: all 0.5s 0.1s;
  position: relative;
}
.drop li {
  display: block;
  padding: 0;
  width: 100%;
  background: #3E8760 !important;
}

#marker는 밑줄 요소입니다. 또한 절대 위치 지정을 사용합니다. 그리고 모든 애니메이션에 대해 애니메이션 전환 효과를 0.35초로 설정합니다.

#marker {
  height: 6px;
  background: #3E8760 !important;
  position: absolute;
  bottom: 0;
  width: 120px;
  z-index: 2;
  -webkit-transition: all 0.35s;
  -moz-transition: all 0.35s;
  -ms-transition: all 0.35s;
  transition: all 0.35s;
}

메뉴 항목 #main li 요소 위로 마우스를 슬라이드할 때 nth-child는 마우스가 현재 슬라이드하는 메뉴 항목을 결정하는 데 사용됩니다. 그런 다음 메뉴 항목에서 하위 메뉴의 Y축 위치를 0으로 되돌리고, 드롭다운 메뉴를 표시하며, 번역 기능의 X방향 이동 값을 설정하여 다른 메뉴 항목에 따라 밑줄을 이동합니다.

#main li:nth-child(1):hover ul p {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
}
#main li:nth-child(1):hover ~ #marker {
  -webkit-transform: translate(0px, 0);
  -moz-transform: translate(0px, 0);
  -ms-transform: translate(0px, 0);
  transform: translate(0px, 0);
}
 
#main li:nth-child(2):hover ul p {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
}
#main li:nth-child(2):hover ~ #marker {
  -webkit-transform: translate(120px, 0);
  -moz-transform: translate(120px, 0);
  -ms-transform: translate(120px, 0);
  transform: translate(120px, 0);
}
 
#main li:nth-child(3):hover ul p {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
}
#main li:nth-child(3):hover ~ #marker {
  -webkit-transform: translate(240px, 0);
  -moz-transform: translate(240px, 0);
  -ms-transform: translate(240px, 0);
  transform: translate(240px, 0);
}
 
#main li:nth-child(4):hover ul p {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
}
#main li:nth-child(4):hover ~ #marker {
  -webkit-transform: translate(360px, 0);
  -moz-transform: translate(360px, 0);
  -ms-transform: translate(360px, 0);
  transform: translate(360px, 0);
}

위는 밑줄 따라가기 효과가 있는 간단한 CSS3 드롭다운 메뉴 효과의 내용입니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트(www.php.cn)를 참고하세요!

관련 기사:

CSS 드롭다운 메뉴를 만드는 간단한 방법 소개

CSS 드롭 -다운 메뉴

CSS 드롭다운 메뉴 상세 설명

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.