간단한 튜토리얼
순수한 CSS3를 사용하여 만든 밑줄 따라가기 효과가 있는 드롭다운 메뉴 효과입니다. 드롭다운 메뉴는 CSS3 변환 및 전환을 사용하여 밑줄 따르기 효과와 드롭다운 메뉴 효과를 만듭니다.
사용법
HTML 구조
이 드롭다운 메뉴는
<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)를 참고하세요!
관련 기사: