CSS flex, 첫 번째 줄에 하나의 항목을 표시하고 다음 줄에 두 개의 항목을 표시하는 방법
이것은 매우 간단한 질문이지만, 플렉스 컨테이너에 3 개의 항목을 2 개 행으로 표시 할 수 없습니다. 하나는 첫 번째 행에, 다른 하나는 두 번째 행에 표시합니다. 플렉스 컨테이너의 CSS입니다. 분명히 한 줄에 3 개의 항목을 표시합니다. :)
div.intro_container {
width: 100%;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
}
가로 flex-wrap
설정된 경우 wrap
3 개 항목이 열에 표시됩니다. 여러 줄에 컨테이너 항목을 표시하려면 포장 설정이 필요하다고 생각했습니다. 첫 번째 컨테이너 항목에 대해이 CSS를 시도하여 첫 번째 행 전체를 차지하려고했지만 작동하지 않았습니다.
div.intro_item_1 {
flex-grow: 3;
}
"CSS-Tricks"의 지침을 따랐 지만 어떤 명령 조합을 사용해야하는지 잘 모르겠습니다. 내가 이것에 의아해하기 때문에 어떤 도움이라도 매우 환영받을 것입니다.
다음과 같이 할 수 있습니다.
.flex {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
.flex>div {
flex: 1 0 50%;
}
.flex>div:first-child {
flex: 0 1 100%;
}
<div class="flex">
<div>Hi</div>
<div>Hello</div>
<div>Hello 2</div>
</div>
다음은 데모입니다. http://jsfiddle.net/73574emn/1/
이 모델은 하나의 "행"이 가득 차면 줄 바꿈에 의존합니다. 첫 번째 항목 flex-basis
을 100 %로 설정 했으므로 첫 번째 행을 완전히 채 웁니다. 에 특별한주의flex-wrap: wrap;
Nico O의 대답이 맞습니다. 그러나 이것은 Internet Explorer 10-11 및 Firefox에서 원하는 결과를 얻지 못합니다.
IE의 경우
.flex > div
{
flex: 1 0 50%;
}
...에
.flex > div
{
flex: 1 0 45%;
}
트릭을하는 것 같습니다. 이유를 묻지 마십시오. 더 이상 설명하지 않았지만 IE가 테두리 상자를 렌더링하는 방법과 관련이있을 수 있습니다.
In the case of Firefox I solved it by adding
display: inline-block;
to the items.
'Programing' 카테고리의 다른 글
ViewPager의 상위 Fragment가 숨겨져 표시되면 ViewPager의 Fragment의 뷰가 손실 됨 (0) | 2020.11.21 |
---|---|
AngularJS의 라디오 버튼에 대해 ng-model이 작동하지 않습니다. (0) | 2020.11.21 |
MongoDB 및 Mongoose에서 전체 텍스트 검색을 수행하는 가장 좋은 방법 (0) | 2020.11.21 |
비트 프로그래밍에서 (숫자 및-숫자)는 무엇을 의미합니까? (0) | 2020.11.21 |
Rust에서 함수를 작성하는 방법은 무엇입니까? (0) | 2020.11.21 |