<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width">
        <title></title>
        <link rel="stylesheet" href="reset.css">
    </head>
    <style>
        /* #container 요소의 높이를 뷰포트의 높이만큼 설정하기 위해 먼저 html 요소와 body 요소의
            높이부터 설정해야 한다. */
        /* body 요소의 높이의 100%는 부모 요소인 html의 컨텐츠 영역의 높이의 100%
            html에 담고 있는 컨텐츠는 없기 때문에 body 요소에만 높이를 100%로 설정하면 높이가 제대로
            설정되지 않는다. */
        /* 이때 html 요소에 높이를 100%로 설정하면 html의 부모 요소는 없기 때문에 담고 있는 컨텐츠에
            의해 높이가 결정된다. 이때 html의 컨텐츠 영역의 높이를 100%로 설정하면 높이가 뷰포트
            전체를 차지한다. */
        html, body { height: 100% ;}    /* % 단위의 기준: 부모 요소 컨텐츠 영역의 크기 */

        #container {
            height: 100%;

            /* 요소의 최소 너비를 설정 
               → 뷰포트를 아무리 줄여도 너비가 700px 미만으로 줄어들지 않고 스크롤바가 생긴다. */
            min-width: 700px;
        }

        #left-menu, #right-menu {
            /* float 속성을 적용했는데도 가상 요소 선택자를 주지 않는 이유?
               → 부모 요소인 #container의 높이가 고정되어 있기 때문에
                (float 속성을 설정했을때 발생하는 문제점을 해결하는 방법 중 첫 번째 방법) */
            float: left;
            width: 50%;
            height: 100%;
            
        }
        #left-menu {
            background: url("images/bg-chocolate.jpg") 50% 50% /cover no-repeat;

            /* h1 요소가 이 요소의 영역을 기준으로 배치되도록 */
            position: relative;
        }

        #left-menu > h1 {
            /* #left-menu 요소를 기준으로 중앙에 배치 */
            position: absolute;
            top: 50%; left: 50%;
            transform: translate(-50%, -50%);

            /* 크기 및 색상 설정 */
            width: 250px;
            height: 250px;
            border-radius: 50%;
            background-color: rgba(31, 17, 43, 0.9);
            color: #e1bcb4;
            font-size: 40px;
            font-weight: 900;
            letter-spacing: -1px;
            line-height: 250px;
            text-align: center;
        }

        #right-menu > li {
            /* 0.001% 오차는 육안으로 보이지 않기 때문에 무시해도 되는 작은 값이다. */
            height: 33.333%;
            background-color: #1f112b;

            /* 스크롤바가 생성되지 않게 하기 위해 */
            box-sizing: border-box;
        }

        #right-menu > li:not(:last-child) {
            /* border-bottom으로 인해 #left-menu와 높이를 똑같이 설정을 했어도 #left-menu의
                높이보다 더 높게 설정되어 스크롤바가 생기게 된다. */
            border-bottom: 1px solid #e1bcb4;
        }
        #right-menu > li > a {
            /* 메뉴 바의 a 요소는 버튼 형태로 표시 */
            display: block;

            /* a 요소에 기본적으로 적용되는 스타일 속성 초기화 */
            text-decoration: none;
            color: #e1bcb4;

            /* a 요소의 높이를 li 요소의 높이만큼 설정 */
            height: 100%;

            background-color: #1f112b;

            font-size: 20px;
            text-align: center;
            transition: 0.4s;
            /* line-height의 %의 기준: 적용하려는 요소의 font-size의 값
                → 그러므로 100%는 가변적인 값이기 때문에 높이의 100%가 아닌
                font-size인 20px의 100%로 설정된다. */
            /* line-height: 100%; */

            /* span 요소가 이 요소를 기준으로 배치되도록 */
            position: relative;
        }

        #right-menu > li > a:hover {
            letter-spacing: 25px;
            background-color: #0f0616;

            /* hover되었을 때 letter-spacing 속성이 중심을 기준으로 변하지 않는 문제가 생긴다.
                letter-spacing을 확인해보면 마지막 글자에도 25px만큼 여백이 생기기 때문이다.
                → 개발자도구의 오른쪽 마우스 → forse state → :hover를 클릭하면 확인 가능하다. 
                이를 해결할 수 있는 방법은 총 2가지가 있다. */
            /* 방법 (1): 25px만큼 들여쓰기 */
            text-indent: 25px;  
        }
        
        /* line-height 속성을 주지 않고 글자를 Y축을 기준으로 중앙에 배치하는 방법 */
        #right-menu > li > a > span {
            /* a 요소의 영역을 기준으로 중앙에 배치 */
            position: absolute;
            top: 50%; left: 50%;
            transform: translate(-50%, -50%);
            /* 방법 (2): 25px만큼 안쪽 여백을 주는 방법 */
            /* padding-left: 25px; */
        }
        
    </style>
    <body>
        <div id="container">
            <div id="left-menu">
                <h1>Chocolate</h1>
            </div>
            <ul id="right-menu">
                <li><a href="#about"><span>ABOUT</span></a></li>
                <li><a href="#shop"><span>SHOP</span></a></li>
                <li><a href="#blog"><span>BLOG</span></a></li>
            </ul>
        </div>
    </body>
</html>