본문 바로가기
카테고리 없음

CSS display:inline-block

by flycoding 2023. 8. 26.
반응형

CSS display:inline-block 값

display: inline과 비교할 때, 주요 차이점은 display: inline-block을 사용하여 요소의 너비와 높이를 설정할 수 있다는 것이다.
또한 display: inline-block에서는 상단 및 하단 여백/패딩이 존중되지만 display: inline에서는 그렇지 않습니다.

display: block과 비교할 때, 주요 차이점은 display: inline-block은 요소 뒤에 줄 바꿈을 추가하지 않으므로 요소는 다른 요소 옆에 앉을 수 있습니다.

다음 예제에서는 inline, display: inline-block 및 display: block의 서로 다른 표시 동작을 보여 줍니다:

<!DOCTYPE html>
<html>
<head>
<style>
span.a {
  display: inline; /* the default for span */
  width: 100px;
  height: 100px;
  padding: 5px;
  border: 1px solid blue;  
  background-color: yellow; 
}

span.b {
  display: inline-block;
  width: 100px;
  height: 100px;
  padding: 5px;
  border: 1px solid blue;    
  background-color: yellow; 
}

span.c {
  display: block;
  width: 100px;
  height: 100px;
  padding: 5px;
  border: 1px solid blue;    
  background-color: yellow; 
}
</style>
</head>
<body>

<h1>display 속성</h1>

<h2>display: inline</h2>
<div>서울은 한국의 다른 도시에 비해 오래 전부터 서양에 잘 알려진 도시였기에, 서양에서는 각 언어권마다 자체적으로 표기를 만들어 쓰는 경우가 많다. 가장 보편적인 표기인 Seoul은 표준적인 로마자 표기법 제정 전부터 사용됐다.  <span class="a">남대문</span> <span class="a">동대문</span> 조선시대 서울의 공식 명칭은 한성이지만, 조선 후기에는 이미 수도를 뜻하던 일반명사 서울이 이 지역을 가리키는 것으로도 사용되었다. 때문에 역대 조선을 방문했던 외국인이 한성/한양보다 구어체인 서울을 자국어 음운에 맞게 표기했다. </div>

<h2>display: inline-block</h2>
<div>서울은 한국의 다른 도시에 비해 오래 전부터 서양에 잘 알려진 도시였기에, 서양에서는 각 언어권마다 자체적으로 표기를 만들어 쓰는 경우가 많다. 가장 보편적인 표기인 Seoul은 표준적인 로마자 표기법 제정 전부터 사용됐다. <span class="b">남대문</span> <span class="b">동대문</span> 조선시대 서울의 공식 명칭은 한성이지만, 조선 후기에는 이미 수도를 뜻하던 일반명사 서울이 이 지역을 가리키는 것으로도 사용되었다. 때문에 역대 조선을 방문했던 외국인이 한성/한양보다 구어체인 서울을 자국어 음운에 맞게 표기했다. </div>

<h2>display: block</h2>
<div>서울은 한국의 다른 도시에 비해 오래 전부터 서양에 잘 알려진 도시였기에, 서양에서는 각 언어권마다 자체적으로 표기를 만들어 쓰는 경우가 많다. 가장 보편적인 표기인 Seoul은 표준적인 로마자 표기법 제정 전부터 사용됐다. <span class="c">남대문</span> <span class="c">동대문</span> 조선시대 서울의 공식 명칭은 한성이지만, 조선 후기에는 이미 수도를 뜻하던 일반명사 서울이 이 지역을 가리키는 것으로도 사용되었다. 때문에 역대 조선을 방문했던 외국인이 한성/한양보다 구어체인 서울을 자국어 음운에 맞게 표기했다. </div>

</body>
</html>

span요소에 a 클래스는 display:inline을 설정하여 높이와 너비를 지정하였지만 inline속성으로 아래 그림과 같이 표시가 되고

span요소에 b 클래스는 display:inline-block을 설정하여 높이와 너비를 지정하면 inline에 block속성에 높이와 너비만큼 span 요소가 설정되어 표시된다. 

span요소에 c 클래스는 display:block을 설정하면 span요소가 줄바꿈하여 높이와 너비만큼 위치와 자리를 차지하여 배치된다.

상기 코드를 실행한 결과가 아래 그림과 같이 표시된다.

CSS display:inline, inline-block, block 값 설정 예시화면

 

inline-block으로 네비게이션링크 활용하기

디스플레이에 대한 공통 사용: inline-block은 수직 대신 수평을 표시할 수 있다. 다음 예는 수평 탐색 링크를 생성한다.

<!DOCTYPE html>
<html>
<head>
<style>
.nav {
  background-color: yellow; 
  list-style-type: none;
  text-align: center;
  margin: 0;
  padding: 0;
}

.nav li {
  display: inline-block;
  font-size: 20px;
  padding: 20px;
}
</style>
</head>
<body>

<h1>수평 네비게이션 링크</h1>
<p>기본적으로 목록 항목은 수직으로 표시됩니다. 이 예제에서는 inline-block을 사용하여 항목을 수평으로 표시합니다(나란하게 표시).</p>
<p>참고: 브라우저 창 크기를 조정하면 너무 붐빌 때 링크가 자동으로 끊어집니다.</p>

<ul class="nav">
  <li><a href="#home">홈</a></li>
  <li><a href="#about">우리는</a></li>
  <li><a href="#clients">고객들</a></li>  
  <li><a href="#contact">연락처</a></li>
</ul>

</body>
</html>

클래스 nav에 li요소에 display:inline-block값으로 설정하면 옆으로 나란히 li요소들이 배치된다. 위의 코드를 실행하면 아래 그림과 같다.

CSS display:inline-block 설정 네비게이션 링크

 

지금까지 CSS layout에 display:inline-block으로 설정하는 개념과 예제를 실습하였다.

꼭,,, 손으로, 눈으로, 머리로 코딩을 하며 실습하여 익히기를 바란다.

모두 화이팅입니다...

 

출처 : 이 글의 출처는 w3schools사이트를 참고하였으며 필자가 추가하여 정리한 글입니다.

반응형

댓글