Bootstrap 오프캔버스 템플릿

1 개요[ | ]

Bootstrap 오프캔버스 템플릿
부트스트랩 Offcanvas 템플릿
  • 반응형 웹
  • 최신 온라인 css, js 적용
  • 한국어 적용 + 폰트 스타일 적용[1]
  • 점보트론 템플릿과 다른 점
상단 네비게이션바에 로그인 폼 뺴고, 메뉴 3개(홈, 소개, 연락) 추가됨
넓은 화면에서 점보트론 영역의 회색부분이 전체가 되지 않고 여백이 있음[2]
대신 오른쪽에 링크 목록이 있음
좁은 화면이 되면 링크 목록이 숨겨지고 점보트론 우상단에 네비게이션 토글 버튼이 생김
하단 작은 콘텐츠 영역이 6개임

2 소스 코드[ | ]

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>오프캔버스 템플릿</title>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/latest/css/bootstrap.min.css" rel="stylesheet">
<style type="text/css">
* { font-family: NanumGothic, 'Malgun Gothic'; }
/*
 * 스타일 변경
 * --------------------------------------------------
 */
html, body { overflow-x: hidden; /* 좁은 화면에서 스크롤 방지 */ }
body { padding-top: 70px; }
footer { padding: 30px 0; }

/*
 * 오프캔버스
 * --------------------------------------------------
 */
@media screen and (max-width: 767px) {
  .row-offcanvas {
    position: relative;
    -webkit-transition: all .25s ease-out;
         -o-transition: all .25s ease-out;
            transition: all .25s ease-out;
  }
  .row-offcanvas-right { right: 0; }
  .row-offcanvas-left { left: 0; }
  .row-offcanvas-right
  .sidebar-offcanvas { right: -50%; /* 컬럼 6개 */ }
  .row-offcanvas-left
  .sidebar-offcanvas { left: -50%; /* 컬럼 6개 */ }
  .row-offcanvas-right.active { right: 50%; /* 컬럼 6개 */ }
  .row-offcanvas-left.active { left: 50%; /* 컬럼 6개 */ }
  .sidebar-offcanvas {
    position: absolute;
    top: 0;
    width: 50%; /* 컬럼 6개 */
  }
}
</style>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/latest/js/bootstrap.min.js"></script>
<script>
$(document).ready(function () {
  $('[data-toggle="offcanvas"]').click(function () {
    $('.row-offcanvas').toggleClass('active')
  });
});
</script>
</head>
<body>
 
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="sr-only">네비게이션 토글</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">오프캔버스</a>
    </div>
    <div class="navbar-collapse collapse">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#"></a></li>
        <li><a href="#about">소개</a></li>
        <li><a href="#contact">연락</a></li>
      </ul>
    </div><!-- /.nav-collapse -->
  </div><!-- /.container -->
</div><!-- /.navbar -->
 
