웹 프론트엔드 CSS 튜토리얼 CSS가 웹 페이지 로딩 효율성에 미치는 영향 분석 및 요약_경험 교환

CSS가 웹 페이지 로딩 효율성에 미치는 영향 분석 및 요약_경험 교환

May 16, 2016 pm 12:05 PM
css 영향 능률

Nous avons répertorié plus d'une douzaine de points de connaissances et d'attention connexes. Vous pouvez en discuter systématiquement pour faciliter l'ouverture des pages Web que nous écrivons.
E-text를 읽을 수 없다고 말하지 마세요. 단지 읽고 싶지 않다는 뜻일 뿐입니다! ! !

  1、스타일 시스템이 규칙을 분할하는 방법 
  스타일 시스템은 규칙을 네 가지 주요 범주로 나눕니다. 이러한 범주는 규칙 일치와 관련된 첫 번째 방어선이므로 이해하는 것이 중요합니다. 다음 단락에서는 키 선택기라는 용어를 사용합니다. 키 선택기는 ID 선택기, 클래스 선택기 또는 태그 선택기 중 가장 오른쪽에 나타나는 것으로 정의됩니다. 

  1.1、ID 규칙 
  첫 번째 카테고리는 ID 선택기를 키 선택기로 갖는 규칙으로 구성됩니다. 

button#backButton { } /* 이것은 ID로 분류된 규칙입니다.*/
#urlBar[type="autocomplete"] { } /* 이것은 ID로 분류된 규칙입니다 */
트리항목 > 트리로우 > treecell#myCell :active { } /* 이것은 ID로 분류된 규칙입니다 */
  1.2、클래스 규칙 
규칙에 키 선택기로 지정된 클래스가 있는 경우 이 카테고리에 속합니다. 

button.toolbarButton { } /* 클래스 기반 규칙 */
.fancyText { } /* 클래스 기반 규칙 */
menuitem > .menu-left[checked="true"] { } /* 클래스 기반 규칙 */
  1.3、태그 규칙 
  클래스 또는 ID가 키 선택기로 지정되지 않은 경우 다음 잠재적 카테고리는 규칙은 태그 카테고리입니다. 규칙에 키 선택기로 지정된 태그가 있는 경우 해당 규칙은 이 카테고리에 속합니다. 

td { } /* 태그 기반 규칙 */
treeitem > treerow { } /* 태그 기반 규칙 */
input[type="checkbox"] { } /* 태그 기반 규칙 */
  1.4、범용 규칙 
  다른 모든 규칙은 여기에 속합니다. 범주. 


:table { } /* 범용 규칙 */
[hidden="true"] { } /* 범용 규칙 */
* { } /* 범용 규칙 */
나무 > [collapsed="true"] { } /* 범용 규칙*/
  2, 스타일 시스템이 규칙과 일치하는 방법
  스타일 시스템은 가장 오른쪽 선택기부터 시작하여 규칙 선택기를 통해 왼쪽으로 이동하여 규칙과 일치합니다. 작은 하위 트리가 계속 체크아웃하는 한, 스타일 시스템은 규칙과 일치하거나 불일치로 인해 구제될 때까지 계속 왼쪽으로 이동합니다. 
  첫 번째 방어선은 키 선택기의 유형에 따라 발생하는 규칙 필터링입니다. 이 분류의 목적은 규칙을 필터링하여 일치시키려고 시간을 낭비하지 않도록 하는 것입니다. 이것이 성과를 획기적으로 향상시키는 열쇠입니다. 특정 요소를 확인해야 하는 규칙이 적을수록 스타일 해결이 더 빨라집니다. 예를 들어 요소에 ID가 있는 경우 요소의 ID와 일치하는 ID 규칙만 확인됩니다. 요소에 있는 클래스에 대한 클래스 규칙만 확인됩니다. 태그와 일치하는 태그 규칙만 확인됩니다. 범용 규칙은 항상 확인됩니다. 

  3、효율적인 CSS를 위한 지침 
  3.1、보편적인 규칙을 피하세요! 
  규칙이 범용 카테고리에 포함되지 않는지 확인하세요!

  3.2、태그 이름이나 클래스로 ID 분류 규칙을 한정하지 마세요.
  ID 선택기가 키 선택기로 있는 스타일 규칙이 있는 경우 태그 이름도 추가하지 마세요. 규칙. ID는 고유하므로 실제 이유 없이 일치 속도가 느려집니다. 


复代码 代码如下:

BAD - 버튼#backButton { }  
나쁨 - .menu-left#newMenuIcon { }  
좋음 - #backButton { }  
좋음 - #newMenuIcon { }  

  3.3、클래스 분류에 적합하지 않음 태그 이름이 있는 규칙
  위의 규칙과 유사하게 모든 클래스는 고유합니다. 사용해야 하는 규칙은 수업 이름에 태그 이름을 포함하는 것입니다. 


