> 웹 프론트엔드 > CSS 튜토리얼 > '박스 크기 조정'은 패딩을 사용한 Flexbox 축소 계수 계산에 어떤 영향을 줍니까?

'박스 크기 조정'은 패딩을 사용한 Flexbox 축소 계수 계산에 어떤 영향을 줍니까?

Susan Sarandon
풀어 주다: 2024-12-05 08:23:11
원래의
657명이 탐색했습니다.

How Does `box-sizing` Affect Flexbox Shrink Factor Calculations with Padding?

Flexbox Shrink Factor with Padding 및 Border-Box

Flexbox는 사용 가능한 공간에 따라 컨테이너 내의 항목 크기를 동적으로 조정합니다. flex-shrink 속성은 컨테이너가 모든 콘텐츠를 수용하기에는 너무 작은 경우 항목이 축소되는 방식을 제어합니다.

플렉스 항목에 패딩을 적용하는 경우 외부 너비에는 패딩과 콘텐츠가 모두 포함되지만 내부 너비에는 내용 자체만 포함합니다. 상자 크기 조정 속성은 플렉스 계산에 사용되는 너비를 결정합니다.

패딩 없음

스케일링된 플렉스 축소 인자 계산 공식(내부 플렉스 기본 크기에 플렉스를 곱함) 축소 요인)은 동일하게 유지됩니다.

:nth-child(1)  2 * 300 = 600
:nth-child(2)  1 * 200 = 200
:nth-child(3)  2 * 100 = 200

TOTAL = 1000
로그인 후 복사

총 음수 여유 공간 -200px, 축소 요소 및 그에 따른 내부 너비는 다음과 같습니다.

:nth-child(1)  600 / 1000 = .6
:nth-child(1)  .6 * -200px = -120px (resulting inner width: 180px)
:nth-child(2)  200 / 1000 = .2
:nth-child(2)  .2 * -200px =  -40px (resulting inner width: 160px)
:nth-child(3)  200 / 1000 = .2
:nth-child(3)  .2 * -200px =  -40px (resulting inner width:  60px)
로그인 후 복사

패딩 포함

패딩을 추가하면 콘텐츠에 사용할 수 있는 공간이 줄어들어 결과가 달라집니다. 내부 너비.

없음 테두리 상자

축소 계수는 패딩을 포함하지 않은 내부 플렉스 베이스 크기를 기준으로 계산됩니다. 결과 내부 너비는 다음과 같습니다.

:nth-child(1)  2 * 280 = 560
:nth-child(2)  1 * 180 = 180
:nth-child(3)  2 * 80 = 160

TOTAL = 900
로그인 후 복사

-260px의 음수 여유 공간을 사용하면 축소 요소와 내부 너비는 다음과 같습니다.

:nth-child(1)  560 / 900 = .622
:nth-child(1)  .622 * -260px = -162px (resulting inner width: 118px)
:nth-child(2)  180 / 900 = .2
:nth-child(2)  .2 * -260px =  -52px (resulting inner width: 128px)
:nth-child(3)  160 / 900 = .178
:nth-child(3)  .178 * -260px =  -46px (resulting inner width: 34px)
로그인 후 복사

테두리 상자 포함

box-sizing: border-box를 적용하면 플렉스 기본 크기에 콘텐츠와 패딩이 모두 포함됩니다. 축소 계수는 지정된 플렉스 속성에 사용 가능한 공간을 곱한 외부 플렉스 기본 크기를 사용하여 계산됩니다.

:nth-child(1)  2 * 320 = 640
:nth-child(2)  1 * 220 = 220
:nth-child(3)  2 * 120 = 240

TOTAL = 1100
로그인 후 복사

음수 여유 공간이 -200px인 경우 축소 계수와 내부 너비는 다음과 같습니다.

:nth-child(1)  640 / 1100 = .582
:nth-child(1)  .582 * -200px = -116px (resulting inner width: 204px)
:nth-child(2)  220 / 1100 = .2
:nth-child(2)  .2 * -200px =  -40px (resulting inner width: 180px)
:nth-child(3)  240 / 1100 = .218
:nth-child(3)  .218 * -200px =  -44px (resulting inner width: 76px)
로그인 후 복사

위 내용은 '박스 크기 조정'은 패딩을 사용한 Flexbox 축소 계수 계산에 어떤 영향을 줍니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