<div class="container">
  <div class="row row-offcanvas row-offcanvas-right">
    <div class="col-xs-12 col-sm-9">
      <p class="pull-right visible-xs">
        <button type="button" class="btn btn-primary btn-xs" data-toggle="offcanvas">네비게이션 토글 버튼</button>
      </p>
      <div class="jumbotron">
        <h1>안녕, 친구들!</h1>
        <p>오프캔버스 레이아웃 패턴을 보여주는 예시입니다. 반응형 범위 뷰포트 크기를 살펴보세요.</p>
      </div>
      <div class="row">
        <div class="col-6 col-sm-6 col-lg-4">
          <h2>헤딩</h2>
          <p>우리나라의 말이 중국과 달라 문자가 서로 통하지 않는데 이런 이유로 어리석은 백성이 말하고자 하는 바가 있어도 마침내 제 뜻을 능히 펴지 못하는 사람이 많으니라. 내 이를 불쌍히 여겨 새로 스물여덟 자를 만드니 사람마다 하여금 쉽게 익혀 매일 쓰기에 편안하게 하고자 할 따름이니라.</p>
          <p><a class="btn btn-default" href="#" role="button">더보기 &raquo;</a></p>
        </div>
        <div class="col-6 col-sm-6 col-lg-4">
          <h2>헤딩</h2>
          <p>우리나라의 말이 중국과 달라 문자가 서로 통하지 않는데 이런 이유로 어리석은 백성이 말하고자 하는 바가 있어도 마침내 제 뜻을 능히 펴지 못하는 사람이 많으니라. 내 이를 불쌍히 여겨 새로 스물여덟 자를 만드니 사람마다 하여금 쉽게 익혀 매일 쓰기에 편안하게 하고자 할 따름이니라.</p>
          <p><a class="btn btn-default" href="#" role="button">더보기 &raquo;</a></p>
        </div>
        <div class="col-6 col-sm-6 col-lg-4">
          <h2>헤딩</h2>
          <p>우리나라의 말이 중국과 달라 문자가 서로 통하지 않는데 이런 이유로 어리석은 백성이 말하고자 하는 바가 있어도 마침내 제 뜻을 능히 펴지 못하는 사람이 많으니라. 내 이를 불쌍히 여겨 새로 스물여덟 자를 만드니 사람마다 하여금 쉽게 익혀 매일 쓰기에 편안하게 하고자 할 따름이니라.</p>
          <p><a class="btn btn-default" href="#" role="button">더보기 &raquo;</a></p>
        </div>
        <div class="col-6 col-sm-6 col-lg-4">
          <h2>헤딩</h2>
          <p>우리나라의 말이 중국과 달라 문자가 서로 통하지 않는데 이런 이유로 어리석은 백성이 말하고자 하는 바가 있어도 마침내 제 뜻을 능히 펴지 못하는 사람이 많으니라. 내 이를 불쌍히 여겨 새로 스물여덟 자를 만드니 사람마다 하여금 쉽게 익혀 매일 쓰기에 편안하게 하고자 할 따름이니라.</p>
          <p><a class="btn btn-default" href="#" role="button">더보기 &raquo;</a></p>
        </div>
        <div class="col-6 col-sm-6 col-lg-4">
          <h2>헤딩</h2>
          <p>우리나라의 말이 중국과 달라 문자가 서로 통하지 않는데 이런 이유로 어리석은 백성이 말하고자 하는 바가 있어도 마침내 제 뜻을 능히 펴지 못하는 사람이 많으니라. 내 이를 불쌍히 여겨 새로 스물여덟 자를 만드니 사람마다 하여금 쉽게 익혀 매일 쓰기에 편안하게 하고자 할 따름이니라.</p>
          <p><a class="btn btn-default" href="#" role="button">더보기 &raquo;</a></p>
        </div>
        <div class="col-6 col-sm-6 col-lg-4">
          <h2>헤딩</h2>
          <p>우리나라의 말이 중국과 달라 문자가 서로 통하지 않는데 이런 이유로 어리석은 백성이 말하고자 하는 바가 있어도 마침내 제 뜻을 능히 펴지 못하는 사람이 많으니라. 내 이를 불쌍히 여겨 새로 스물여덟 자를 만드니 사람마다 하여금 쉽게 익혀 매일 쓰기에 편안하게 하고자 할 따름이니라.</p>
          <p><a class="btn btn-default" href="#" role="button">더보기 &raquo;</a></p>
        </div>
      </div><!--/row-->
	</div>
	<div class="col-xs-6 col-sm-3 sidebar-offcanvas" id="sidebar" role="navigation">
      <div class="list-group">
        <a href="#" class="list-group-item active">링크</a>
        <a href="#" class="list-group-item">링크</a>
        <a href="#" class="list-group-item">링크</a>
        <a href="#" class="list-group-item">링크</a>
        <a href="#" class="list-group-item">링크</a>
        <a href="#" class="list-group-item">링크</a>
        <a href="#" class="list-group-item">링크</a>
        <a href="#" class="list-group-item">링크</a>
        <a href="#" class="list-group-item">링크</a>
        <a href="#" class="list-group-item">링크</a>
      </div>
    </div>
  </div><!--/row-->
 
  <hr>
  <footer>
    <p>&copy; Jmnote.com 2014</p>
  </footer>
</div><!--/.container-->
 
</body>
</html>

3 같이 보기[ | ]

4 주석[ | ]

  1. 나눔고딕, 맑은고딕 폰트 적용
  2. 점보트론 영역이 하단 콘텐츠 조각들과 같은 container에 들어감. + body의 padding-top을 50px → 70px로 수정

5 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}