CSS 파일에서 @import를 사용하지 않는 이유는 무엇입니까?
웹 사이트로드를 줄이고 유지 보수 난이도를 높이기 때문에 CSS 파일에서 @import를 사용하면 피해야합니다. 1. 병렬 다운로드를 방지하고 브라우저는 먼저 가져온 스타일 시트를 다운로드하기 전에 메인 스타일 시트를로드하여 중요한 렌더링 경로를 확장해야합니다. 2. 유지 보수 및 디버깅 어려움과 중첩 된 수입은 스타일 소스를 추적하기 어렵게 만듭니다. 3. 더 나은 대안은 <link> 태그 사용, 빌드 시간에 CSS 병합 및 CSS 전 처리기의 모듈 식 기능을 사용하는 것이 포함됩니다. 4. 조건부로드 된 인쇄 스타일과 같은 특정 시나리오에서는 여전히 사용할 수 있지만 대부분의 경우주의해서 사용해야합니다.
웹 사이트의로드 속도를 늦추고 유지 보수를 복잡하게 할 수 있기 때문에 주로 CSS 파일에서 @import
사용하지 않아야합니다. 스타일을 조직하는 데 편리한 것처럼 보이지만 성능 트레이드 오프는 일반적으로 그만한 가치가 없습니다.
병렬 다운로드를 차단합니다
최신 브라우저는 속도를 높이기 위해 CSS 파일을 동시에 다운로드합니다. 그러나 @import
사용하면 브라우저가 메인 스타일 시트를 먼저로드하기 전에 가져와야합니다. 이것은 중요한 렌더링 경로에 추가 시간을 더합니다.
예를 들어:
@import
사용하여 restet.css 및 layout.css를 가져 오는 main.css 파일이있는 경우, 브라우저는 main.css가 완전히 다운로드되고 구문 분석 될 때까지 reset.css 또는 layout.css를 다운로드하지 않습니다.
이로 인해 종속성 체인 및 페이지 렌더링이 지연됩니다.
유지하고 디버그하기가 더 어렵습니다
@import
사용하면 CSS 구조가 덜 투명하게 만들 수 있습니다. 스타일이 여러 중첩 된 수입에 걸쳐 확산되면 특정 스타일이 더 어려워지는 곳을 추적합니다.
또한:
- SASS와 같은 도구 및 전처리기 (SASS)는 종종 자체 기능으로 모듈 식 CS를 더 잘 처리합니다.
- 다른 사람이 나중에 코드에서 작업하면 스타일이 수입 파일에 깊숙이 묻힐 것으로 기대하지 않을 수 있습니다.
더 나은 대안을 사용할 수 있습니다
@import
대신, 이러한 현대적인 접근 방식을 고려하십시오.
-
<link>
태그 사용 : 브라우저는 별도의<link>
태그로 HTML에 직접 포함시킨 경우 여러 CSS 파일을 독립적으로 다운로드 할 수 있습니다. - 빌드 중 CSS를 연결합니다 : Webpack, Gulp 또는 PostCS와 같은 도구는 배포 중에 CSS 파일을 하나로 결합하여 조직을 희생하지 않고 HTTP 요청을 줄일 수 있습니다.
- CSS 변수 및 부분 (사전 처리기 포함)을 사용하십시오. SASS를 사용하는 경우 부분 및 Mixins를 활용하여 CSS 모듈화되고 깨끗하게 유지됩니다.
이 방법은 더 나은 성능과 명확한 구조를 제공합니다.
완전히 더 이상 사용되지는 않지만 (주의해서 사용)
조건부로 인쇄 스타일을로드하거나 스타일 시트 내부에 미디어 쿼리를 적용하는 것과 같은 @import
여전히 의미가있는 가장자리 사례가 있습니다. 예를 들어:
@import url ( 'print.css') 인쇄;
이를 통해 브라우저는 페이지를 인쇄 할 때 인쇄 만로드하도록 지시합니다. 그러나 여기서도 media
속성과 함께 별도의 <link>
태그를 사용하면 더 효율적으로 동일한 작업을 수행합니다.
따라서 @import
항상 나쁘지는 않지만 성능과 선명도가 중요한 대부분의 상황에서는 피하는 것이 가장 좋습니다.
기본적으로 그게 다야.
위 내용은 CSS 파일에서 @import를 사용하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

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

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

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

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

배경 필터는 요소 뒤의 내용에 시각적 효과를 적용하는 데 사용됩니다. 1. 배경 필터 : Blur (10px) 및 기타 구문을 사용하여 프로스트 유리 효과를 달성합니다. 2. 흐림, 밝기, 대비 등과 같은 여러 필터 기능을 지원하며 중첩 될 수 있습니다. 3. 유리 카드 디자인에 종종 사용되며 요소가 배경과 겹치도록해야합니다. 4. 현대식 브라우저는 지원이 좋으며 @Supports는 다운 그레이드 솔루션을 제공하는 데 사용될 수 있습니다. 5. 성능을 최적화하기 위해 과도한 흐림 값과 빈번한 다시 그리기를 피하십시오. 이 속성은 요소 뒤에 내용이있는 경우에만 적용됩니다.

