P粉6048485882023-08-21 11:24:13
다음은 두 가지 일반적인 센터링 솔루션입니다.
수직 정렬을 위한 플렉스 아이템(flex-direction: column
),另一种用于水平对齐的弹性项目(flex-direction: row
).
두 경우 모두 중앙에 위치한 div의 높이는 가변적이거나 정의되지 않았거나 알 수 없거나 중요하지 않을 수 있습니다.
다음은 두 가지 모두에 대한 HTML 코드입니다.
으아악CSS (장식 스타일 제외)
플렉스 항목이 수직으로 쌓인 경우:
으아악Flex 항목이 가로로 쌓인 경우:
위 코드의 flex-direction
규칙을 조정하세요.
유연한 서식 지정 컨텍스트의 범위는 상위-하위 관계로 제한됩니다. 자식을 제외한 Flex 컨테이너의 자손은 Flex 레이아웃에 참여하지 않으며 Flex 속성을 무시합니다. 기본적으로 탄력적 속성은 자녀 외부로 상속될 수 없습니다.
따라서 flex 속성을 하위 요소에 적용하려면 항상 상위 요소에 display: flex
或display: inline-flex
를 적용해야 합니다.
텍스트나 기타 콘텐츠를 수직 및/또는 수평으로 중앙에 배치하려면 항목을 (중첩된) 플렉스 컨테이너로 만들고 중앙 정렬 규칙을 반복하세요.
으아악자세한 내용은 다음을 참조하세요. Flexbox에서 텍스트를 수직으로 정렬하는 방법은 무엇입니까?
또는 플렉스 아이템의 콘텐츠 요소에 margin: auto
를 적용할 수도 있습니다.
flex auto
여백에 대해 자세히 알아보세요. Flex 항목 정렬 방법 (상자 #56 참조).
플렉스 컨테이너에 여러 행이 있는 경우(줄 바꿈으로 인해) align-content
속성은 교차 축 정렬에 중요합니다.
출처:
자세한 내용은 다음을 참조하세요. flex-wrap은 align-self, align-items 및 align-content와 어떻게 작동하나요?
Flexbox는 IE < 10을 제외한 모든 주요 브라우저에서 지원됩니다. Safari 8 및 IE10과 같은 일부 최신 브라우저 버전에는 vendor 접두사가 필요합니다. 접두사를 빠르게 추가하려면 Autoprefixer를 사용할 수 있습니다. 자세한 내용은 이 답변을 참조하세요.
CSS 테이블과 위치 지정 속성을 사용하는 대체 센터링 솔루션은 다음 답변을 참조하세요. https://stackoverflow.com/a/31977476/3597276