iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >CSS中伪元素::before和::after怎么用
  • 917
分享到

CSS中伪元素::before和::after怎么用

2024-04-02 19:04:59 917人浏览 八月长安
摘要

小编给大家分享一下CSS中伪元素::before和::after怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!::befo

小编给大家分享一下CSS中伪元素::before和::after怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

::before和::after是什么?

::before和::after可以添加到选择器以创建伪元素的关键字。伪元素被插入到与选择器匹配的元素内容之前或之后。

CSS中伪元素::before和::after怎么用

content属性

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

2)::before和::after必须配合content属性来使用,content用来定义插入的内容,content必须有值,至少是空

3)这些添加不会出现在DOM中,不会改变文档内容,不可复制,仅仅是在css渲染层加入。所以不要用:before或:after展示有实际意义的内容,尽量使用它们显示修饰性内容

content可取以下值:

string

使用引号包一段字符串,将会向元素内容中添加字符串

CSS中伪元素::before和::after怎么用

 p::before{
    content: "《";
    color: #000000;
}
p::after{
    content: "》";
    color:#000000;
}

<p>javascript高级程序设计</p>

attr()

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

CSS中伪元素::before和::after怎么用

a::after {
    content: ' → ' attr(href); 
}

 <a href="https://www.baidu.com/">百度地址</a>

CSS中伪元素::before和::after怎么用

 a::after{
    content: "【" attr(href) "】";
}

<a href="Https://www.baidu.com/">百度地址</a>

url()/uri()

用于引用媒体文件。比如:“百度”前面给出一张图片,后面给出href属性。

CSS中伪元素::before和::after怎么用

a::before{
    content: url("img/baidu_jgyloGo3.gif");
}
a::after{
    content:"("attr(href)")";
}

<a href="https://www.baidu.com/">百度地址</a>

注意

1)URL不能使用引号。如果你将URL用引号括起来,那么它会变成一个字符串和插入文本“url(image.jpg)”作为其内容,插入的而不是图像本身。

2)content属性,直接使用图片,即使写width,height也无法改变图片大小;

解决方案:如果要解决这个问题,可以把content:''写成空,使用background:url()来添加图片


.wrap:after{
    
    content:"";
    
    background:url("img/06.png") no-repeat center;
    
    display:inline-block;
    
    background-size:100%;
    width:100px;
    height:100px;
}复制代码

3)苹果端伪元素不生效,img、input和其他的单标签是没有:after和:before伪元素的(在部分浏览器中没有,如:苹果端会发现无效),因为单标签本身不能有子元素。

解决方案:给img包一个div可以解决

4)想要动态改变伪元素的图片,可以给当前元素添加伪元素图片的基础样式,再动态class来写伪元素的图片。

::before和::after的应用

配合quotes 属性使用

CSS中伪元素::before和::after怎么用

加括号

 h2{
    quotes:"(" ")";  
}
h2::before{
    content:open-quote;
}
h2::after{
    content:close-quote;
}

<h2>给标题加括号</h2>

加引号

 h3{
    quotes:"\"" "\"";  
}
h3::before{
    content:open-quote;
}
h3::after{
    content:close-quote;
}

<h3>给标题加引号</h3>

不指定,默认

 h4::before{
    content:open-quote;
}
h4::after{
    content:close-quote;
}

<h4>不设置quotes</h4>

装饰标题

CSS中伪元素::before和::after怎么用

h2 {
    display: grid;
    grid-template-columns: minmax(50px, 1fr) auto minmax(50px, 1fr);
    align-items: center;
    text-align: center;
    gap: 40px;
}

h2::before, h2::after {
    content: '';
    border-top: 6px double;
}

<h2>标题</h2>

布局是通过将<h2>元素变成 3 列来实现的。左列和右列是双线,宽度均为minmax(50px, 1fr),这意味着它们的匹配宽度始终不小于50px。标题文本整齐地居中居中。

彩带标题

CSS中伪元素::before和::after怎么用

 h2 {
    position: relative;
    margin: 0 auto 20px;
    padding: 10px 40px;
    text-align: center;
    background-color: #875e46;
}

h2::before, h2::after {
    content: '';
    width: 80px;
    height: 100%;
    background-color: #724b34;

    
    position: absolute;
    z-index: -1;
    top: 20px;

    
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 25% 50%);

    
    background-image: linear-gradient(45deg, transparent 50%, #5d3922 50%);
    background-size: 20px 20px;
    background-repeat: no-repeat;
    background-position: bottom right;
}

h2::before {
    left: -60px;
}

h2::after {
    right: -60px;
    transfORM: scaleX(-1); 
}
---------------------------
 <h2>标题</h2>

实现更逼真的阴影

CSS中伪元素::before和::after怎么用

.box{margin:10px;width:300px;height:100px;border-radius:10px;background:#ccc}
.shadow{position:relative;max-width:270px;box-shadow:0 1px 4px rgba(0,0,0,.3),0 0 20px rgba(0,0,0,.1) inset}
.shadow::after,.shadow::before{position:absolute;z-index:-1;content:""}
.shadow::after,.shadow::before{position:absolute;bottom:15px;left:10px;z-index:-1;width:50%;height:20%;content:""}
.shadow::after,.shadow::before{position:absolute;bottom:15px;left:10px;z-index:-1;width:50%;height:20%;box-shadow:0 15px 10px rgba(0,0,0,.7);content:"";transform:rotate(-3Deg)}
.shadow::after{right:10px;left:auto;transform:rotate(3deg)}


<div class="box shadow"></div>

替换内容

有些情况下content可以不使用::before或::after。如果content设置为单个图像,那么你可以直接在元素上使用它来替换该元素的 html 内容。

如页面上分别有以下三个内容:

CSS中伪元素::before和::after怎么用

加了replace类之后

.replace {
    content: url(img/replace.png);
}

CSS中伪元素::before和::after怎么用

1)具有简单文本的元素。它会被取代。
2)一个包含<img>在其中的元素。它也会被取代。
3)<img>直接一个元素。Firefox不会取代它,但其他浏览器会。

