> 웹 프론트엔드 > CSS 튜토리얼 > 중첩된 CSS @media 규칙은 모든 브라우저에서 일관되게 작동합니까?

중첩된 CSS @media 규칙은 모든 브라우저에서 일관되게 작동합니까?

Susan Sarandon
풀어 주다: 2024-12-15 12:28:11
원래의
985명이 탐색했습니다.

Do Nested CSS @media Rules Work Consistently Across All Browsers?

CSS의 중첩 @media 규칙, 재검토

원래 질문에서는 중첩된 @media 규칙과 관련된 CSS 코드 조각의 일관되지 않은 렌더링을 탐구했습니다. 다양한 브라우저. 다음은 현재 브라우저 지원 상태를 기반으로 한 업데이트된 분석입니다.

CSS3의 중첩된 @media 규칙

CSS3의 CSS 조건부 규칙 모듈에 따라 중첩된 @media 이제 규칙이 완전히 지원됩니다. 다음 구문이 유효합니다.

@media print {
  #navigation { display: none }
  @media (max-width: 12cm) {
    .note { float: none }
  }
}
로그인 후 복사

브라우저 지원

Firefox, Safari, Chrome, Microsoft Edge 및 Opera를 포함한 최신 브라우저는 이제 중첩된 @media를 지원합니다. CSS 조건부 3에 정의된 규칙입니다. Internet Explorer는 이 기능을 지원하지 않습니다.

원본 문제

원래 질문의 코드는 여러 브라우저에서 일관되게 작동하지 않는 중첩된 @media 규칙을 보여주었습니다. 이는 당시 이전 버전의 브라우저에서 지원했던 사양인 CSS2.1에서 중첩에 대한 지원이 부족했기 때문이었습니다.

해상도

지원하는 브라우저의 경우 중첩된 @media 규칙을 지원하지 않으므로 해결 방법은 중첩을 제거하고 여러 @media 규칙을 작성하는 것입니다. 별도로:

@media screen and (min-width: 480px) {
    body {
        background-color: #6aa6cc;
        color: #000;
    }
}

@media screen and (min-width: 768px) {
    body {
        background-color: #000;
        color: #fff;
    }
}
로그인 후 복사

미디어 조건이 있는 @import

미디어 조건이 있는 @import 문이 일관되게 작동한 이유는 스타일시트를 조건부로 적용하는 것이 아니라 조건부로 적용하기 때문입니다. @media 내부에 중첩이 가능하기 때문입니다.

결론

CSS 조건부 3 사양에 따라 이제 중첩된 @media 규칙이 최신 브라우저에서 널리 지원됩니다. 이 기능을 지원하지 않는 기존 브라우저의 경우 간단한 해결 방법은 별도의 @media 규칙을 사용하는 것입니다.

위 내용은 중첩된 CSS @media 규칙은 모든 브라우저에서 일관되게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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