반응형 디자인 슬라이딩 사이드 탐색 메뉴 만들기
이 튜토리얼에서는 JavaScript와 CSS를 사용하여 확장 가능한 측면 탐색 메뉴를 만듭니다. 최종 제품은 아래와 같습니다:
1. 마크 만들기
먼저 사이드 메뉴에 몇 가지 마크업을 추가해 보겠습니다.
으아악여기서 클래스 sidenav
创建了一个侧边菜单 div
。接下来,我们通过 <nav></nav>
태그를 사용하여 실제 상단 표시줄 탐색을 추가하고 사이드 메뉴 아이콘에 SVG를 사용하는 것을 볼 수 있습니다.
웹사이트의 모든 콘텐츠를 div id="main"
컨테이너에 넣어 오른쪽으로 슬라이드되도록 하세요.
2. JavaScript 코드 작성
다음으로 ham-icon
클래스를 사용하여 햄버거 아이콘의 클릭 이벤트와 측면 탐색 메뉴가 화면으로 슬라이드된 후 나타나는 닫기 버튼을 수신하는 JavaScript를 추가해 보겠습니다.
햄버거 아이콘을 클릭하면 측면 탐색이 표시됩니다. 이를 위해 탐색 너비를 250px
,同时向主要网站内容添加 250px
의 왼쪽 여백으로 설정했습니다.
닫기 버튼을 클릭하면 측면 탐색이 숨겨집니다. 이를 위해 탐색 너비를 다시 0으로 변경하고 기본 사이트 콘텐츠의 왼쪽 여백도 0으로 설정합니다.
3. CSS 스타일 사용
마지막으로 일부 CSS를 사용하여 페이지의 사이드 메뉴와 링크 스타일을 지정해야 합니다. CSS는 모든 웹페이지 요소를 우리가 원하는 위치에 정확하게 배치합니다. 또한 transition
속성을 사용하여 간단한 애니메이션을 적용해 보겠습니다. CSS를 한 번에 한 부분씩 살펴보겠습니다.
측면 탐색을 height
设置为100%
,并将其初始width
设置为0
以使其隐藏。但是,只有当 overflow-x
属性的值设置为 hidden
할 때 측면 탐색의 내용은 숨겨진 상태로 유지됩니다.
전환 속성은 측면 탐색 너비의 변경이 갑자기 발생하지 않도록 보장하고 완화 기능은 약간의 탄력성을 제공합니다.
사이드 탐색 내 링크의 경우 white-space
属性的值设置为 nowrap
메뉴 텍스트가 여러 줄로 넘치지 않도록 하겠습니다.
위의 CSS 스타일은 닫기 버튼을 측면 탐색의 다른 링크와 분리합니다. 닫기 버튼에 절대 위치 지정을 적용하고 마우스를 올리면 배경이 밝은 회색으로 바뀌는 것을 방지했습니다. 또한 사용자가 위로 마우스를 가져가면 크기가 20% 증가합니다.
다음 CSS는 이제 동일한 전환 기간과 동일한 여유 기능을 사용하여 기본 콘텐츠 위치가 탐색 메뉴와 동기화되도록 이동합니다. overflow-x
属性的值设置为 hidden
를 배치하면 콘텐츠가 이동할 때 가로 스크롤 막대가 나타나지 않습니다.
다음 CSS를 사용하여 햄버거 아이콘에 약간의 회전 동작을 추가할 수도 있습니다. 햄버거 아이콘을 0.5초 만에 180도 회전시킵니다.
으아악마지막으로 다음 CSS를 사용하여 링크의 간격과 크기를 조정하여 탐색 메뉴를 반응형으로 만들어 보겠습니다. 이는 수직 공간이 적은 화면에서 메뉴가 범위를 벗어나지 않도록 보장합니다.
으아악이 시점에서 탐색 메뉴는 아래 CodePen 데모와 같아야 합니다.
4. 슬라이드쇼 제거
슬라이드 애니메이션 없이 메뉴를 표시하려면 CSS 속성을 transition
아래 축약된 형식과 같이 변경하세요.
transition
中没有指定延迟。我们使用的默认值是 0.5s
에 지정된 지연이 없으므로 변경 사항이 즉시 나타납니다. 우리가 사용하는 기본값은 0.5s
입니다.
결론
사이드 메뉴를 만드는 데는 몇 줄의 코드만 필요하며 많은 리소스가 필요하지 않습니다. 특정 사례에 대한 미디어 쿼리를 추가하여 CSS를 수정하여 다양한 장치 화면 해상도에 반응하는 코드를 만드세요.
한 단계 더 나아가려면 Bootstrap 또는 Bulma와 같은 CSS 프레임워크를 사용하여 메뉴 스타일을 지정할 수 있습니다.
이 기사는 Monty Shokeen의 기여로 업데이트되었습니다. Monty는 튜토리얼 작성과 새로운 JavaScript 라이브러리 학습을 즐기는 풀 스택 개발자입니다.
위 내용은 반응형 디자인 슬라이딩 사이드 탐색 메뉴 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











