CSS의 폭과 높이의 복잡성을 탐색합니다
Uri Shaked와 Michal Porag가 공동 저술 한이 기사는 CSS 폭과 높이 계산의 복잡성을 탐구합니다. CSS 사양의 광범위한 디버깅 및 분석을 바탕으로 요소 차원의 자주 예측되지 않은 동작을 풀어줍니다.
기본 개념 :
width: 640px;
및 height: 360px;
결과 640x360 픽셀 요소가 나타납니다. 그러나 패딩을 추가하면 이것을 변경합니다. padding: 10px;
, 기본 content-box
box-sizing
로 인해 렌더링 된 크기가 660x380px가됩니다. 박스 모델은 다음과 같이 너비와 높이를 계산합니다.
- 너비 :
width padding-left padding-right border-left border-right
- 높이 :
height padding-top padding-bottom border-top border-bottom
이것은 블록 레벨 요소에 적용됩니다 (예 :<div> ,,,<code><p> ,,,<code><main></main>
), 사용 가능한 너비를 채우도록 자연스럽게 확장됩니다. 인라인 요소는 다르게 행동합니다.
인라인 요소 뉘앙스 :
인라인 요소의 경우 (예 :<span></span>
), width
와 height
크게 무시됩니다. 치수는 내용에 따라 결정됩니다. 인라인 요소 내에서 블록 요소를 중첩하면 인라인 흐름이 방해되어 이러한 구별이 강조됩니다. 인라인 요소는 또한 top
및 bottom
마진을 무시합니다.
부모-자식 상호 작용 :
부모-자식 관계는 차원 계산에 크게 영향을 미칩니다.
상대 단위 : 백분율은 부모 요소의 차원과 관련이 있습니다.
width: 100%;
부모의 너비를 채택합니다. 높이도 비슷하게 동작합니다.패딩 및 마진 : 백분율 기반 패딩 및 마진은 수직 값에 대해서도 항상 부모의 너비 와 관련이 있습니다. 이 "패딩 핵"은 종횡비 속성이 선호되지만
aspect-ratio
상자를 생성하는 데 사용됩니다.display: inline
및inline-block
:display: inline;
display: inline-block;
인라인 동작과 블록 레벨 박스 모델 계산,margin
,width
및height
결합합니다.
주기적 비율 크기 :
선언 된 폭이없는 부모 내에서 상대 너비 (예 : 33%
)를 가진 아동 요소는 "순환 비율 크기 크기"시나리오를 만듭니다. 브라우저는 자녀의 내용에 따라 부모의 너비를 반복적으로 계산 한 다음 새로 계산 된 부모 너비에 비해 자녀의 비율 너비를 적용합니다.
min-width
, min-height
, max-width
, max-height
:
이 속성은 최소 및 최대 크기 제한을 정의합니다. 명시적인 너비 (예 : 100%
)에도 max-width
요소의 크기를 제한 할 수 있습니다. 학부모 요소가 관련 될 때, 특히 디스플레이와 관련된 결과를 스와핑하는 width
과 max-width
생성 할 수 있습니다 display: inline-block;
.
min()
, max()
및 clamp()
:
이러한 기능은 미디어 쿼리없이 반응 형 크기를 제공합니다.
-
min()
: 인수의 최소값을 반환합니다. -
max()
: 인수의 최대 값을 반환합니다. -
clamp()
:min()
과max()
의 조합.
이러한 기능은 반응 형 요소 차원을 정의하는 간결한 방법을 제공합니다.
결론:
CSS 폭과 높이 계산은 놀랍게도 복잡합니다. 명시 적 값이 지정되지만 렌더링 된 치수는 박스 모델, 요소 유형 (블록 대 인라인), 부모-자녀 관계, 상대 단위 및 기타 요인의 영향을받습니다. 이러한 복잡성을 이해하는 것은 정확한 레이아웃 제어에 중요합니다.
저자 : Uri Shaked와 Michal Porag
위 내용은 CSS의 폭과 높이의 복잡성을 탐색합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Google Fonts가 새로운 디자인 (트윗)을 출시 한 것을 볼 수 있습니다. 마지막 큰 재 설계와 비교할 때 이것은 훨씬 더 반복적 인 느낌이 듭니다. 차이를 간신히 말할 수 있습니다

프로젝트에 카운트 다운 타이머가 필요한 적이 있습니까? 그런 것은 플러그인에 도달하는 것이 당연하지만 실제로는 훨씬 더 많습니다.

새로운 프로젝트가 시작될 때, Sass 컴파일은 눈을 깜박이게합니다. 특히 BrowserSync와 짝을 이루는 경우 기분이 좋습니다.

타탄은 일반적으로 스코틀랜드, 특히 세련된 킬트와 관련된 패턴의 천입니다. tartanify.com에서 우리는 5,000 개가 넘는 타탄을 모았습니다

Inline-Template 지시문을 사용하면 기존 WordPress 마크 업에 대한 진보적 인 향상으로 풍부한 VUE 구성 요소를 구축 할 수 있습니다.

PHP 템플릿은 종종 서브 파 코드를 용이하게하는 데 나쁜 랩을 얻지 만, 그렇지 않아야합니다. PHP 프로젝트가 기본을 시행 할 수있는 방법을 살펴 보겠습니다.