VW 및 VH 장치는 요소 크기를 뷰포트 너비 및 높이와 연관시킴으로써 반응 형 디자인을 달성합니다. 1VW는 뷰포트 너비의 1%와 같고 1VH는 뷰포트 높이의 1%와 같습니다. 전체 스크린 영역, 반응 형 글꼴 및 탄성 간격에서 일반적으로 사용됩니다. 1. 모바일 브라우저 주소 막대의 영향을 피하기 위해 전체 화면 영역에서 100VH 이상 100DVH를 사용하십시오. 2. 반응 형 글꼴은 5VW로 제한 될 수 있으며 클램프 (1.5REM, 3VW, 3REM)와 결합하여 최소 및 최대 크기를 제한 할 수 있습니다. 3. 너비와 같은 탄성 간격 : 80VW, 마진 : 5VHAUTO, 패딩 : 2VH3VW, 레이아웃을 적응할 수있게 할 수 있습니다. 모바일 장치 호환성, 접근성 및 고정 너비 콘텐츠 충돌에주의를 기울이며 먼저 DVH 사용에 우선 순위를 부여하는 것이 좋습니다.

theaspect-ratiocsspropertydefinesthewidth-heightratioofanlement

The : emeltypseudo classselectselementswithnochildrenorcontent, suontspacesorcomments, meontrulyemptyelementslikematchit; 1. itcanhideemptycontainersbyusing : empty {display : none;} tocleanuplayouts; 2.itallowsaddingplosederstylingvia :: 이후, wh

@keyframesBounceWith0%, 100%Attranslatey (0) 및 50%Attranslatey (-20px) torecreateAbasicBounce.2.applyTheAnimationToAnElementUsingAnimation : Bounce0.6Sease-in-outinfiniteforsmooth, Continuous-Motion.3. keyframesricatistic-bouncouswithicwithwithwithwithwithwithwithwithwithwithwithwithwithwithwithwithwithwithwithictscceit

테두리가있는 div를 사용하여 세로 선을 신속하게 만들고 왼쪽과 높이를 설정하여 스타일과 높이를 정의하십시오. 2. 사용 :: pseudo-elements 후에 :: 추가 HTML 태그없이 수직선을 추가하여 장식적인 분리에 적합합니다. 3. Flexbox 레이아웃에서 분배기 클래스의 너비와 배경을 설정함으로써 탄성 컨테이너 사이의 적응 형 수직 분배기를 달성 할 수 있습니다. 4. CSSGRID에서는 수직 라인을 독립적 인 열 (예 : Autowidth 열)으로 그리드 레이아웃에 삽입하여 반응 형 설계에 적합합니다. 구조가 간단하고 유지하기 쉬운 지 확인하기 위해 특정 레이아웃 요구에 따라 가장 적절한 방법을 선택해야합니다.

CSS 의사 클래스는 요소의 특수 상태를 정의하는 데 사용되는 키워드입니다. 사용자 상호 작용 또는 문서 위치에 따라 스타일을 동적으로 적용 할 수 있습니다. 1.: 버튼과 같이 마우스가 호버링되면 호버가 트리거됩니다. 호버는 버튼 색상을 변경합니다. 2.: 포커스는 요소가 초점을 맞추면 양식 접근성을 향상시킬 때 적용됩니다. 3.:nth-Child ()는 위치별로 선택, 홀수, 짝수 또는 2n 1과 같은 공식을지지합니다. 4. : First-Child 및 : 최후의 자녀는 각각 첫 번째 및 마지막 어린이 요소를 선택합니다. 5.: nont ()는 지정된 조건과 일치하는 요소를 제외합니다. 6.:Visited 및 : 링크 액세스 상태를 기반으로 링크 세트 스타일이지만 : 방문 된 것은 개인 정보에 의해 제한됩니다.

숨겨진 확인란 및 CSS를 사용하십시오. 컨텐츠 디스플레이를 제어하기 위해 인접한 형제 자매 선택기 ()와 결합 된 확인 된 의사 클래스; 2. HTML 구조에는 붕괴 된 각 항목에 대한 입력, 레이블 및 컨텐츠 DIV가 포함되어 있습니다. 3. 최대 높이 전환을 설정하여 원활한 확장/붕괴 애니메이션; 4. 의사 요소로 개방/클로즈 상태 아이콘을 추가하십시오. 5. 라디오 유형을 사용하여 단일 개봉 모드를 구현하는 반면, 확인란은 여러 개구부를 허용합니다. 이것은 JavaScript가 필요하지 않고 최신 브라우저와 호환되는 대화식 접이식 메뉴 구현입니다.