复 제조사 代码 代码如下:

BAD - treecell.indented { }  
좋음 - .treecell-indented { }  

  3.4、가능한 가장 구체적인 카테고리에 규칙을 넣어보세요! 
  시스템 속도 저하의 가장 큰 원인은 태그 카테고리에 규칙이 너무 많기 때문입니다. 요소에 클래스를 추가하면 이러한 규칙을 클래스 카테고리로 더 세분화할 수 있으며, 그러면 지정된 태그에 대해 많은 규칙을 일치시키느라 더 이상 시간을 낭비하지 않습니다. 


나쁨 - treeitem[mailfolder="true"] > 트리로우 > treecell { } 
좋음 - .treecell-mailfolder { } 
  3.5、하위 선택기를 피하세요! 
  하위 선택기는 CSS에서 가장 비싼 선택기입니다. 특히 선택기를 사용하는 규칙이 태그 또는 범용 카테고리에 있는 경우 비용이 매우 많이 듭니다. 실제로 원하는 것은 하위 선택기인 경우가 많습니다. 스킨 모듈 소유자의 명시적인 승인 없이는 UI CSS에서 하위 선택기의 사용이 금지됩니다. 

나쁨 - treehead treerow treecell { } 
더 좋지만 여전히 나쁨 (다음 지침 참조) - treehead > 트리로우 > treecell { } 
  3.6、태그 분류 규칙에는 하위 선택기가 포함되어서는 안 됩니다! 
  태그 분류 규칙과 함께 하위 선택기를 사용하지 마세요. 해당 요소의 모든 발생에 대해 일치 시간을 극적으로 늘립니다(특히 규칙이 더 자주 일치할 가능성이 있는 경우). 


나쁨 - 나무머리 > 트리로우 > treecell { } 
BEST - .treecell-header { } 
  3.7、하위 선택기의 모든 사용법에 대해 질문하세요! 
  하위 선택기를 사용할 때는 주의하세요. 그것을 사용하지 않아도 되는 방법이 있다면 그렇게 하세요. 특히 하위 선택기는 RDF 트리 및 이와 같은 메뉴와 함께 자주 사용됩니다. 


나쁨 - treeitem[IsImapServer="true"] > 트리로우 > .tree-folderpane-icon { } 
  RDF의 속성이 템플릿에서 복제될 수 있다는 점을 기억하세요! 이 사실을 활용하여 해당 속성에 따라 변경하려는 하위 XUL 요소에 RDF 속성을 복제하세요. 


좋음 - .tree-folderpane-icon[IsImapServer="true"] { } 
  3.8、상속에 의존하세요! 
  어떤 속성이 상속되는지 알아보고 상속하도록 허용하세요! 우리는 XUL 위젯을 명시적으로 설정하여 상위 태그에 목록 스타일 이미지(단지 하나의 예) 또는 글꼴 규칙을 넣을 수 있으며 익명의 콘텐츠를 필터링합니다. 익명의 콘텐츠와 직접 대화하는 규칙을 작성하는 데 시간을 낭비할 필요가 없습니다. 


나쁨 - #bookmarkMenuItem > .menu-left { list-style-image: url(blah); } 
좋음 - #bookmarkMenuItem { list-style-image: url(blah); } 
  Dans l'exemple ci-dessus, le désir de styliser le contenu anonyme (sans comprendre que l'image-de-style-liste hérite) a abouti à une règle qui était dans la catégorie de classe, alors que cette règle aurait vraiment de fini par être dans la plus spécifique catégorie de toutes, la catégorie ID . 
  N'oubliez pas, surtout avec le contenu anonyme, qu ils ont tous les mêmes cours ! La mauvaise règle ci-dessus entraîne la vérification de l'icône de chaque menu pour voir si elle est contenue dans l'élément de menu des favoris. C'est horriblement cher (car il existe de nombreux menus) ; cette règle n'aurait jamais dû être vérifiée par un menu autre que le menu de signets . 

  3.9、Utilisez -moz-image-region ! 
  Placer un groupe d'images dans un unique fichier image et les sélectionner avec -moz-image-region est beaucoup meilleur que mettre chaque image dans son propre fichier. 
  Informations sur le document original - Auteur : David Hyatt 
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

vue에서 자리 표시자는 무엇을 의미합니까? vue에서 자리 표시자는 무엇을 의미합니까? May 07, 2024 am 09:57 AM

Vue.js에서 placeholder 속성은 사용자가 콘텐츠를 입력하지 않을 때 표시되는 입력 요소의 자리 표시자 텍스트를 지정하고 입력 팁이나 예제를 제공하며 양식 접근성을 향상시킵니다. 사용법은 입력 요소에 자리 표시자 속성을 설정하고 CSS를 사용하여 모양을 사용자 정의하는 것입니다. 모범 사례에는 입력과 관련성, 짧고 명확함, 기본 텍스트 방지, 접근성 고려 등이 포함됩니다.

