"flex"와 "inline-flex"의 차이점
짧은 답변:
하나는 인라인이고 다른 하나는 기본적으로 블록 요소처럼 반응하지만 일부 자체 차이점이 있습니다.
더 긴 답변 :
인라인 플렉스-인라인 버전의 flex는 요소와 그 자식이 문서 / 웹 페이지의 규칙적인 흐름을 유지하면서 플렉스 속성을 가질 수 있도록합니다. 기본적으로 너비가 충분히 작 으면 동일한 행에 두 개의 인라인 플렉스 컨테이너를 배치 할 수 있습니다. 이것은 "인라인 블록"과 매우 유사합니다.
Flex-컨테이너와 그 자식에는 flex 속성이 있지만 컨테이너는 문서의 정상적인 흐름에서 제외되어 행을 예약합니다. 문서 흐름 측면에서 블록 요소처럼 반응합니다. 과도한 스타일링없이 두 개의 flexbox 컨테이너가 동일한 행에 존재할 수 없습니다.
발생할 수있는 문제
예제에 나열된 요소로 인해 추측하고 있지만 flex를 사용하여 행 단위로 나열된 요소를 표시하려고하지만 요소를 나란히 계속보고 싶다고 생각합니다.
flex 및 inline-flex의 기본 "flex-direction"속성이 "row"로 설정되어 있기 때문에 문제가있을 수 있습니다. 자식들이 나란히 표시됩니다. 이 속성을 "column"으로 변경하면 요소가 부모의 너비와 동일한 공간 (너비)을 쌓고 예약 할 수 있습니다.
다음은 flex vs inline-flex 작동 방식과 인라인 vs 블록 요소 작동 방식에 대한 간단한 데모입니다.
display: inline-flex; flex-direction: row;
깡깡이
display: flex; flex-direction: row;
깡깡이
display: inline-flex; flex-direction: column;
깡깡이
display: flex; flex-direction: column;
깡깡이
display: inline;
깡깡이
display: block
깡깡이
또한 훌륭한 참조 문서 :
Flexbox에 대한 완전한 안내서-CSS 트릭
inline-flex
및flex
: jsfiddle.net/mgr0en3q/1 @ 물고기 그래픽 및 @astridx에 의해 원래 바이올린