CSS에서 인라인과 인라인 블록 요소의 차이점은 무엇입니까?

CSS에서 inlineinline-block는 요소의 display 속성에 할당할 수 있는 두 값입니다.

인라인 요소inline 가 있는 요소의 디스플레이는 외부 및 내부 디스플레이 유형을 모두 inline 로 설정합니다.

초기 블록 서식 컨텍스트에 의해 설정된 문서의 일반적인 흐름에서 인라인 항목은 인라인 서식 컨텍스트를 만듭니다. 외부 값이 inline인 항목은 한 줄에 차례로 정렬됩니다. 가로 공간이 충분하지 않으면 다음 줄로 이동합니다. 인라인 요소의 width는 콘텐츠의 너비로 정의됩니다. Vertical paddingmargin 는 인라인 노드의 줄 간격을 방해하므로 무시됩니다.
inline의 내부 유형(동일한 inline 키워드로 설정, 한 번 사용됨)은 자식(예: <span> 내부의 텍스트 노드)에 대한 인라인 서식 컨텍스트(IFC)를 생성하여 레이아웃 규칙을 따르도록 지시합니다. IFC 자체.

이것은 매우 사소하므로 inlineinline-block 를 비교할 때 예를 들어 보겠습니다.

인라인 블록 요소
인라인 블록 요소의 경우 display 속성을 inline-block 에 할당해야 합니다. 이렇게 하면 외부 디스플레이 유형이 inline 로 설정되고 내부 유형이 block 로 설정됩니다.

외부 디스플레이 값inline은 본질적으로 항목이 이웃 항목과 상호 작용할 때 인라인 항목으로 동작하도록 지시합니다. 내부 유형 block 은 블록 서식 컨텍스트를 생성하고 해당 하위에 블록 수준 규칙을 적용합니다.

자식에 대한 BFC를 만들면 세로 패딩과 여백을 가질 수 있습니다. 아래 예에서:

<div>
  Some very important text here. This should be a long one so that we can have multiple lines to see what is going on with vertical padding and margin. Then a
 <span class="with-vertical-pm">span with a dummy text. This span is an inline-block element.
  <div class="floated">
    A section with floated content. But this is contained oddly within a span.
  </div>
 </span>
</div>



.with-vertical-pm {
  display: inline-block;
  margin: 20px;
  padding: 20px;
  color: orange;
  border: 1px solid blue;
}

.floated {
  float: left;
  width: 200px;
  height: 100px;
  background-color: skyblue;
}

<span>는 더 이상 inline 요소가 아니라 inline-block 요소입니다. 이것은 세로 패딩과 여백을 갖는 유연성을 제공합니다.

동작을 볼 수 있습니다 this this codepen pen .
.floated가 기본적으로 플로트를 포함하는 BFC를 생성하기 때문에 <span> 클래스가 포함된 플로팅된 div가 display: inline-block; 요소의 경계 내에 포함되는 방법에 유의하십시오.

또한 외부 inline 디스플레이 덕분에 <span> 요소가 부모 div의 텍스트 노드와 관련하여 inline 요소로 작동하는 방식을 알 수 있습니다.


참조
  • The display Property
  • Display
  • 좋은 웹페이지 즐겨찾기