CSS

CSS 기초 4

carrot62 2020. 8. 3. 00:59

Navigation Bars

A navigation bar is a list of links.

First step) Remove list markers, margin, and padding(margin and padding to remove browser default settings)

<style>

  ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
  }

</style>
<!------------------!>
<body>
<ul>
  <li><a href="#home">Home</a></li>
  <li><a href="#news">News</a></li>
  <li><a href="#contact">Contact</a></li>
  <li><a href="#about">About</a></li>
</ul>

</body>

기본 꾸미기)

<!DOCTYPE html>
<html>
<head>
<style>
ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  width: 200px;
  background-color: #f1f1f1;
}

li a {
  display: block;
  color: #000;
  padding: 8px 16px;
  text-decoration: none;
}

/* Change the link color on hover */
li a:hover {
  background-color: #555;
  color: white;
}
</style>
</head>
<body>

<h2>Vertical Navigation Bar</h2>

<ul>
  <li><a href="#home">Home</a></li>
  <li><a href="#news">News</a></li>
  <li><a href="#contact">Contact</a></li>
  <li><a href="#about">About</a></li>
</ul>

</body>
</html>

Second step) Vertical and Horizontal

여러 개의 링크 중 현재 머물러 있는 링크만 다른 색으로 표시하고 마우스로 hover해도 색이 바뀌지 않게 하려면:
현재 머물러 있는 링크는 특정 class(아래의 예제에서는 "active")에 지정해주고 hover 설정에 :not(."classname") 도 추가해준다.

li a.active {
  background-color: #4CAF50;
  color: white;
}

li a:hover:not(.active) {
  background-color: #555;
  color: white;
}