• 회원가입
  • 로그인
  • 구글아이디로 로그인

[basic] BS4 - Scrollspy (BS스크롤스파이) - 원페이지메뉴링크 (= 내부링크)

목차
  1. Scrollspy 예제 - 수평
  2. Scrollspy 예제 - 수직


Scrollspy 예제 - 수평

 

<style>

body {position: relative;}

.container-fluid {padding-top:70px;padding-bottom:70px}

</style>

 

<body data-spy="scroll" data-target=".navbar" data-offset="50">


<nav class="navbar navbar-expand-sm bg-dark navbar-dark fixed-top">  

  <ul class="navbar-nav">

    <li class="nav-item">

      <a class="nav-link" href="#section1">Section 1</a>

    </li>

    <li class="nav-item">

      <a class="nav-link" href="#section2">Section 2</a>

    </li>

    <li class="nav-item">

      <a class="nav-link" href="#section3">Section 3</a>

    </li>

    <li class="nav-item dropdown">

      <a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">

        Section 4

      </a>

      <div class="dropdown-menu">

        <a class="dropdown-item" href="#section41">Link 1</a>

        <a class="dropdown-item" href="#section42">Link 2</a>

      </div>

    </li>

  </ul>

</nav>


<div id="section1" class="container-fluid bg-success">

  <h1>Section 1</h1>

  <p>홈짱닷컴</p>

</div>

<div id="section2" class="container-fluid bg-warning">

  <h1>Section 2</h1>

  <p>Homzzang.com</p>

</div>

<div id="section3" class="container-fluid bg-secondary">

  <h1>Section 3</h1>

  <p>홈페이지제작 + 서버관리/p>

</div>

<div id="section41" class="container-fluid bg-danger">

  <h1>Section 4 - Sub 1</h1>

  <p>HTML CSS JS JQ BS</p>

</div>

<div id="section42" class="container-fluid bg-info">

  <h1>Section 4 - Sub 2</h1>

  <p>PHP SQL</p>

</div>

 

결과보기

 


[body 태그 속성]

 

data-spy="scroll"

"스크롤가능영역"으로 사용해야하는 요소에 추가. (보통, body 요소)
※ 해당 요소가 올바르게 작동하려면 position:relative 속성 필요.

 

메뉴 링크타겟(href="#section1")과 스크롤요소의 아이디(id="section1")가 대응되는지 확인.

 

data-target=".navbar"

네비게이션바의 (class 또는 ID) 입력. 네이게이션바가 "스크롤가능영역"과 연결되었는지 확인.

 

data-offset="50"

스크롤 위치 계산할 때, 위에서 오프셋 할 픽셀수 지정. (기본값: 10)

스크롤요소로 이동할 때 메뉴바 링크  활성상태가 너무 빨리 바뀐다 여겨질 때 설정하면 유용. 

 

 

Scrollspy 예제 - 수직

 

<style>

body {position: relative;}

ul.nav-pills {top: 20px;position: fixed;}

div.col-8 div {height: 500px;}

</style>


<body data-spy="scroll" data-target="#hz" data-offset="1">


<div class="container-fluid">

  <div class="row">

    <nav class="col-sm-3 col-4" id="hz">

      <ul class="nav nav-pills flex-column">

        <li class="nav-item">

          <a class="nav-link active" href="#section1">Section 1</a>

        </li>

        <li class="nav-item">

          <a class="nav-link" href="#section2">Section 2</a>

        </li>

        <li class="nav-item">

          <a class="nav-link" href="#section3">Section 3</a>

        </li>

        <li class="nav-item dropdown">

          <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#">Section 4</a>

          <div class="dropdown-menu">

            <a class="dropdown-item" href="#section41">Link 1</a>

            <a class="dropdown-item" href="#section42">Link 2</a>

          </div>

        </li>

      </ul>

    </nav>

    <div class="col-sm-9 col-8">

      <div id="section1" class="bg-success">    

        <h1>Section 1</h1>

        <p>홈짱닷컴</p>

      </div>

      <div id="section2" class="bg-warning"> 

        <h1>Section 2</h1>

        <p>Homzzang.com</p>

      </div>        

      <div id="section3" class="bg-secondary">         

        <h1>Section 3</h1>

        <p>홈페이지제작관리 + 서버관리</p>

      </div>

      <div id="section41" class="bg-danger">         

        <h1>Section 4-1</h1>

        <p>HTML CSS JS JQ BS</p>

      </div>      

      <div id="section42" class="bg-info">         

        <h1>Section 4-2</h1>

        <p>PHP SQL</p>

      </div>

    </div>

  </div>

