简介
:target
是一个伪类选择器,用于匹配当前活动的 URL 中特定元素。当用户通过锚点链接访问页面时,该链接指向的元素将会被选中。
基本用法
:target
通常与锚点链接一起使用。当 URL 包含一个 #
后面跟着一个 ID 时,浏览器会滚动到这个 ID 对应的元素上,并且这个元素会被 :target
选择器选中。
示例
假设 HTML 结构如下:
<a href="#section">跳转到章节</a> <div id="section"> <h2>章节标题</h2> <p>这是章节的内容。</p> </div>
对应的 CSS 代码可以是:
-- -------------------- ---- ------- -- ---- -- -------- - ----------------- -------- -------- ----- - -- - -------- ------- -- --------------- - ----------------- -------- ------- --- ----- ----- -展开代码
当用户点击链接并跳转到 #section
时,#section
的背景颜色和边框将会改变。
实际应用案例
:target
选择器在需要根据用户行为动态改变页面部分样式的场景中非常有用。例如,在一个 FAQ 页面中,可以使用 :target
来高亮显示当前查看的问题部分。
示例
HTML 结构:
-- -------------------- ---- ------- ---- ------ ----------------------- ------ ----------------------- ------ ----------------------- ----- ---- -------- ------------ ------------- ------ ---- -------- ------------ ------------- ------ ---- -------- ------------ ------------- ------展开代码
CSS 样式:
-- -------------------- ---- ------- --- - ----------- ----- -------- ----- - -- ---- -- --- - ----------------- ----- ------- --- ----- ----- - -- ------------ -- ---------- - ----------------- -------- ------------- ----- -展开代码
在这个例子中,当用户点击不同的问题链接时,相应的问题部分将会被高亮显示。
注意事项
:target
选择器只会在用户通过 URL 锚点链接访问页面时生效。- 如果页面加载后没有锚点链接,则
:target
选择器不会匹配任何元素。 - 使用
:target
选择器时,请确保相关的元素具有唯一的 ID。
总结
:target
选择器是一个非常有用的工具,能够帮助前端开发者根据用户的导航行为动态地改变页面元素的样式。这使得网页更加互动和响应用户需求。