CSS伪元素:before和:after详解与妙用

定义

::before 创建一个伪元素,其将成为匹配选中的元素的第一个子元素。常通过 content 属性来为一个元素添加修饰性的内容。::after用来创建一个伪元素,作为已选中元素的最后一个子元素。通常会配合content属性来为该元素添加装饰内容。默认地,这两个个伪元素是行内元素,不过可以使用属性 display 改变这一点。其实这个前后也只是个概念而已,灵活运用这两个“帮手”,可以简化很多实现,以及很多有趣的实现。

特性

不占用DOM节点,简化DOM节点数,自然js也无法操作。

用在块级元素以及大部分的行级元素。但是比如img等替换元素元素,就得看怎么用了,比如图片资源加载失败也是能使用的。

伪元素被点击的时候触发的是主元素的 click 事件。

不利于调试,也不利于SEO。

使用

CSS3使用双冒号::和伪类的单冒号区:分开来。浏览器也接受由CSS 2 引入的 :before 写法。::before和::after需要使用content属性指定要插入的内容。content必须有值(空值也行)。content插入的内容默认是 inline 元素,可以通过display:block改变

content的值有以下几种情况:

空值

字符串:作为伪元素的内容添加到主元素中

attr(attr_name) :取得主元素的属性值

url()或者uri(): 引用外部资源

counter(): 实现序号功能

常见使用场景

清除浮动

利用伪类实现简单图标

在这里插入图片描述

扩大可点击区域

轻松实现聊天框

如图

6.元素 hover 特效

7.元素间隔效果 ,使用:not排除掉最后一个元素

8,实现一些标签对placeholder的支持

以上就是简单分享,有更多的使用技巧欢迎评论区留言讨论。

点在看,让更多看见。

(0)

相关推荐

  • 面试时回答的基础教程CSS计数器

    IT行业近十年来发展迅猛,衍生出许多新的职业,如UI设计师.开发工程师.软件测试工程师等,在众多新兴职业中,Web前端工程师就是其中之一.在IT行业,Web前端真正得到重视大概也要六七年.伴随着因特网 ...

  • CSS伪元素

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta na ...

  • 编程语言详解css绝对定位对元素宽度的影响

    一.问题来源 自己编写轮播图切换的时候前一幅图滑动时后边出现空白直到前一幅图全部滑出后第二幅图才出现.刚开始出现问题到网上搜发现有的说定时器动画可能会造成这种情况,于是我在代码调试里注释掉了定时器,让 ...

  • EEG伪影类型详解和过滤工具的汇总(一)

    更多技术干货第一时间送达 什么是脑电图伪影? 我们的大脑一直在运转.当神经元之间交流时,细胞之间的生物化学交换会产生微小的电活动.从神经元到神经元的单个电信号是不可记录的,但是当数以百万计的神经元同步 ...

  • EEG伪影详解和过滤工具的汇总(二)

    更多技术干货第一时间送达 在<EEG伪影类型详解和过滤工具的汇总(一)>,我们详细介绍了EEG伪影类型和产生原因,这篇文章,我们主要介绍常见脑电伪影的处理技术. 脑电伪影过滤技术(通过数据 ...

  • 【天叶营养说】详解磷元素,原来磷有这么多功能!

    磷在植物营养中扮演着十分重要的角色,与植物能量的生化反应息息相关.它是生物遗传物质核酸的组成部分,同植物细胞的分裂和分生组织的发育有关,还是植物生长发育不可或缺的大量元素之一. 磷的营养功能 磷在植物 ...

  • html和css之背景样式详解

    背景样式详解 opacity和display的区别 opacity设置的是透明度,值的范围是0~1,0代表完全透明,1代表不透明 display为none,浏览器就不会渲染这个元素. 一个元素设置为d ...

  • 【每天老照片】-1万-6997-联邦德国继承铁十字:详解现代德军的传统元素

    有人说东德除了铁十字什么都继承了,西德(联邦德国)除了铁十字什么都没继承.西德(联邦德国)军队虽然多了不少美式风格,但传统元素其实不止铁十字和领章那么简单. 大檐帽 现代德军最显眼的特征是在大多数场合 ...

  • 详解生根7大元素运用!根系的长度和粗度是什么肥料决定的!

    详解生根7大元素运用!根系的长度和粗度是什么肥料决定的!

  • HTML+CSS+JS详解 | w3c笔记

    Web概述 Web三要素:浏览器,服务器,HTTP协议 HTML工作原理:HTML是部署在服务器上的文本文件,根据HTTP协议浏览器发出请求给服务器,服务器做出响应给浏览器返回一个HTML,浏览器解释 ...