본문 바로가기

나혼자 웹 독학 - css flex(플렉스)를 활용한 메뉴바 만들기

베트남 리뷰어 2020. 8. 1.
반응형

안녕하세요

간단한 html, css를 이용한 menubar를 만들어 보려 합니다

기본적으로 display : flex; 가 들어가는 방식입니다

 

<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Menu</title>
    <link rel="stylesheet" href="css/style.css" />
  </head>
  <body>
    <!-- 메뉴바 만들기 -->
    <nav class="menubar">
      <div class="menu_logo">안녕하세요1</div>
      <div class="menu_menu">안녕하세요2</div>
      <div class="menu_etc">안녕하세요3</div>
    </nav>
  </body>
</html>

 

위와 같이 큰 menubar 라는 박스안에 3개의 div 가 안에 있습니다 (menu_logo, menu_menu, menu_etc)

/* 바디 속성 지정 */
body {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* menubar 속성 */
.menubar {
  background-color: lightgreen;
  font-size: 30px;
  display: flex; /* 3개의 박스를 담는 가장 큰 박스에 flex*/
  justify-content: space-between; /* justify-content 속성으로 3개를 동일한 간격 */
  align-items: center; /* 이 개념은 박스에 수직으로 중앙값을 자동으로 찾기 */
}

 

이제 display, justify-content, align-items 의 css 값만 살짝 건드려 주면 이렇게 배치가 됩니다

순서 : display:flex -> justify-content : space-between -> align-item : center

  • display : flex
  • justify-content : space-between
  • align-items : center

위의 세가지 옵션을 사용하면 자동으로 div박스가 배치됩니다

이제 예제는 끝났고 진짜 메뉴와 같이 만들어보면!!

 

화이트 블랙 톤의 간단한 메뉴바

화이트 & 블랙 톤으로 깔끔하고 간단한 메뉴를 만들어 보았습니다

menu에 a 링크의 text-decoration 기능으로 마우스가 올려졌을 때 밑줄이 그어지는 기능까지 추가하였습니다

위 의말은 hover 효과라고하는데, 마우스가 올려졌을 시 효과를 주는 방법입니다

사용해보시고 싶으신 분들을 위해 밑에 간단하게 소개해드리도록 하겠습니다

 

/* CSS 마우스 오버 효과 */
a:hover {
	text-decoration : underline; /* 밑줄 기능*/
	opacity : .5; /* 투명도를 주는 기능 */
	color : gray; /* 글자의 색을 변경하는 기능 */
}

 

이 외에도 다양한 기능들이 많습니다

다음에 더 자세히 다루어보면 좋을것 같습니다, 감사합니다

 

혼자 코딩을 하다 보니 혹시 더 좋은 방법 또는 궁금하신 사항이 있으시면 댓글 남겨주세요

같이 열심히 공부하면 좋겠습니다

반응형

댓글