이 기사는 의사 클래스 선택기(코드 예제)의 사용법에 대한 심층적인 이해를 제공합니다. 이는 특정 참고 가치가 있으므로 도움이 될 수 있습니다.
예전에는 :link, ::after, content 등의 의사 클래스와 의사 요소 선택자를 간헐적으로 이해하고 사용해왔는데, 최근 책을 읽다가 이 부분에서 부족한 점을 발견했습니다. 그래서 좀 더 심도 있게 배워보기로 했습니다. 다음은 수업 파트의 가짜 배열입니다.
의사 클래스 선택기를 사용하면 기본적으로 디자이너는 요소의 특정 상태에 따라 다양한 시각적 효과를 설정할 수 있습니다. 구체적으로는 link, :visited, :hover, :active, :focus, :focus-within, :target, :root 및 :checked입니다.
HTMLAnchorElement
의 네 가지 고전 의사 클래스 HTMLAnchorElement
的4大经典伪类:link,用于设置链接初始状态时的样式;
:visited,用于设置链接被点击过后的样式;
:hover,用于设置鼠标悬停在链接上方时,链接的样式;
:active,用于设置鼠标按键按下,但未释放时,链接的样式。
想必各位都和我一样,最初接触到的就是上述4个伪类了吧?!而且还死机硬背它们的设置顺序(LVAH
)吧,哈哈。
还记得URL中的井号吗?从井号(#)开始到URL的末尾称为URL的hash或fragment,用于定位页面内某项资源。假设现在页面存在
示例:
// 当前URL为http://foo.com#1 :target { color: red; } .title{ color: blue; &:target{ border: solid 1px red; } } .title{I'm not target element.} .title#1{Yes, I'm.}
:focus用于设置元素处于focus状态下的样式。
兼容性:IE8开始支持。
那么哪些元素支持focus状态呢?那要先弄清楚通过哪些操作可能实现focus。
它们分别是:
鼠标点击;
Tab键;
通过JavaScript的HTMLElement.prototype.focus()方法。
那么传统上支持focus状态的元素必定是a、button、input、select和textareas.
而HTML5中增加当元素设置了contenteditable或tabindex属性时,该元素支持focus状态。
也就是符合以下选择器的元素均支持focus状态。
a,button,input,select,textarea,[contenteditable],[tabindex]
注意:若tabindex属性值小于0,则无法通过Tab键获得焦点。但可以通过鼠标点击 或 脚本时元素获得焦点。
/* * 加载完成时默认返回body * 若某元素获得焦点时,则返回该元素 */ document.activeElement :: HTMLElement
另外还有一个让人误会的属性
// 用于检测文档是否得到焦点,即用户是否正在与页面交互 // 页面仅仅位于屏幕可视区域,而用户没有与之交互时返回false。 document.hasFocus :: Void -> Boolean
:focus-within
:active, 마우스 버튼을 눌렀지만 놓지 않았을 때 링크 스타일을 설정하는 데 사용됩니다.
여러분이 가장 먼저 접한 것은 위의 네 가지 유사 카테고리였죠? ! 그리고 설정순서(LVAH
)도 외워야겠네요, 하하. 현재 대상 요소 스타일 설정 URL의 파운드 기호를 기억하시나요? 파운드 기호(#)부터 시작하여 URL 끝까지는 URL의 해시 또는 조각이라고 하며 페이지 내에서 특정 리소스를 찾는 데 사용됩니다. 이제 페이지에 위에서 언급한 위치 페이지 리소스를 대상 요소 또는 현재 활성 요소라고 합니다! 스타일은 :target을 통해 설정할 수 있습니다.
호환성: IE9에서 지원됩니다..form-control{ &:focus-within > input{ &:focus { border: solid 1px skyblue; } &:not(:focus){ border: solid 1px orange; } } } .form-control>input.pwd[type=password]+input.confirm-pwd[type=password]
:focus-within , 하위 요소에 포커스가 있을 때 요소의 스타일을 설정하는 데 사용됩니다. 🎜호환성: Chrome63이 지원되기 시작합니다. 🎜🎜예: 두 번째로 비밀번호를 확인하면 비밀번호 상자가 강조 표시됩니다.🎜rrreee🎜Others🎜🎜🎜:root는 <html> 요소의 스타일을 설정하는 데 사용되며 IE9부터 지원됩니다. 🎜🎜:선택됨, 선택한 라디오 스타일을 설정하고 컨트롤을 확인하는 데 사용되며 IE9부터 지원됩니다. 의사 요소 ::before와 콘텐츠 속성을 결합하면 유연하고 효율적인 맞춤형 무선 및 검사 제어를 실현할 수 있습니다. 🎜🎜: 비어 있으며, 하위 노드가 없는 요소의 스타일을 지정하는 데 사용됩니다. p{}는 TEXT_NODE 하위 노드가 있는 요소이고, p{}는 하위 노드가 없는 요소입니다. 🎜🎜:not, 부정의 의미를 표현하는 술어입니다. 🎜🎜:placeholder-shown, 요소 자리 표시자가 표시될 때 스타일을 설정하는 데 사용됩니다. 🎜🎜
위 내용은 CSS 의사 클래스 선택기 사용에 대한 심층적인 이해(코드 예제)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!