CSS flexbox로 고정 너비 열을 설정하는 방법


149

CodePen : http://codepen.io/anon/pen/RPNpaP .

빨간색 상자가 나란히있을 때 너비가 25 em 밖에되지 않기를 원합니다.이 미디어 쿼리 안에 CSS를 설정하여이를 달성하려고합니다.

@media all and (min-width: 811px) {...}

에:

.flexbox .red {
  width: 25em;
}

그러나 그렇게하면이 일이 발생합니다 :

http://i.imgur.com/niFBrwt.png

내가 뭘 잘못하고 있는지 알아?

답변:


334

대신 flex또는 flex-basis속성을 사용해야합니다 width. MDN 에 대해 자세히 알아보십시오 .

.flexbox .red {
  flex: 0 0 25em;
}

flexCSS 속성은 사용 가능한 공간을 채우기 위해 그 크기를 변경할 수 플렉스 항목의 수를 지정하는 약식 속성이다. 그것은 포함합니다 :

flex-grow: 0;     /* do not grow   - initial value: 0 */
flex-shrink: 0;   /* do not shrink - initial value: 1 */
flex-basis: 25em; /* width/height  - initial value: auto */

간단한 데모는 첫 번째 열을 50px고정 너비 로 설정하는 방법을 보여줍니다 .


코드를 기반으로 업데이트 된 코드 펜을 참조하십시오 .


22
flex-shrink감사합니다. 좋은 대답 을 무시해야한다는 것을 몰랐습니다 .
Paul Redmond

플렉스 기반을 가져올 수 없습니다 : 자동 작업에 난 내 구성 요소 라이브러리의 그리드를 실현 때까지 (시맨틱 UI 반응) 컬럼의 기본 설정 불량 CSS의 규칙을 가지고 폭 😅 medium.freecodecamp.org/...
로마 SCHER

1

누구든지 백분율 (%)로 반응 형 flexbox를 원한다면 미디어 쿼리가 훨씬 쉽습니다.

flex-basis: 25%;

테스트 할 때 훨씬 매끄 럽습니다.

// VARIABLES
$screen-xs:                                         480px;
$screen-sm:                                         768px;
$screen-md:                                         992px;
$screen-lg:                                         1200px;
$screen-xl:                                         1400px;
$screen-xxl:                                        1600px;

// QUERIES
@media screen (max-width: $screen-lg) {
    flex-basis: 25%;
}

@media screen (max-width: $screen-md) {
    flex-basis: 33.33%;
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.