1.  :before 和 :after 的主要作用是在元素内容前后加上指定内容,示例:

HTML代码:

<p>你好</p>

CSS代码:

p:before{content: 'Hello';color: red;
}
p:after{content: 'Tom';color: red;
}

效果如图:

以上代码是:before和:after的基本用法,但是这两种伪类还有很多更方便的用法。

2. :after清除浮动

元素设置浮动以后,其父元素以及父元素的兄弟元素的布局都会受到影响,如父元素的背景边框不能正常显示,父元素的兄弟元素位置布局错误等,

为了避免这种浮动带来的影响必须要清除浮动,:after就是其中的一种方法。

CSS代码:

ul:after{content: '';display: block;width: 0;height: 0;clear: both;
}

3. :before和:after 用来写小三角形

在日常的工作中会经常遇到小三角形这样的小图标,可以用添加图片的方式实现,但是更方便的是用:after  :before伪类来实现。

HTML代码:

<div class="demo">这是一个测试</div>

CSS代码:

.demo:after{content: '';display: inline-block;width: 0;height: 0;border: 8px solid transparent;border-left: 8px solid #AFABAB;position: relative;top: 2px;left: 10px;
}

效果如图所示:

这样就可以在文字后面添加一个小三角形啦,是不是很方便

4. 用:after和:before 写一个对话框

HTML代码:

<div class="left"><p>吃了吗</p>
</div>
<div class="right"><p>吃过了,吃了红烧排骨和酸菜鱼</p>
</div>

CSS代码:

.left,.right{min-height: 40px;position: relative;display: table;text-align: center;border-radius: 7px;background-color: #9EEA6A;
}
.right{      /*使左右的对话框分开*/top: 40px;left: 60px;
}
.left > p,.right > p{    /*使内容居中*/display: table-cell;vertical-align: middle;padding: 0 10px;
}
.left:before,.right:after{   /*用伪类写出小三角形*/content: '';display: block;width: 0;height: 0;border: 8px solid transparent;position: absolute;top: 11px;
}
/*分别给左右两边的小三角形定位*/
.left:before{    border-right: 8px solid #9EEA6A;left: -16px;
}
.right:after{    border-left: 8px solid #9EEA6A;right: -16px;
}

效果如图所示

上面的对话框是模仿微信的样式写的,用:before和:after写很方便哦

5.  下面写一个带边框的对话框,一个对话会同时用到:before和:after

HTML代码不变

CSS代码:

.left,.right{min-height: 40px;position: relative;display: table;text-align: center;border-radius: 7px;background-color: #9EEA6A;border: 1px solid #736262;
}
.right{      /*使左右的对话框分开*/top: 40px;left: 60px;
}
.left > p,.right > p{    /*使内容居中*/display: table-cell;vertical-align: middle;padding: 0 10px;
}
.left:before,.right:after,.left:after,.right:before{   /*用伪类写出小三角形*/content: '';display: block;width: 0;height: 0;border: 8px solid transparent;position: absolute;top: 11px;
}
/*分别给左右两边的小三角形定位*/
.left:before{    border-right: 8px solid #9EEA6A;left: -16px;
}
.left:after{      /*左边对话框小三角形的边框样式*/border-right: 8px solid #736262;left: -17px;z-index: -1;
}
.right:after{    border-left: 8px solid #9EEA6A;right: -16px;
}
.right:before{    /*右边对话框小三角形的边框样式*/border-left: 8px solid #736262;right: -17px;z-index: -1;
}

效果如图所示:

本文转载自https://www.cnblogs.com/lynnmn/p/6254367.html,若涉及侵权,请联系删除!

