머리 내비 구조
로고·가운데 메뉴·로그인·주 버튼·햄버거 다섯 칸이에요. 폭에 따라 보이는 칸이 바뀌고, 모바일용 마크업은 따로 없어요.
넓은 화면은 로고, 가운데 메뉴, 로그인, 주 버튼이 한 줄에 놓여요. 좁은 화면은 로고, 주 버튼, 햄버거만 남아요.
- 1로고
nav__brand - 늘 보여요. 누르면 첫 화면으로 가요.
- 2가운데 메뉴
nav__links - 1024px 이상. 묶음은 메가 메뉴로 펼쳐요.
- 3로그인
nav__login - 1024px 이상. 좁으면 서랍 바닥으로 가요.
- 4주 버튼
nav__cta - 561px 이상. 진한 알약이라 첫 화면의 파랑 버튼과 다투지 않아요.
- 5햄버거
nav__burger - 1023px 이하. 오른쪽 서랍을 열어요.
헤더·서랍·푸터는 레이아웃(marketing)이 그려요. 화면마다 다시 부르지 않아요.
<%# app/views/layouts/marketing.html.erb 가 그린다. 화면에서 따로 부르지 않는다. %>
<%= render "shared/nav" %> <%# 머리 내비(스크롤하면 유리) %>
<%= render "shared/drawer" %> <%# 1023px 이하 서랍 %>
<main id="main"><%= yield %></main>
<%= render "shared/footer" %> <%# 푸터 %>
<%# shared/_nav 의 뼈대. 메뉴는 site_nav_items 가 채운다 %>
<header class="nav nav--site nav--balanced" data-nav>
<div class="container container--wide nav__inner">
<%= link_to site_home_path, class: "nav__brand", "aria-label": "#{brand(:name)} 홈" do %>
<%= render "shared/brand", size: 28 %>
<% end %>
<nav class="nav__links" aria-label="주 메뉴">
<ul class="nav__menu">…</ul>
</nav>
<div class="nav__actions">
<%= link_to "로그인", "/login", class: "btn btn--ghost btn--md nav__login" %>
<%= link_to "무료로 시작하기", "/signup", class: "btn btn--invert btn--md btn--pill nav__cta" %>
<button class="btn btn--ghost btn--md btn--square nav__burger" type="button"
data-drawer-open="site-drawer" aria-expanded="false"
aria-controls="site-drawer" aria-label="메뉴 열기"><%= icon("menu") %></button>
</div>
</div>
</header>