清除浮动

方式一:

.classic-clearfix::after {
    content: '';
    display: block;
    clear: both;
}

方式二:

.modern-clearfix {
    display: flow-root;
}

CSS中伪元素::before和::after怎么用

模拟float:center的效果

float没有center这个取值,但是可以通过伪类来模拟实现。

原理:左右通过::before float各自留出一半图片的位置,再把图片绝对定位上去。

CSS中伪元素::before和::after怎么用

body { font: 14px/1.8 Georgia, serif;}
#page-wrap { width: 60%; margin: 40px auto; position: relative; }
#logo { position: absolute; top: 0; left: 50%; margin-left: -125px; }
#l, #r { width: 49%; }
#l { float: left; }
#r { float: right; }
#l:before, #r:before { content: ""; width: 125px; height: 250px; }
#l:before { float: right; }
#r:before { float: left; }

<div id="page-wrap">
    <img src="img/cat.jpg" id="logo">
    <div id="l">
        <p>
            Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
        </p>
    </div>
    <div id="r">
        <p>
            Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
        </p>
    </div>
</div>

CSS中伪元素::before和::after怎么用

以上是“CSS中伪元素::before和::after怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网VUE频道!

--结束END--

本文标题: CSS中伪元素::before和::after怎么用

本文链接: https://www.lsjlt.com/news/80923.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • CSS中伪元素::before和::after怎么用
    小编给大家分享一下CSS中伪元素::before和::after怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!::befo...
    99+
    2024-04-02
  • 怎么使用css伪元素before和after
    这篇文章主要讲解了“怎么使用css伪元素before和after”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用css伪元素before和after”...
    99+
    2024-04-02
  • css伪元素::before和::after怎么使用
    这篇文章主要介绍“css伪元素::before和::after怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“css伪元素::before和::after怎么...
    99+
    2024-04-02
  • css中的伪元素before和after怎么使用
    小编给大家分享一下css中的伪元素before和after怎么使用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!   ::before和::after是什么?   before和aft...
    99+
    2024-04-02
  • CSS中伪元素before和after如何使用
    这篇文章主要介绍CSS中伪元素before和after如何使用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!   ::before和::after是什么?   before和af...
    99+
    2024-04-02
  • CSS中的before和:after伪元素如何使用
    今天小编给大家分享一下CSS中的before和:after伪元素如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获...
    99+
    2024-04-02
  • 如何理解css伪元素:before和:after
    今天小编给大家分享一下如何理解css伪元素:before和:after的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,...
    99+
    2024-04-02
  • CSS中的before和:after伪元素的用法介绍
    本篇内容介绍了“CSS中的before和:after伪元素的用法介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
    99+
    2024-04-02
  • CSS伪元素中before和:after以及box-shadow应用是怎样的
    本篇文章给大家分享的是有关CSS伪元素中before和:after以及box-shadow应用是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看...
    99+
    2024-04-02
  • 深入探讨CSS伪元素before和after的使用方法
    CSS伪元素before和after是在HTML元素的前后添加样式的一种方法。这两个CSS伪元素主要用于添加装饰性元素或者给文本添加额外的样式。在本文中,我们将探讨CSS伪元素before和after的使用方法,并提供一些实用示例。一、CS...
    99+
    2023-05-14
  • CSS的:after伪元素怎么用
    这篇文章主要讲解了“CSS的:after伪元素怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS的:after伪元素怎么用”吧! ":a...
    99+
    2024-04-02
  • CSS的:before伪元素怎么用
    本篇内容主要讲解“CSS的:before伪元素怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS的:before伪元素怎么用”吧! ":be...
    99+
    2024-04-02
  • css的before伪元素怎么使用
    这篇文章主要介绍“css的before伪元素怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“css的before伪元素怎么使用”文章能帮助大家解决问题。  ...
    99+
    2024-04-02
  • JavaScript前端中的伪类元素before和after如何使用
    今天小编给大家分享一下JavaScript前端中的伪类元素before和after如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来...
    99+
    2023-07-05
  • JavaScript前端中的伪类元素before和after使用详解
    目录1.基本用法2.样式修改3.清除浮动4.content属性1、string2、attr()3、url()/uri()4、counter()before/after伪类相当于在元素...
    99+
    2023-02-21
    JS before和after JS伪类元素
  • css3中的伪类before和after怎么用
    本篇内容介绍了“css3中的伪类before和after怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!before/after伪类相当...
    99+
    2023-06-08
  • ::before/:before和::after/:after怎么用
    小编给大家分享一下::before/:before和::after/:after怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!第一部分:基础知识与:acti...
    99+
    2023-06-08
  • .CSS伪类和伪元素怎么用
    这篇文章主要介绍.CSS伪类和伪元素怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 伪类的例子有: :hover :active :first-child :visi...
    99+
    2024-04-02
  • css中的after和before选择器怎么用
    这篇文章将为大家详细讲解有关css中的after和before选择器怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   代码如下:   <!DOCTYPE...
    99+
    2024-04-02
  • css怎么分辨伪类和伪元素
    今天小编给大家分享一下css怎么分辨伪类和伪元素的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作