文章目录

  • 1.基本用法
  • 2.样式修改
  • 3.清除浮动
  • 5.content属性
    • 1、string
    • 2、attr()
    • 3、url()/uri()
    • 4、counter()

before/after伪类相当于在元素内部插入两个额外的标签,其最适合也是最推荐的应用就是图形生成。在一些精致的UI实现上,可以简化HTML代码,提高可读性和可维护性。
效果使用:


像这种小图标大多使用before,after来实现,不仅简单还方便。

1.基本用法

:before和:after的作用就是在指定的元素内容(而不是元素本身)之前或者之后插入一个包含content属性指定内容的行内元素,最基本的用法如下:

#example:before {content: "#";color: red;
}#example:after {content: "$";color: red;
}

这两个伪类都属于内联元素,但是用display:block;属性可以将其转换成块状元素,比较常见的用法就是样式的一些实现,还有就是清除浮动的效果。。

2.样式修改

代码如下所示:

<div class="quote"><span>打老虎</span>
</div>
.quote:before,.quote:after{//用这两个伪类实现样式渲染content:"";display:inline-block;width:5%;margin:5px 1%;border-bottom:1px solid blue;
}

3.清除浮动

代码如下所示:

<div class="parent"><div class="son1"></div><div class="son2"></div>
</div>
<div class="parent2">parent2</div>
//css代码
.son1{width:300px;height:200px;background-color: lightgray;float:left;
}
.son2{width:300px;height:100px;background-color: lightblue;float:left;
}
.parent2{width:400px;height: 400px;background-color:blue;color:#fff;text-align:center;line-height:400px;font-size:30px;
}

如果在上面代码中加上这段代码用来清除浮动则会达到不一样的效果:

.parent:after{content:"";display:block;//设为块状元素clear:both;   //用这个属性来清除浮动
}

::before和::after下特有的content,用于在css渲染中向元素逻辑上的头部或尾部添加内容。

这些添加不会出现在DOM中,不会改变文档内容,不可复制,仅仅是在css渲染层加入。

所以不要用:before或:after展示有实际意义的内容,尽量使用它们显示修饰性内容,例如图标。
注意:在使用before和after时content必不可少。
注意:在使用before和after时content必不可少。
注意:在使用before和after时content必不可少。

5.content属性

::before和::after必须配合content属性来使用,content用来定义插入的内容,content必须有值,至少是空。默认情况下,伪类元素的display是默认值inline,可以通过设置display:block来改变其显示。

content可取以下值。

1、string

使用引号包一段字符串,将会向元素内容中添加字符串。如:a:after{content:""}
<!DOCTYPE html>
<meta charset="utf-8" />
<style type="text/css">
p::before{content: "《";color: blue;
}
p::after{content: "》";color: blue;
}
</style>
<p>平凡的世界</p>

2、attr()

通过attr()调用当前元素的属性,比如将图片alt提示文字或者链接的href地址显示出来。

<style type="text/css">
a::after{content: "(" attr(href) ")";
}
</style>
<a href="http://www.cnblogs.com/starof">starof</a>

3、url()/uri()

用于引用媒体文件。

举例:“百度”前面给出一张图片,后面给出href属性。

<style>
a::before{content: url("https://www.baidu.com/img/baidu_jgylogo3.gif");
}
a::after{content:"("attr(href)")";
}
a{text-decoration: none;
}
</style>
---------------------------
<body>
<a href="http://www.baidu.com">百度</a>
</body>

4、counter()

调用计数器,可以不使用列表元素实现序号功能。

配合counter-increment和counter-reset属性使用:

h2:before { counter-increment: chapter; content: "Chapter " counter(chapter) ". " }
<style>
body{counter-reset: section;
}
h1{counter-reset: subsection;
}
h1:before{counter-increment:section;content:counter(section) "、";
}
h2:before{counter-increment:subsection;content: counter(section) "." counter(subsection) "、";
}
</style>
------------------------------------------------
<body>
<h1>HTML tutorials</h1>
<h2>HTML Tutorial</h2>
<h2>XHTML Tutorial</h2>
<h2>CSS Tutorial</h2><h1>Scripting tutorials</h1>
<h2>JavaScript</h2>
<h2>VBScript</h2><h1>XML tutorials</h1>
<h2>XML</h2>
<h2>XSL</h2></body>

