> 웹 프론트엔드 > CSS 튜토리얼 > 여러 CSS 미디어 쿼리가 겹치면 어떻게 되나요?

여러 CSS 미디어 쿼리가 겹치면 어떻게 되나요?

Susan Sarandon
풀어 주다: 2024-12-05 18:20:15
원래의
885명이 탐색했습니다.

What Happens When Multiple CSS Media Queries Overlap?

미디어 쿼리 오버랩: Cascade Reigns Supreme

여러 미디어 쿼리가 동일한 뷰포트 크기와 일치하면 어떻게 되나요? 대답은 CSS의 핵심 원칙인 캐스케이드와 중첩 규칙에 있습니다.

캐스케이드 실행

@media 규칙은 일반 CSS 규칙과 마찬가지로 캐스케이드를 따릅니다. 여러 @media 규칙이 일치하면 일치하는 모든 스타일이 적용되고 계단식으로 충돌이 해결됩니다. 즉, 마지막으로 선언된 가장 구체적인 스타일 규칙이 적용됩니다.

중단점에서 중복

정확히 20em과 45em에서 첫 번째와 두 번째 미디어 쿼리 및 두 번째와 세 번째 미디어 쿼리가 각각 일치합니다. 브라우저는 그에 따라 규칙과 계단식 모두의 스타일을 적용합니다. 충돌하는 선언이 있는 경우 마지막에 선언된 규칙이 우선 적용됩니다.

구분 예시

다음 코드를 고려하세요.

@media (max-width: 20em) {
    .sidebar { display: none; }
}

@media (min-width: 20em) and (max-width: 45em) {
    .sidebar { display: block; float: left; }
}
로그인 후 복사

20em 와이드이면 두 미디어 쿼리가 모두 일치합니다. 계단식 재정의는 display: none(display: block 및 float: left)을 .sidebar 클래스가 있는 요소에 적용합니다.

상호 배제로 겹침 방지

겹침을 방지하려면 , 미디어 쿼리가 상호 배타적인지 확인하세요. 최소 및 최대는 포괄성을 나타냅니다. (최소 너비: 20em) 및 (최대 너비: 20em)은 모두 20em 너비의 뷰포트와 일치합니다.

소수 픽셀 값

CSS의 픽셀 값은 논리 픽셀입니다. 뷰포트 너비에 대한 분수 픽셀 값을 보고하는 브라우저를 찾을 수 없습니다. iOS의 Safari는 뷰포트가 799.5px인 경우에도 (최대 너비: 799px) 또는 (최소 너비: 800px)이 하나 이상의 규칙과 일치하는지 확인하기 위해 분수 값을 반올림합니다.

위 내용은 여러 CSS 미디어 쿼리가 겹치면 어떻게 되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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