Flex 항목을 콘텐츠 크기보다 작게 줄일 수 없는 이유는 무엇입니까?
P粉432906880
P粉432906880 2023-08-21 22:36:03
0
2
504
<p>Flexbox 열이 4개 있고 모든 것이 잘 작동하지만 한 열에 일부 텍스트를 추가하고 큰 글꼴 크기로 설정하면 flex 속성으로 인해 열이 원래보다 넓어집니다. </p> <p><code>word-break: break-word</code>를 사용해 보았더니 도움이 되었지만 열의 크기를 아주 작은 너비로 조정하면 텍스트의 문자가 여러 줄로 나누어졌습니다(한 줄). 행당 문자), 단, 열 너비는 문자 크기보다 작지 않습니다. </p> <p>이 동영상 보기(처음에는 첫 번째 열이 가장 작지만 창 크기를 조정하면 가장 넓은 열이 됩니다. 항상 플렉스 설정을 존중하고 싶습니다. 플렉스 크기는 1:3입니다. 4:4)</p> <p>글꼴 크기와 열 패딩을 더 작은 값으로 설정하는 것이 도움이 될 것이라는 것을 알고 있습니다... 그런데 다른 해결 방법이 있나요? </p> <p><code>overflow-x: Hidden</code>을 사용할 수 없습니다. </p> <p>JSFiddle</p> <p><br /></p> <pre class="brush:css;toolbar:false;">.container { 디스플레이: 플렉스; 너비: 100% } .col { 최소 높이: 200px; 패딩: 30px; word-break: 단어를 깨다 } .col1 { 플렉스: 1; 배경: 주황색; 글꼴 크기: 80px } .col2 { 플렉스: 3; 배경: 노란색 } .col3 { 플렉스: 4; 배경 : 하늘색 } .col4 { 플렉스: 4; 배경: 빨간색 }</pre> <pre class="brush:html;toolbar:false;"><div class="container"> <div class="col col1">로렘 입숨 돌러</div> <div class="col col2">로렘 입숨 돌러</div> <div class="col col3">로렘 입숨 돌러</div> <div class="col col4">로렘 입숨 돌러</div>
<p><br /></p>
P粉432906880
P粉432906880

모든 응답(2)
P粉440453689

이로 인해 지난 몇 년 동안 플렉스와 그리드 모두에 여러 번 문제가 발생했다는 것을 알았으므로 다음을 제안합니다.

으아아아

이 동작이 필요한 경우 min-width: automin-height: auto를 사용하세요.

실제로 상자 크기를 추가하여 모든 레이아웃을 더욱 합리적으로 만들 수도 있습니다.

으아아아

이상한 결과가 나타나는지 아는 사람 있나요? 위의 방법을 몇년 동안 사용해 왔는데 아무런 문제가 없었습니다. 사실, flex/grid에서 안쪽으로 콘텐츠를 배치하는 것이 아니라 콘텐츠에서 바깥쪽으로 flex/grid로 레이아웃하려는 상황은 전혀 생각할 수 없습니다. 그리고 그러한 상황이 존재하는 경우는 확실히 드뭅니다. 그래서 이것은 나쁜 기본값처럼 느껴집니다. 하지만 제가 뭔가를 놓치고 있는 게 아닐까요?

P粉752479467

Flex 프로젝트의 자동 최소 크기

Flexbox의 기본 설정이 나타납니다.

Flex 항목은 주축의 콘텐츠 크기보다 작을 수 없습니다.

기본 설정은...

  • min-width: auto
  • min-height: auto

...행 및 열 방향으로 각각 플렉스 항목에 적용 가능합니다.

플렉스 항목을 다음과 같이 설정할 수 있습니다.

  • min-width: 0
  • min-height: 0
  • overflow: hidden(或任何其他值,除了visible)

Flexbox 사양

auto값 정보...

즉,

  • min-width: automin-height: auto默认仅在overflowvisible
  • overflowvisible인 경우에만 기본적으로 적용 가능합니다.
  • overflow的值不是visible,则min-size属性的值为0만약
  • .
  • overflow: hidden可以替代min-width: 0min-height: 0따라서 overflow:hidden
을 대체할 수 있습니다.

    그리고...
  • 최소 크기 알고리즘은 스핀들에서만 작동합니다. min-height: auto
  • 예를 들어 행 기반 컨테이너의 플렉스 항목은 기본적으로
  • 를 얻지 못합니다.
    • 자세한 설명은 다음 게시물을 참조하세요.
    • 최소 너비는 플렉스 방향: 행과 플렉스 방향: 열에서 다르게 렌더링됩니다

min-width: 0을 적용했지만 프로젝트가 여전히 축소되지 않나요?

중첩된 Flex 컨테이너

min-width: auto / min-height: auto

HTML 구조의 여러 수준에서 가변 항목을 사용하여 작업하는 경우 상위 수준 항목의 기본값

/min-width: auto的较高级别flex项目可以阻止下方嵌套的具有min-width: 0을 재정의할 수 있습니다.

기본적으로

가 포함된 상위 레벨 플렉스 항목은
white-space CSS 속성이 플렉스 레이아웃과 충돌합니다


수정된 데모

으아아아 으아아아
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