花潮论坛

搜索
热搜: 活动 交友 discuz
查看: 14|回复: 1

:empty伪类应用演示

[复制链接]
  • TA的每日心情
    奋斗
    2026-3-28 07:56
  • 签到天数: 1772 天

    [LV.Master]伴坛终老

    3168

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

    发表于 2026-3-28 08:00 | 显示全部楼层 |阅读模式

    请马上登录,朋友们都在花潮里等着你哦:)

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    :empty CSS 伪类用于选择不包含任何子元素的元素。子元素可以是元素节点或文本(包括空格)。但是注释、处理指令和 CSS content 不会影响元素是否被认定为空。
    匹配没有子节点的元素在前端应用中被广泛使用,学会:empty伪类意义重大。

    以下代码演示了何种情形下元素会匹配 :empty 伪类,匹配者背景将渲染为银白色(预览效果时,没有文字的元素可将鼠标指针移到其上查看说明):

    <style> /* flex容器 */ .wrapBox { margin: 30px auto; width: 80vw; display: flex; justify-content: flex-start; flex-flow: row wrap; gap: 20px; border: 1px solid gray; } /* flex项目 */ .sonBox { /* 宽度设计 :父元素宽度的25%,考虑项目间距 */ width: calc(25% - (20px - 20px * 0.25)); height: 20vh; background: tan; padding: 20px; /* 项目尺寸包含边距以确保精准占满父元素水平空间 */ box-sizing: border-box; } /* 项目元素伪元素 : 提供信息 */ .sonBox::before { content: attr(data-msg); } /* 内容为空的项目背景色为银色 */ .sonBox:empty { background: silver; } .tMid { text-align: center; } </style> <h2 class="tMid">匹配 :empty 伪类演示</h2> <div class="wrapBox"> <div class="sonBox">No.1:没有伪元素</div> <div class="sonBox">No.2:没有伪元素</div> <div class="sonBox" title="No.3:这个div啥都没有"></div> <div class="sonBox" data-msg="" title="No.4:这个div有before伪元素,before内容为空"></div> <div class="sonBox" data-msg="No.5 伪元素信息:div里除了before伪元素啥都没有"></div> <div class="sonBox" data-msg="No.6 伪元素信息:div里有一个空格"> </div> <div class="sonBox" data-msg="No.7 伪元素信息:div里有一个空行"> </div> <div class="sonBox" data-msg="No.8 伪元素信息:div里有不断行的注释"><!-- 注释 --></div> <div class="sonBox" data-msg="No.9 伪元素信息:div里的注释断行(相当于div有空行、空格)"> <!-- 注释 --> </div> <div class="sonBox" data-msg="No.10 伪元素信息:div里有span元素"><span></span></div> </div>

    【注意】元素的HTML代码结构决定其是否匹配 :empty 伪类选择器,例如示例中的 No.6 有一个空格、No.7 有一个空行(空行被视为空格)、No.9 有独立成行的注释(存在空格、空行),这些都是文本节点,和 No.1、No.2 有实际的文本节点对等,都不能被 :empty 伪类匹配,而 No.10 有一个<span>子元素,自然也不会被匹配;其余div标签,No.3、No.4、No.5、No.8 都匹配 :empty 伪类样式,所以显示背景色为银白色。

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1895

    主题

    32万

    回帖

    38万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2026-3-28 13:26 | 显示全部楼层
    元素的HTML代码结构决定其是否匹配 :empty 伪类选择器,这个匹配是自动?匹配好了有什么用呢?
     
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|服务支持:DZ动力|huachaowang.com Inc. ( 蜀ICP备17032287号-1 )

    GMT+8, 2026-3-28 16:15 , Processed in 0.074210 second(s), 24 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表