js에서 스팬은 무엇을 의미하나요? js에서 스팬은 무엇을 의미하나요? May 06, 2024 am 11:42 AM

스팬 태그는 텍스트에 스타일, 속성 또는 동작을 추가할 수 있습니다. 색상 및 글꼴 크기와 같은 스타일을 추가하는 데 사용됩니다. ID, 클래스 등의 속성을 설정합니다. 클릭, 호버 등과 같은 관련 동작 추가 처리 또는 인용을 위해 텍스트를 표시합니다.

js에서 rem은 무엇을 의미합니까? js에서 rem은 무엇을 의미합니까? May 06, 2024 am 11:30 AM

CSS의 REM은 루트 요소(html)의 글꼴 크기에 상대적인 단위입니다. 여기에는 다음과 같은 특징이 있습니다. 루트 요소의 글꼴 크기를 기준으로 하며 상위 요소의 영향을 받지 않습니다. 루트 요소의 글꼴 크기가 변경되면 REM을 사용하는 요소가 그에 따라 조정됩니다. 모든 CSS 속성과 함께 사용할 수 있습니다. REM 사용의 장점은 다음과 같습니다. 반응성: 다양한 장치 및 화면 크기에서 텍스트를 읽을 수 있도록 유지합니다. 일관성: 웹사이트 전체에서 글꼴 크기가 일관되게 유지되어야 합니다. 확장성: 루트 요소 글꼴 크기를 조정하여 전역 글꼴 크기를 쉽게 변경할 수 있습니다.

Vue에 이미지를 삽입하는 방법 Vue에 이미지를 삽입하는 방법 May 02, 2024 pm 10:48 PM

Vue에 이미지를 도입하는 방법에는 URL, 필수 함수, 정적 파일, v-bind 지시어 및 CSS 배경 이미지 등 5가지 방법이 있습니다. 동적 이미지는 Vue의 계산된 속성이나 리스너에서 처리할 수 있으며, 번들 도구를 사용하여 이미지 로딩을 최적화할 수 있습니다. 경로가 올바른지 확인하세요. 그렇지 않으면 로딩 오류가 나타납니다.

js의 노드 란 무엇입니까? js의 노드 란 무엇입니까? May 07, 2024 pm 09:06 PM

노드는 HTML 요소를 나타내는 JavaScript DOM의 엔터티입니다. 이는 페이지의 특정 요소를 나타내며 해당 요소에 액세스하고 조작하는 데 사용될 수 있습니다. 일반적인 노드 유형에는 요소 노드, 텍스트 노드, 주석 노드 및 문서 노드가 포함됩니다. getElementById()와 같은 DOM 메서드를 통해 노드에 액세스하고 속성 수정, 하위 노드 추가/제거, 노드 삽입/교체, 노드 복제 등의 작업을 수행할 수 있습니다. 노드 순회는 DOM 구조 내에서 탐색하는 데 도움이 됩니다. 노드는 페이지 콘텐츠, 이벤트 처리, 애니메이션 및 데이터 바인딩을 동적으로 생성하는 데 유용합니다.

브라우저 플러그인은 어떤 언어로 작성되어 있나요? 브라우저 플러그인은 어떤 언어로 작성되어 있나요? May 08, 2024 pm 09:36 PM

브라우저 플러그인은 일반적으로 다음 언어로 작성됩니다. 프런트엔드 언어: JavaScript, HTML, CSS 백엔드 언어: C++, Rust, WebAssembly 기타 언어: Python, Java

알 수 없는 속성을 설정하기 위해 vscode vscode 메소드에서 알 수 없는 속성을 설정하는 방법 알 수 없는 속성을 설정하기 위해 vscode vscode 메소드에서 알 수 없는 속성을 설정하는 방법 May 09, 2024 pm 02:43 PM

1. 먼저 왼쪽 하단에 있는 설정 아이콘을 열고 설정 옵션을 클릭합니다. 2. 그런 다음 점프된 창에서 CSS 열을 찾습니다. 3. 마지막으로 알 수 없는 속성 메뉴의 드롭다운 옵션을 오류 버튼으로 변경합니다. .

vue의 파일 수가 적어지면 데이터가 유입될 수 있나요? vue의 파일 수가 적어지면 데이터가 유입될 수 있나요? May 07, 2024 pm 12:06 PM

예, Vue의 Less 파일은 CSS 변수 및 Less 믹스인을 통해 데이터를 도입할 수 있습니다. 데이터가 포함된 JSON 파일을 생성하세요. @import 규칙을 사용하여 JSON 파일을 가져옵니다. CSS 변수 또는 Less 믹스인을 사용하여 JSON 데이터에 액세스합니다.

See all articles