:before 选择器在被选元素的内容后面插入内容。

:after 选择器在被选元素的内容后面插入内容。

1基本用法


before和after

p:before{
content: "before";
}
p:after{
content: "after";
}

测试

输出结果:

2扩展用法

(1)

为边框添加边角

首先讲一下css的边框 border的构成

直接上代码和结果

代码:


.test{
width: 0px;
border-left: 50px solid red;
border-right: 50px solid green;
border-top:50px solid yellow;
border-bottom: 50px solid black;
}


结果:
这样就很清晰了,如果想要做一个三角,我们只需要把其它的边框设为透明就好了。
那如果我们想要div外边加三角怎么办呢,这时候就要用到before和after了


.test{
margin-left: 500px;
position: relative;
width: 0px;
border-left: 50px solid red;
border-right: 50px solid green;
border-top:50px solid yellow;
border-bottom: 50px solid black;
}
.test:before{
content: "";
position: absolute;
top:-50px;
left: -150px;
border:50px solid transparent;
border-right: 50px solid blue;
}

结果:

如果我们想要左边的三角只有框而不是填充满怎么办?这时候就要用after
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
.test{
margin-left: 500px;


position: relative;
width: 0px;
border-left: 50px solid red;
border-right: 50px solid green;
border-top:50px solid yellow;
border-bottom: 50px solid black;
}
.test:before{
content: "";
position: absolute;
top:-50px;
left: -150px;
border:50px solid transparent;
border-right: 50px solid blue;
}
.test:after{
content: "";
position: absolute;
top:-50px;
left: -146px;
z-index: 1;
border:50px solid transparent;
border-right: 48px solid white;
}
</style>
</head>
<body>
<div class="test"></div>
</body>
</html>


结果:



(2)作为透明背景

这里我做了一个有特效的button,尴尬的是不知道怎么做成动图传上来。。

代码:

<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
.btn{
position: relative;
padding: 10px;
display: inline-block;
color: black;
border: 1px solid black;
-webkit-transition: all 0.5s; /*css3 过渡*/
transition: all 0.5s;
z-index: 1; /*图层堆叠顺序*/
}
.btn:after{
position: absolute;
top:0px;
left: 0px;
width: 0%;
height: 100%;
content: "";
background: black;
-webkit-transition: all 0.5s; /*css3 过渡*/
transition: all 0.5s;
z-index: -1;
}
.btn:hover{
color: orange!important;
}
.btn:hover:after{
width: 100%;
background-color: black;
color: orange!important;
}
a{
text-decoration: none;
}
</style>
</head>
<body>
<div class="test">
<a href="#" class="btn">这是一个按钮</a>
</div>
</body>
</html>


这里把after的index设置的比btn的低,作为背景,然后将btn设置为相对布局,after为绝对布局(相对btn布局),当鼠标滑过触发hover事件时,

黑色背景色从左向右填充。

css中伪类after before用法相关推荐

  1. css中伪类与伪元素的区别

    一:伪类: 1:定义:css伪类用于向某些选择器添加特殊效果. 伪类其实与普通的css类相类似,可以为已有的元素添加样式,但是他只有处于dom无法描述的状态下才能为文档树中的元素添加样式,所以将其称为 ...

  2. Web入门----css中伪类

    CSS中的选择器 基本选择器 通用选择器 <style>*{margin:0px;padding:0px;} </style> 类型原则器 <style>p{bac ...

  3. css中伪类和伪元素有什么不一样

    css中的伪类[:]和伪元素[::]都是我们日常开发过程中会用到的伪元素选择器,有时候我们用的是[:],有时候用的又是[::],有时候又好像两者都行,这到底是为什么呢?今天我们就来看看这两个东西到底有 ...

  4. css中伪类选择器详解(a:visited不生效的原因)

    css伪类是一种css定义的方法,主要用于对链接显示效果的定义, 主要包括: a:link :链接平常的状态. a:visited:链接被访问之后的状态. a:hover:鼠标停留在链接上的状态. a ...

  5. css中伪类选择器的顺序

    link(正常状态) > visited(访问过后的状态) > hover(鼠标放上去的状态) > active(鼠标按下并未抬起的状态)

  6. 使用css伪类选择器,css的伪类选择器的使用

    伪类选择器,在不同情况下显示的css,伪类选择器在处理页面的美观是很大帮助.其实很多美丽的按钮或者页面都是有这些基础的知识实现的,掌握好基础很重要. 名字 实例 说明 :link a:link 选择所 ...

  7. CSS中伪元素、伪类选择器和字体、文本相关属性

    CSS中伪元素.伪类选择器 伪元素选择器 伪元素选择器只能针对CSS中已有的伪元素起作用. CSS提供的伪元素选择器有如下几个: :first-letter:对指定对象的第一个字符起作用. :firs ...

  8. [css] 举例说明伪类:focus-within的用法

    [css] 举例说明伪类:focus-within的用法 类似于事件的冒泡机制,可以从获取焦点的元素一职冒泡到根元素上 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷. ...

  9. html中怎么写小箭头,HTML+CSS入门 CSS用伪类制作小箭头

    本篇教程介绍了HTML+CSS入门 CSS用伪类制作小箭头,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 本文对轮播图左右按钮的处理方法一改往常,不是简单地用btn.pr ...

最新文章

  1. java的工作原理你知道吗_每天用Mybatis,但是Mybatis的工作原理你真的知道吗?
  2. MongoDB readConcern 原理解析
  3. CPU 周期信号、节拍周期信号、节拍脉冲信号三者之间的关系是什么?
  4. 重磅直播|结构光之相移法+格雷码技术详解
  5. 美团爱问Kafka?太真实了!
  6. 数据结构实验之栈与队列十一:refresh的停车场
  7. java元婴期(28)----java进阶(springmvc(2)---入门程序(下)基于注解开发(重点掌握))
  8. 使用 .NET Core模板引擎创建自定义的模板和项目
  9. pycharm默认注释与快捷键功能
  10. [解题报告]Codeforces 105D Entertaining Geodetics
  11. 做爬虫的一些技术观点-第450期
  12. ai怎么渐变颜色_AI的渐变工具为什么如此难用?
  13. 「查漏补缺」2020 截止9月2日 秋招前端面试经历 (已整理答案)
  14. Bazel入门:编译C++项目
  15. HIVE厂牌艺人_北京音乐节-北京音乐节全攻略 - 马蜂窝
  16. 第五章:优势策略均衡
  17. zabbix短信网关使用了中国网建SMS短信通
  18. spring诸如方式_一个简单的步进器,具有诸如下一步,返回和结束之类的简单动作,可以执行简单的表格
  19. 理解CU微操作命令(控制信号)
  20. 图形学--(中点画线法+Bresenham画线算法)

热门文章

  1. 基于OpenCV的摄像头测距(2022-1-1)
  2. Windows11安装Android子系统
  3. 记一次mysql报错:The user specified as a definer (‘mysql.infoschema‘@‘localhost‘) does not exists
  4. charm-crypto 介绍
  5. 嘿,你的产品好用吗?
  6. Adobe Acrobat 不能打开在线pdf。Adobe Acrobat 应用程序正在被终止,因为内存错误
  7. Mac 定时自动发送邮件
  8. kafka mysql 迁移_一种Kafka与Elasticsearch数据库数据的互相迁移方法与流程
  9. 维视智造x西安电子科技大学,联合授课助力AI产业人才培养
  10. 历时 6 年发展,GAN 领域当下最热门的“弄潮儿”都有哪些?