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

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

Mar 20, 2017 am 11:44 AM

간단한 튜토리얼

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

사용법

HTML 구조

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

&lt;nav&gt;

  &lt;ul id=&quot;main&quot;&gt;

    &lt;li&gt;主页&lt;/li&gt;

    &lt;li&gt;关于我们&lt;/li&gt;

    &lt;li&gt;项目分类

      &lt;ul class=&quot;drop&quot;&gt;

        &lt;p&gt;

        &lt;li&gt;scss&lt;/li&gt;

        &lt;li&gt;jquery&lt;/li&gt;

        &lt;li&gt;html&lt;/li&gt;

        &lt;/p&gt;

      &lt;/ul&gt;

    &lt;/li&gt;

    &lt;li&gt;联系我们&lt;/li&gt;

    &lt;p id=&quot;marker&quot;&gt;&lt;/p&gt;

  &lt;/ul&gt;

&lt;/nav&gt;

로그인 후 복사

CSS 스타일

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

#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에 사용됨).

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

.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초로 설정합니다.

1

2

3

4

5

6

7

8

9

10

11

12

#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방향 이동 값을 설정하여 다른 메뉴 항목에 따라 밑줄을 이동합니다.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

#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으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

순수한 CSS3로 물결 효과를 얻는 방법은 무엇입니까? (코드 예) 순수한 CSS3로 물결 효과를 얻는 방법은 무엇입니까? (코드 예) Jun 28, 2022 pm 01:39 PM

순수한 CSS3로 물결 효과를 얻는 방법은 무엇입니까? (코드 예)

WPS 테이블에 드롭다운 메뉴를 만드는 방법 WPS 테이블에 드롭다운 메뉴를 만드는 방법 Mar 21, 2024 pm 01:31 PM

WPS 테이블에 드롭다운 메뉴를 만드는 방법

Microsoft Word에서 예술적인 페이지 테두리를 추가하는 방법 Microsoft Word에서 예술적인 페이지 테두리를 추가하는 방법 Apr 27, 2023 pm 08:25 PM

Microsoft Word에서 예술적인 페이지 테두리를 추가하는 방법

주석 없이 Word 문서를 인쇄하는 방법 주석 없이 Word 문서를 인쇄하는 방법 Apr 18, 2023 pm 02:19 PM

주석 없이 Word 문서를 인쇄하는 방법

CSS를 능숙하게 사용하여 다양한 이상한 모양의 버튼 구현(코드 포함) CSS를 능숙하게 사용하여 다양한 이상한 모양의 버튼 구현(코드 포함) Jul 19, 2022 am 11:28 AM

CSS를 능숙하게 사용하여 다양한 이상한 모양의 버튼 구현(코드 포함)

공간을 차지하지 않고 CSS에서 요소를 숨기는 방법 공간을 차지하지 않고 CSS에서 요소를 숨기는 방법 Jun 01, 2022 pm 07:15 PM

공간을 차지하지 않고 CSS에서 요소를 숨기는 방법

Windows 11에서 모니터링을 위해 화면을 조정하는 5가지 방법(및 수정 사항) Windows 11에서 모니터링을 위해 화면을 조정하는 5가지 방법(및 수정 사항) Apr 14, 2023 pm 03:28 PM

Windows 11에서 모니터링을 위해 화면을 조정하는 5가지 방법(및 수정 사항)

CSS3에서 레이스 테두리를 구현하는 방법 CSS3에서 레이스 테두리를 구현하는 방법 Sep 16, 2022 pm 07:11 PM

CSS3에서 레이스 테두리를 구현하는 방법

See all articles