伪类元素--before和after相关推荐

  1. 认识伪类元素:before和:after

    起因于不理解下图点的写法,后来发现是个很基础的东西        运用了伪类元素:before,如下 注意,他的css写法也是非常简洁高效的. 查阅了些关于伪类before和after的知识帮助理解, ...

  2. 使用CSS3伪类元素(::before|::after)对文字进行美化

    如果要想把一个文字的分成两半分别设置成不同的颜色,你是不是第一时间只想到通过PS来实现呢,不过有一个不好的地方就是图片会占用更多的资源.所以下面就给大家介绍一个通过CSS的伪类元素来美化文字的方法. ...

  3. JavaScript前端中的伪类元素before和after使用详解

    在前端开发中,伪类是一种让你可以选择元素的某个状态或位置的 CSS 选择器.其中,:before 和 :after 伪类允许你在一个元素之前或之后插入内容. :before 和 :after 伪类创建 ...

  4. html中after后面添加文字,使用CSS3伪类元素(::before|::after)对文字进行美化

    如果要想把一个文字的分成两半分别设置成不同的颜色,你是不是第一时间只想到通过PS来实现呢,不过有一个不好的地方就是图片会占用更多的资源.所以下面就给大家介绍一个通过CSS的伪类元素来美化文字的方法. ...

  5. css伪类元素实现小圆点效果

    前言: 使用伪类元素  ::before,::after  来实现 小圆点效果. 效果图: 实现方式: 1.父级元素 postion:relative; //定位属性,可为absolute //必须 ...

  6. css3伪类图解,CSS3伪类元素详解/深入浅出

    很多朋友提出说对css3"画图"不是很理解, 在跟他们私聊了一段时间以后,加上自己在开始自学css3的时候的疑惑,我觉得大家之所以不是很理解主要是因为对伪元素不太了解,介于画图和C ...

  7. CSS样式中伪类和伪类元素的区别(css中一个冒号和两个冒号的区别)

    首先介绍下什么是伪类,所谓伪类就是: 伪类选择元素基于的是当前元素处于的状态,或者说元素当前所具有的特性,而不是元素的id.class.属性等静态的标志.由于 状态是动态变化的,所以一个元素达到一个特 ...

  8. css伪类元素及选择器

    文章目录 伪类选择器使用 nth-child伪类选择器运用 伪元素:before和:after使用 伪类选择器使用 :first-child 选择某个元素的第一个子元素(IE6不支持):last-ch ...

  9. css伪类元素加在元素前,CSS伪类:before在元素之前 :after 在元素之后实例讲解

    本教程简单的介绍一下关于CSS伪类:before, :after详解,有需要了解的朋友可以参考一下下. :before 伪元素在元素之前添加内容 这个伪元素允许创作人员在元素内容的最前面插入生成内容. ...

最新文章

  1. python手机版下载372-Mac下python环境的安装
  2. 从零入门 FreeRTOS 操作系统之创建任务流程
  3. Android 电量优化
  4. 正则表达式之 NFA 引擎匹配原理详解
  5. 无法嵌入互操作类型 请改用适用的接口_西门子COMOS软件开发定制学习7-嵌入谷歌浏览器内核...
  6. MySQL流浪记(四)—— DDL和DML区别与介绍
  7. 这句话说得不错freeeim
  8. mysql全文索引 插件,如何编写MySQL全文索引插件
  9. ES6学习(四)—字符串的新增方法
  10. wxPython--学习笔记
  11. GitHub更新Fork代码
  12. defaultdict python_理解 Python 语言中的 defaultdict
  13. PR 审批界面增加显示项方法
  14. nsis出错_安装程序出现NSIS ERROR错误解决思路
  15. python-一些文件相关的操作
  16. C站能力认证(C4前端基础认证) //任务二:根据浮动布局以及定位布局的特性,实现构建下列(截图)中的页面
  17. 计算机替换字体怎么操作,字体管家怎么换字体 电脑更换字体的教程介绍
  18. 赠人玫瑰,手有余香, 下面请听仙居义工专题报道
  19. win7快速启动栏计算机,win7快速启动栏,教您Win7如何添加快速启动栏
  20. 渗透测试之信息收集总结

热门文章

  1. C++ 多态介绍详解
  2. 密码学之ElGamal 数字签名 密钥产生 数字签名 验证 python实现
  3. angularJS中localstorage,利用localstorage来实现其他页面获取本地缓存
  4. app切换到后台一分钟后锁定,需要输入手势密码才能打开(程序锁)
  5. 设施网络选址的基本方法,网络设施选址的方法
  6. spark count统计元素个数
  7. 帝国CMS7.5基于es(Elasticsearch)7.x的全文搜索插件
  8. 【动态规划DP】跳木桩
  9. 一行代码制作自己的QQ/微信二维码,还可以制作动态的哟~(小白再也不用去求别人了)
  10. 服务器虚拟化iecs,中兴通讯中标中国电信2012云计算集采