WordPress는 초보자가 쉽게 시작할 수 있습니다. 1. 백그라운드에 로그인 한 후 사용자 인터페이스는 직관적이며 간단한 대시 보드는 필요한 모든 기능 링크를 제공합니다. 2. 기본 작업에는 컨텐츠 작성 및 편집이 포함됩니다. Wysiwyg 편집기는 컨텐츠 생성을 단순화합니다. 3. 초보자는 플러그인 및 테마를 통해 웹 사이트 기능을 확장 할 수 있으며 학습 곡선은 존재하지만 연습을 통해 마스터 할 수 있습니다.

WordPressIsGoodForVirtSallyWebProjectDueToitsAcms.itexcelsin : 1) 사용자 친화적 인, easywebsiteseSetup; 2) 유연성 및 커스텀 화를 허용합니다

3 일 이내에 WordPress를 배울 수 있습니다. 1. 테마, 플러그인 등과 같은 마스터 기본 지식 2. 설치 및 작업 원칙을 포함한 핵심 기능을 이해하십시오. 3. 예제를 통해 기본 및 고급 사용법을 배우십시오. 4. 디버깅 기술 및 성능 최적화 제안을 이해하십시오.

WIX는 프로그래밍 경험이없는 사용자에게 적합하며 WordPress는 더 많은 제어 및 확장 기능을 원하는 사용자에게 적합합니다. 1) Wix는 드래그 앤 드롭 편집자와 풍부한 템플릿을 제공하여 웹 사이트를 신속하게 구축 할 수 있습니다. 2) 오픈 소스 CMS로서 WordPress는 거대한 커뮤니티 및 플러그인 생태계를 보유하고 있으며 심층적 인 사용자 정의 및 확장을 지원합니다.

WordPress 자체는 무료이지만 사용 비용은 추가 비용이 필요합니다. 1. WordPress.com은 무료에서 유료에 이르는 패키지를 제공하며, 한 달에 몇 달러에서 수십 달러에 이르는 가격으로 가격이 제공됩니다. 2. WordPress.org는 도메인 이름 (연간 10-20 달러)과 호스팅 서비스 (월 5-50 달러)를 구매해야합니다. 3. 대부분의 플러그인과 테마는 무료이며 유급 가격은 수십에서 수백 달러 사이입니다. 플러그인과 테마를 합리적으로 사용하고 정기적으로 유지하고 최적화하는 올바른 호스팅 서비스를 선택함으로써 WordPress의 비용은 효과적으로 제어되고 최적화 될 수 있습니다.

사람들은 힘과 유연성 때문에 WordPress를 사용하기로 선택합니다. 1) WordPress는 다양한 웹 사이트 요구에 적합한 사용 편의성 및 확장 성을 가진 오픈 소스 CM입니다. 2) 풍부한 주제와 플러그인, 거대한 생태계 및 강력한 지역 사회 지원이 있습니다. 3) WordPress의 작동 원리는 테마, 플러그인 및 핵심 기능을 기반으로하며 PHP 및 MySQL을 사용하여 데이터를 처리하며 성능 최적화를 지원합니다.

WordPress는 CMS (Content Management System)입니다. 웹 사이트 콘텐츠의 생성 및 관리를 지원하기 위해 컨텐츠 관리, 사용자 관리, 테마 및 플러그인 기능을 제공합니다. 작업 원칙에는 데이터베이스 관리, 템플릿 시스템 및 플러그인 아키텍처가 포함되며 블로그에서 회사 웹 사이트에 이르기까지 다양한 요구에 적합합니다.

WordPress의 핵심 버전은 무료이지만 사용 중에 다른 요금이 발생할 수 있습니다. 1. 도메인 이름과 호스팅 서비스에는 지불이 필요합니다. 2. 고급 테마 및 플러그인이 충전 될 수 있습니다. 3. 전문 서비스 및 고급 기능이 청구될 수 있습니다.