</div>


</body>

 

결과보기


방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
basic BS4 - HOME (BS소개)
basic BS4 - Start (BS시작) - BS4다운 / BS4CDN / BS4구문
basic BS4 - Container (BS컨테이너) - 박스형 vs 와이드형 (= .container vs. .co…
basic BS4 - Grid (BS그리드)
basic BS4 - Text/Typography (BS글자 = BS텍스트)
basic BS4 - Color (BS색깔 = BS색상) - BS글자색 + BS배경색
basic BS4 - Table (BS테이블) - 테이블테두리 + 테이블배경색 + 반응형테이블
basic BS4 - Image (BS이미지) - 이미지모양 + 이미지정렬 + 반응형이미지
basic BS4 - Jumbotron (BS점보트론) - 박스형 vs 와이드형
basic BS4 - Alert (BS경고 = BS얼럿 = BS경보) - 배경색 + 글자색 + 링크색 + 닫기 + 애니…
basic BS4 - Button (BS버튼) - 버튼색깔 + 버튼크기 + 버튼활성화 + 버튼비활성화
basic BS4 - Button Group (BS버튼그룹)
basic BS4 - Badge (BS배지)
basic BS4 - Progress Bar (BS진행바 = BS진도바 = BS프로그레스바)
basic BS4 - Spinner (BS스피너 = BS회전 = BS로더)
basic BS4 - Pagination (BS페이지매기기 = BS페이지번호 = BS페이징 = BS패지네이션) + BS…
basic BS4 - List Group (BS리스트그룹)
basic BS4 - Card (BS카드) - Well (BS웰) + Panel (BS패널) + Thumbnail (B…
basic BS4 - Dropdown (BS드롭다운/BS드롭업 = BS드랍다운/BS드랍업)
basic BS4 - Collapse (BS접기 = BS컬랩스 = BS토글)
basic BS4 - Nav (네브) - 간단메뉴 + 일반탭 + 알약탭
basic BS4 - Navbar (메뉴바) - 네비게이션 메뉴바 (= 네브바 = 네비바) ※ BS4분기점
basic BS4 - Form (BS폼양식)
basic BS4 - Input (BS입력 = BS인풋)
basic BS4 - Input Group (BS입력그룹 = BS인풋그룹)
basic BS4 - Custom Form (BS커스텀폼)
basic BS4 - Carousel (BS캐러셀)
basic BS4 - Modal (BS모달)
basic BS4 - Tooltip (BS툴팁 = BS말풍선 허버형)
basic BS4 - Popover (BS팝오버) ★ - 클릭형말풍선
basic BS4 - Toast (BS토스트) - 순간말풍선 (= 팝업상자 = 짧은경고창 = 스낵바)
basic BS4 - Scrollspy (BS스크롤스파이) - 원페이지메뉴링크 (= 내부링크)
basic BS4 - Utilities (BS유틸클래스 + BS4추가클래스) ★★★★★
basic BS4 - Flex (BS플렉스박스) ★★★★★
basic BS4 - Icon (BS아이콘)
basic BS4 - Media Object (BS미디어객체) - 썸네일형, 요약형
basic BS4 - Filter (필터링) ★ - 테이블필터링 + 리스트필터링 + 드롭다운필터링 + div안 텍스트필…
grid BS4 - Grid (BS그리드) - 반응형 레이아웃 ★★★
grid BS4 - Grid Stacked-to-horizontal (BS그리드 수직정렬 → 수평정렬)
grid BS4 - Grid Extra Small (BS그리드 초소형기기) - .col-숫자, .col 클래스
grid BS4 - Grid Small (BS그리드 소형기기) - .col-sm-숫자, .col-sm 클래스
grid BS4 - Grid Medium (BS그리드 중형기기) - .col-md-숫자, .col-md 클래스
grid BS4 - Grid Large (BS그리드 대형기기) - .col-lg-숫자, .col-lg 클래스
grid BS4 - Grid Extra Large (BS그리드 초대형기기) - .col-xl-숫자, .col-xl 클…
grid BS4 - Grid Example (BS그리드 예제) ★
theme BS4 - Template (BS템플릿)
BS_bookmark BS4 - BS메가메뉴
BS_bookmark BS4 - Masonry (메이슨리) 갤러리
목록
찾아주셔서 감사합니다. Since 2012