常见伪类——:hover,:link,:active,:target,:not(),:focus。
常见伪元素——::first-letter,::first-line,::before,::after,::selection。
- ::before和::after下特有的content,用于在css渲染中向元素逻辑上的头部或尾部添加内容
- ::before和::after必须配合content属性来使用,content用来定义插入的内容,content必须有值,至少是空。
- 默认情况下,伪类元素的display是默认值inline,可以通过设置display:block来改变其显示。
-
伪元素不属于文档,所以js无法操作它
-
伪元素属于主元素的一部分,因此点击伪元素触发的是主元素的click事件
string
使用引号包一段字符串,将会向元素内容中添加字符串。如:a:after{content:""}
<template>
<div class="a">
hello
</div>
</template>
<style lang="scss" scoped>
.a {
&::before {
content: "♥";
color: red;
}
&::after {
content: "♥";
color: blue;
}
}
</style>
attr()
通过attr()调用当前元素的属性,比如将图片alt提示文字或者链接的href地址显示出来。
<template>
<a href="http://www.baidu.com" alt="hello--">百度</a>
</template>
<style lang="scss" scoped>
a::before {
content: attr(alt);
color: orange
}
a::after {
content: attr(href);
color: red;
font-size: 20px
}
</style>
url()
用于引用媒体文件。
<template>
<span>vue</span>
</template>
<style lang="scss" scoped>
span::before {
content: url('./assets/vue.svg');
}
</style>