浏览器/用户代理默认样式、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,但是我们很少直接使用他们,了解一下就好了。

相关推荐
雪芽蓝域zzs13 分钟前
Element‑Plus icon 图标名称查询 & 和菜单 meta.icon 字段映射
前端
01_ice1 小时前
前端学习css
前端·css·学习
愚公搬代码1 小时前
【愚公系列】《Web应用安全》010-Repeater模块的使用
前端·安全
Cache技术分享2 小时前
503. Java 反射 - 编写 ServiceFactory 类
前端·后端
赵大仁2 小时前
AI 限流 UX 设计:排队、降级、告知与用户预期管理
前端·ai·限流·用户体验·产品设计
__sjfzllv___2 小时前
在职前端Leader学习/转行 AI Agent -DAY37
前端
用户2181697049302 小时前
Flutter (二十二) GlobalKey
前端
用户2181697049302 小时前
Flutter (二十一) 下拉刷新,加载更多
前端
光影少年3 小时前
react navite 内存泄漏:定时器、监听事件、订阅销毁
前端·javascript·react native·react.js·前端框架
IT_陈寒3 小时前
Python装饰器把我坑惨了,原来这样用才不掉链子
前端·人工智能·后端