코드 작업에 앞서 디폴트 값을 제거하기 위해 아래와 같이 margin
, padding
, text-decoration
등을 없애는 작업을 했다. 특히 a
태그의 경우 text-decoration: none;
으로 밑줄이 제거가 되질 않아 a:link
, a:visited
, a:hover
를 사용해서 없애줬다.(왜일까..?)
body,div,span,h1,h2,h3,h4,h5,h6,header,
section,footer,nav,img,form,figcaption,figure,i,p {
margin: 0;
padding: 0;
border: 0;
}
ol,
ul {
list-style: none;
padding: 0;
margin: 0;
}
a:link {
color: red;
text-decoration: none;
}
a:visited {
color: black;
text-decoration: none;
}
a:hover {
color: blue;
text-decoration: underline;
}
앞서 작성한 레이아웃 구성을 참고하여 코드는 아래와 같이 짜보았다.
<header class="grid">
<h1 class="title"><a href="index.html">Somi Hwang</a></h1>
<nav></nav>
<div class="icons"></div>
</header>
<main class="scroll_container">
<div id="section1" class="content_box">
</div>
<div id="section2" class="content_box">
</div>
<div id="section3" class="content_box">
</div>
<div id="section4" class="content_box">
</div>
</main>
<footer></footer>
position: fixed
를 통해 상단에 헤더를 고정시킬 수 있었는데, fixed
를 사용할 경우 아래 본문의 내용 상단이 header
의 높이 만큼 가려져 본문에 padding-top
을 줬어야 했다.position: sticky
라는 속성을 통해서 이러한 문제를 해결할 수 있음을 발견했다!(수정: 처음에 display: sticky
를 사용했는데, 그렇게하면 section
이 header
아래에서 시작하게 된다는 걸 깨달았다. 그래서 최종 페이지에는 다시 display: fixed
로 바꿔서 적용했다.)
display: inline
을 통해 nav
와 icons
의 li
를 가로로 정렬할 수 있게 되었지만, 코드펜 작업창에서도 볼 수 있듯이 창이 작아지면 이 항목들이 세로정렬이 된다는 문제점을 발견했다.title
, nav
, icons
를 3행으로 세로 정렬하는 것으로 바꾸었다.display: flex
와 flex-direction: column
을 이용하여 세로로 정렬되게끔 조정하였다.a
태그의 css가 먹히지 않는 문제.(클래스와 아이디값을 부여한 게 문제일까?), hover시 색이 바뀌는 효과를 내야한다!!하루종일 header
구현하는데에 시간을 다 써버렸다. 좌절스럽기도 하지만 폰노이만이 그랬던가 공부는 이해하는게 아니라 익숙해지는 거라고...(쥬륵) 하나하나 끝까지 해봐야겠다는 생각이 들었다. 다음편은 section
구성! 흥미진진하다~!