HTML中 :after和:before的作用及使用方法(转)相关推荐

  1. css里面的after_css中:after和:before的作用及使用方法

    本章给大家介绍css中:after和:before的作用及使用方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1. :before 和 :after 的主要作用是在元素内容前后加 ...

  2. HTML中 :after和:before的作用及使用方法(转)

    ::before/::after是CSS3中的写法,为了将伪类和伪元素区分开.但是平时为了兼容性,还是会用一个冒号的写 1.  :before 和 :after 的主要作用是在元素内容前后加上指定内容 ...

  3. Vscode中tab键不起作用,解决方法

    2019独角兽企业重金招聘Python工程师标准>>> 解决方法: 任务栏的tab选项卡,文件--->首选项--->设置 设置如下图: 注意不要写错了,全半角的问题.可以 ...

  4. android2.x中android:layout_marginRight不起作用的解决办法

    1.如果LinearLayout中使用android:layout_marginRight不起作用,通过测试原来在android2.x中,如果一个控件中有android:layout_gravity属 ...

  5. 是指可以显示网页服务器或者,作业ie浏览器的作用和使用方法操作题.doc

    作业ie浏览器的作用和使用方法操作题 IE浏览器的作用和使用方法 浏览器:是指可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互的一种软件. 常见的浏览器:Windows操作系统 ...

  6. java泛型方法作用_java泛型的作用与使用方法是什么?

    泛型,即"参数化类型".一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参.那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变 ...

  7. 目标检测中如何定义正负样本,和正负样本在学习过程中loss计算起的作用

    如何定义正负样本,和正负样本在学习过程中loss计算起的作用 正负样本定义 分类和回归head如何学习和利用划分后的正负样本(loss如何计算) 正负样本在分类中loss计算的处理 正样本在bbox ...

  8. Spring中SmartLifecycle和Lifecycle的作用和区别

    欢迎关注方志朋的博客,回复"666"获面试宝典 本文基于SpringBoot 2.5.0-M2讲解Spring中Lifecycle和SmartLifecycle的作用和区别,以及如 ...

  9. c++语言static作用,详解c++中的 static 关键字及作用

    注:若没有特指是 静态成员时,默认都是普通成员: 1 类中的普通成员 类中的成员变量 和 成员函数 是分开存储的.其中, 1)每个对象都有独立的成员变量:成员变量可以存储在 栈空间.堆空间.全局数据区 ...

最新文章

  1. [转]linux 下自动登录到ftp
  2. python excel 自动化-python自动化测试报告(excel篇)
  3. 点击跳转到QQ聊天界面
  4. virtualbox 使用
  5. 2013年28周信息安全汇总(7.7 - 7.13)
  6. HttpClient实现客户端与服务器的通信
  7. Intel处理器CPUID指令学习
  8. 如何用C#对Gridview的项目进行汇总统计?
  9. 批量修改图片格式类型
  10. 中国移动MM7API开发问题
  11. 银行票据+票据池相关的项目讲解
  12. 基于PIC单片机USB接口的数据采集系统设计
  13. 如何快速取消大量的合并单元格并向下填充数据
  14. 优秀的PPT模板网站
  15. 04.jQuery++1201
  16. 我的人格类型是:ESTP(外向,感觉,思维,知觉)
  17. undo歌词中文音译_UNDO歌词及翻译
  18. 关于有重根情况下微分方程根的一般形式
  19. 不同VLAN下实现网络互相通信(配置port trunk pvid vlan进行数据转发)
  20. 台式电脑出厂编号怎么查_如何查看电脑出厂日期和编号

热门文章

  1. IDEA菜单栏Build选项
  2. ROCm 5.4.3 在 ubuntu 20.04 上安装并运行示例
  3. 转:Jenkins+Jmeter+ant接口自动化框架for Linux学习
  4. Java程序员校招蚂蚁金服,中科创达java面试题
  5. 解决Maven:Cannot resolve com.oracle.ojdbc:ojdbc6:11.2.0.1.0报红找不到问题,解决方案亲测有效详细图文教程 问题描述
  6. FE内容付费系统源码
  7. npm项目环境配置时出现报错:Not Found - GET https://registry.npm...
  8. w7桌面计算机图标打不开了,桌面图标打不开,教您桌面图标打不开怎么办
  9. 数据库事务的四大特性:ACID
  10. Android扑克牌抽奖View,android自定义层级view,扑克牌堆叠效果,cascadeLayout