今天小编给大家分享一下JavaScript前端中的伪类元素before和after如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
before/after
伪类相当于在元素内部插入两个额外的标签,其最适合也是最推荐的应用就是图形生成。在一些精致的UI实现上,可以简化HTML代码,提高可读性和可维护性。
效果使用:
像这种小图标大多使用before,after来实现,不仅简单还方便。
:before和:after的作用就是在指定的元素内容(而不是元素本身)之前或者之后插入一个包含content属性指定内容的行内元素,最基本的用法如下:
#example:before { content: "#"; color: red; } #example:after { content: "$"; color: red; }
这两个伪类都属于内联元素,但是用display:block;属性可以将其转换成块状元素,比较常见的用法就是样式的一些实现,还有就是清除浮动的效果。。
代码如下所示:
<div class="quote"> <span>打老虎</span> </div> .quote:before,.quote:after{//用这两个伪类实现样式渲染 content:""; display:inline-block; width:5%; margin:5px 1%; border-bottom:1px solid blue; }
代码如下所示:
<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必不可少。
::before和::after必须配合content属性来使用,content用来定义插入的内容,content必须有值,至少是空。默认情况下,伪类元素的display是默认值inline,可以通过设置display:block来改变其显示。
content可取以下值。
使用引号包一段字符串,将会向元素内容中添加字符串。如: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>
通过attr()调用当前元素的属性,比如将图片alt提示文字或者链接的href地址显示出来。
<style type="text/css"> a::after{ content: "(" attr(href) ")"; } </style> <a href="http://www.cnblogs.com/starof" rel="external nofollow" >starof</a>
用于引用媒体文件。
举例:“百度”前面给出一张图片,后面给出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" rel="external nofollow" >百度</a> </body>
调用计数器,可以不使用列表元素实现序号功能。
配合counter-increment和counter-reset属性使用:
h3:before { counter-increment: chapter; content: "Chapter " counter(chapter) ". " }
<style> body{ counter-reset: section; } h2{ counter-reset: subsection; } h2:before{ counter-increment:section; content:counter(section) "、"; } h3:before{ counter-increment:subsection; content: counter(section) "." counter(subsection) "、"; } </style> ------------------------------------------------ <body> <h2>HTML tutorials</h2> <h3>HTML Tutorial</h3> <h3>XHTML Tutorial</h3> <h3>CSS Tutorial</h3> <h2>Scripting tutorials</h2> <h3>JavaScript</h3> <h3>VBScript</h3> <h2>XML tutorials</h2> <h3>XML</h3> <h3>XSL</h3> </body>
以上就是“JavaScript前端中的伪类元素before和after如何使用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。