浏览器/用户代理默认样式、any-link 伪类选择器

在开发者工具中,选中一个元素,在 styles 标签往下滑动,发现如图所示的样式 "user agent stylesheet" 代表着浏览器默认的样式,每个浏览器的默认样式是不同的,所以我们在开发之前一般会

一、a 标签的默认样式

今天我突然发现,我的一个页面上的 a 标签点击的变成了红色,然后我搜了项目中没有任何地方设置了 a 标签的颜色。然后我去了 mdn 看 mdn 页面的 a 标签,都没有这么扎眼的颜色,一看原来是有设置的颜色。看来官网文;档也没用默认的样式。

去掉默认的样式,我们发现 a:active 是变成了红色,但是我发现了一个重来没有注意到的伪类 any-link

:any-link CSS 伪类选择器表示作为超链接源锚点的元素,无论是否已被访问。换言之,它匹配每个具有 href 属性的 <a><area> 元素。因此,它匹配所有匹配 :link:visited 的元素。

any-link 只能匹配所有有 href 的 a 元素。所以其实在实际开发中,我们也可以使用 a:any-link 或者 a:-webkit-any-link 统一设置有 href 的链接的样式。

2.1 没有 href 的 a 标签【html4功能】

同一个页面的锚点功能,可以使用 a 标签 + name 属性来进行页面内部定位。

html 复制代码
<a name="top"></a>
<h1>页面顶部</h1>

<a href="#top">回到顶部</a>

说实话,我好久没用这个功能了,最近的项目都是使用 scrollTo / scrollTop / scrollIntoView 等 js 方法来实现,居然忘了这个原始的功能,

不过 h5 已经不用name了,直接该用 id 而且不需要额外的 a 标签,任何标签都可以。

html 复制代码
<div id="top"></div>
<h1>页面顶部</h1>

<a href="#top">回到顶部</a>

三、css 内置的系统关键字

上面的例子中 user-agent-stylesheet 的color 的值 -webkit-link 就是浏览器内置的 css 的系统关键字。类似的还有 -webkit-visited,但是我们很少直接使用他们,了解一下就好了。

相关推荐
三小河36 分钟前
AI 对话 "打字机" 是怎么实现的?从 SSE 流式、Markdown 组件到 Nginx 防粘连
前端·人工智能·面试
雪芽蓝域zzs37 分钟前
第三十七节:防抖、节流封装(composables 通用函数,搜索框防重复请求)
前端·javascript·vue.js
by组态1 小时前
Ricon组态系统通信配置指南
前端·后端·物联网
可涵不会debug1 小时前
LangChain 文本分割器详解:字符分割、Token 分割、硬约束递归分割实战
java·前端·数据库
掘金挖土1 小时前
前端手摸手跑路之 AI 应用开发(四)
前端
LEE1 小时前
Agent 的控制权,为什么正在回到模型手里?
前端·后端
沃夫上校1 小时前
跨域这件事,其实浏览器在替你挡刀
前端·后端·nginx
十年一梦惊觉醒1 小时前
快手视频发布助手,全自动视频发布带货工具
开发语言·前端·javascript
Solara1 小时前
中文字体子集化实录:3.2MB → 200KB 的完整脚本、踩坑清单与三条反直觉经验
前端·css·架构
Htr_1 小时前
Cortex 使用指南:开源 API 知识层
前端·数据库·人工智能·重构·计算机外设