CSS Display

block(Default 설정)

코드

// HTML
<body>
  <p class="green">green</p>
  <p class="blue">blue</p>
  <p class="black">black</p>
</body>
// CSS
p {
  font-size: 50px;
  text-align: center;
  color: white;
}

.green {
  background-color: green;
}

.blue {
  background-color: blue;
}

.black {
  background-color: black;
}

결과

HTML의 원소들은 CSS로 높이(height)와 너비(width)를 따로 설정해주지 않으면 기본적으로 content높이 만큼의 높이화면너비 만큼의 너비를 가지며 다음 원소는 이전 원소 아래에 위치하게 된다. 이러한 특징은 display라는 속성을 이용하면 변경할 수 있는데, 위와 같이 아무 선언이 없다면 default값인 “block”으로 지정되게 된다.

너비를 지정해준 경우

너비를 아래와 같이 지정해 줘도 다음 원소는 이전 원소 아래에 위치하게 된다.

p {
  font-size: 50px;
  text-align: center;
  color: white;
  width: 300px;          // add
}

.green {
  background-color: green;
}

.blue {
  background-color: blue;
}

.black {
  background-color: black;
}

inline

코드

// HTML
<body>
  <p class="green">green</p>
  <p class="blue">blue</p>
  <p class="black">black</p>
</body>
// CSS
p {
  font-size: 50px;
  text-align: center;
  color: white;
}

.green {
  display: inline;            // inline
  background-color: green;
}

.blue {
  display: inline;            // inline
  background-color: blue;
}

.black {
  width: 300px;               // 너비 변경이 반영 안됨!!
  height: 300px;              // 높이 변경이 반영 안됨!!
  display: inline;            // inline
  background-color: black;
}

결과

display를 inline으로 설정해주면 해당 HTML 원소들의 높이와 너비는 content크기와 똑같이 되며 다음 원소는 이전 원소의 오른쪽에 위치하게 된다. 또한 width와 height를 강제로 변경해주어도 변하지 않는다.

content 너비가 클 경우

위와 같이 컨텐츠 너비가 화면 너비보다 크면 다음 원소는 자동으로 아래로 내려간다.

inline-block

코드

// HTML
<body>
  <p class="green">green</p>
  <p class="blue">blue</p>
  <p class="black">black</p>
</body>
// CSS
p {
  font-size: 50px;
  text-align: center;
  color: white;
}

.green {
  display: inline;
  background-color: green;
}

.blue {
  display: inline;
  background-color: blue;
}

.black {
  width: 1200px;                // 높이나 너비 설정 가능하다
  display: inline-block;        // inline-block
  background-color: black;
}

결과

inline-block은 inline과 block 두 속성의 특징을 모두 지니고 있다. inline에서는 원소의 배치 속성을, block에서는 원소의 크기설정 속성을 지니고 있어 inline과 같이 이전 원소 오른쪽에 다음 원소가 배치되지만 block과 같이 원소의 높이나 너비를 설정할 수 있다.

content 너비가 클 경우

inline 속성과 같이 컨텐츠 너비가 화면 너비보다 크면 다음 원소는 자동으로 아래로 내려간다.

none

코드

<body>
  <p class="green">green</p>
  <p class="blue">blue</p>
  <p class="black">black</p>
</body>
p {
  font-size: 50px;
  text-align: center;
  color: white;
  width: 300px;
  height: 300px;
}

.green {
  display: inline;
  background-color: green;
}

.blue {
  display: none;                // non
  background-color: blue;
}

.black {
  display: inline;
  background-color: black;
}

결과

display를 none으로 설정하면 해당 원소는 화면에 나타나지 않을 뿐만 아니라 높이와 너비도 없어 그냥 없는 원소처럼 취급된다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

최신글