P粉1565327062023-08-28 13:19:46
Flex와 그리드가 수년 동안 저를 괴롭혀 왔다는 것을 알게 되었기 때문에 제가 제안하는 것은 다음과 같습니다.
으아악그런 다음 이 동작이 필요하면 min-width: auto
或 min-height: auto
를 사용하세요.
실제로 상자 크기를 추가하여 모든 레이아웃을 더욱 논리적으로 만들 수도 있습니다.
으아악이상한 결과가 나타나는지 아는 사람 있나요? 위의 방법을 혼합해서 사용해도 몇 년 동안 아무런 문제가 없었습니다. 사실 Flex/Grid에서 콘텐츠 안쪽으로 레이아웃하는 대신 콘텐츠에서 바깥쪽으로 Flex/Grid로 레이아웃하려는 경우는 전혀 생각할 수 없습니다. 물론 존재한다면 그런 경우는 드뭅니다. . 그래서 이것은 나쁜 기본값처럼 느껴집니다. 하지만 제가 뭔가를 놓치고 있는 게 아닐까요?
P粉0432953372023-08-28 12:43:23
Flexbox 기본 설정이 나타납니다.
Flex 항목은 주축을 따른 콘텐츠 크기보다 작을 수 없습니다.
기본값은...
最小宽度:自动
最小高度:自动
...행 및 열 방향 각각에 대한 유연한 항목입니다.
Flex 항목을 다음으로 설정하여 이러한 기본값을 무시할 수 있습니다.
最小宽度:0
最小高度:0
溢出:隐藏
(或任何其他值,可见
제외)auto
값 정보...
즉,
min-width: auto
和 min-height: auto
默认值仅在overflow
可见
.overflow
值不可见
,则min-size属性的值为0
. overflow: hide
可以替代 min-width: 0
和 min-height: 0
. 역시...
min-height: auto
를 얻지 못합니다. 중첩된 Flex 컨테이너
HTML 구조의 여러 수준에서 Flex 프로젝트로 작업하는 경우 상위 수준 프로젝트에서 기본값 min-width: auto
/ min-height: auto code>를 재정의할 수 있습니다.
기본적으로 min-width: auto
的更高级别的 Flex 项目可以防止使用 min-width: 0
를 사용하는 더 높은 수준의 Flex 프로젝트는
예: 에 문제를 일으킬 수 있습니다.
Chrome과 Firefox/Edge
🎜적어도 2017년부터 Chrome은 (1) min-width: 0
/ min-height: 0
默认值,或者 ( 2) 基于神秘算法在某些情况下自动应用 0
기본값으로 되돌아가는 것 같습니다. (이것이 아마도 intervention이라고 불리는 것일 것입니다.) 결과적으로 많은 사람들이 레이아웃(특히 필수 스크롤 막대)이 Chrome에서는 예상대로 작동하지만 Firefox/Edge에서는 작동하지 않는 것을 보고 있습니다. 이 문제는 여기에서 더 자세히 다룹니다. Firefox와 Chrome의 flex-shrink 차이점
IE11
사양에 명시된 대로 min-width
및 min-height
속성의 auto
값은 "new"입니다. 이는 일부 브라우저가 값을 업데이트하기 전에 Flex 레이아웃을 구현하고 0
이 최소 초기 값 0
값을 계속 렌더링할 수 있음을 의미합니다. href="http://www.w3.org/TR/CSS2/visudet.html#min-max-widths" rel=" -width 및 min-height< /code>noreferrer"> CSS 2.1
min-width
和 min-height
属性的 auto
值为“新”。这意味着某些浏览器默认情况下仍可能呈现 0
值,因为它们在更新该值之前实现了 Flex 布局,并且 0
是 min 的初始值CSS 2.1。 IE11 就是这样的浏览器。 其他浏览器已更新到较新的
flexbox 规范中定义的 auto
. IE11이 바로 그런 브라우저입니다.
flexbox auto<로 업데이트되었습니다. /code> 사양
.