CSS 선택기 특이성 퍼즐: .foo a:link가 a:hover를 재정의하는 이유
CSS 영역에서 선택기 특이성은 다소 혼란스러울 수 있습니다. . .foo a:link 선택기가 보다 구체적인 a:hover 및 a:active 선택기를 어떻게 재정의할 수 있는지 보여주는 흥미로운 퍼즐을 살펴보겠습니다.
문제 정의
다음 코드를 고려하세요.
<div class="foo"> <a href="#">Example</a> </div>
a:link, a:visited { color: blue; } a:hover, a:active { color: red; } .foo a:link, .foo a:visited { color: green; }
링크 위로 마우스를 가져가면 빨간색으로 바뀔 것으로 예상되지만, 대신 그대로 남아 있습니다. 녹색. 이 수수께끼 같은 동작을 위해서는 CSS 캐스케이드를 자세히 조사해야 합니다.
CSS의 특수성
특이성은 CSS 규칙이 요소에 적용되는 순서를 결정합니다. 더 높은 특이성이 더 낮은 특이성을 이깁니다. 다음 수식은 구체성을 계산합니다.
- 인라인 스타일: 1, 0, 0, 0
- ID 선택기: 0, 1, 0, 0
- 클래스 선택기: 0, 0, 1, 0
- 의사 클래스 및 의사 요소: 0, 0, 0, 1
퍼즐의 선택기 특이성
선택기의 특이성 계산:
- a:link , a:방문함, a:hover, a:활성: 0, 0, 1, 1
- .foo a:link, .foo a:visited: 0, 0, 2, 1
보시다시피 .foo a:link 및 .foo a :visited 선택기는 a:hover 및 a:active 선택기(2 > 1).
결론
놀라운 동작의 이유는 .foo a:link 및 .foo a:visited 선택기가 a:hover 및 a:active보다 더 높은 특이도를 갖기 때문입니다. 선택자. 이는 a:hover 및 a:active가 의사 클래스 측면에서 더 구체적이더라도 .foo 선택기의 클래스 특이성이 우선한다는 것을 의미합니다.
이 문제를 해결하려면 문제에 제안된 수정 사항( .foo a:hover 및 .foo a:active 규칙의 주석 처리를 제거해야 합니다. .foo a:link 및 .foo a:visited 규칙과 동일한 구체성을 가진 이러한 규칙을 추가하면 이제 a:hover 및 a:active 스타일이 우선 적용됩니다.
위 내용은 CSS 특이성에서 `.foo a:link`가 `a:hover`를 재정의하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

나는 다른 날이 질문을 받았다. 나의 첫 번째 생각은 : 이상한 질문입니다! 특이성은 선택기에 관한 것이며 At-Rules는 선택기가 아니므로 ... 무의미합니까?

그렇습니다. 당신은 할 수 있습니다. 그리고 그것은 실제로 어떤 순서로 중요하지 않습니다. CSS 전 처리기가 필요하지 않습니다. 일반 CSS에서 작동합니다.

CSS 및 JavaScript (및 이미지 및 글꼴 등)와 같은 자산에 멀리 떨어진 캐시 헤더를 설정해야합니다. 브라우저를 알려줍니다

많은 개발자들은 CSS 코드베이스를 유지하는 방법에 대해 글을 썼지 만 코드베이스의 품질을 어떻게 측정하는지에 대해 많은 글을 쓰지 않습니다. 물론, 우리는 가지고 있습니다

짧고 임의의 텍스트를 수락 해야하는 양식이 있습니까? 이름이나 다른 것 같습니다. 정확히 무엇을위한 것입니다. 많은 것이 있습니다

나는 프론트 컨퍼런스를 위해 스위스 취리히로 향하게되어 매우 기쁩니다 (그 이름과 URL을 사랑합니다!). 나는 전에 스위스에 가본 적이 없기 때문에 나는 흥분했다

소프트웨어 개발에서 제가 가장 좋아하는 개발 중 하나는 서버리스의 출현이었습니다. 세부 사항에 푹 빠지는 경향이있는 개발자로서

이 게시물에서는 들어오는 데이터를 위해 동적 경로를 만드는 방법을 보여주기 위해 NetLify에 구축하고 배포 한 전자 상거래 상점 데모를 사용합니다. 상당히입니다


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

Dreamweaver Mac版
시각적 웹 개발 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.
