CSS伪选择器::empty vs :blank

栏目: CSS · 发布时间: 6年前

内容简介:前端时间我们平时做项目的时候,时常会使用一些CSS Frameworks,比如说有名的Bootstrap,在这种情况之下,使用的一些选择器,是带有一些默认样式。有的时候元素中并没有任何内容,那么在页面上显示的效果就有点怪异。比如下面这样的一个场景,你的页面上有两个如果你的页面中引用了

前端时间 @Zell Liew的博客深入的介绍了CSS中伪选择器 :empty:blank 相关的知识 。那么 :empty:blank 究竟有什么作用,又在什么场景下使用呢?今天我们来一起看看,它们怎么使用,更应该应用在哪个场景之下呢?

使用场景

我们平时做项目的时候,时常会使用一些CSS Frameworks,比如说有名的Bootstrap,在这种情况之下,使用的一些选择器,是带有一些默认样式。有的时候元素中并没有任何内容,那么在页面上显示的效果就有点怪异。比如下面这样的一个场景,你的页面上有两个 .alertdiv 应用,其中一个有内容,另外一个任何内容都没有(就一个空 div )。比如:

<div class="alert alert-success">Success Alert</div>
<div class="alert alert-info"></div>

如果你的页面中引用了 bootstrap.css 的话,这个时候看到的效果将会是这样:

CSS伪选择器::empty vs :blank

对于这样的效果,估计没有人能接受。那么为什么会这样呢?来看一下代码,不难发现 .alert 有一个默认的样式:

.alert {
    position: relative;
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: .25rem;
}

元素中主要有一个 padding ,撑大了元素容器,就算元素没有任何内容,该元素也有一定的大小。就如上面看到的效果。那么我们有没有别的方法能处理呢?毕竟很多场景我们是不好控制元素的。

既然标题提到了 :empty:blank ,估计有同学想到了解决方案是不是和这两个伪元素有关呢?如果感兴趣的话,可以接着往下阅读,在介绍相应的解决方案之前,咱们先来了解一下 :empty:blank

:empty:blank

首先, :empty是什么? :blank`又是什么?

简单的说,** :empty:blank 都是CSS的伪选择器。其中 :empty 可以让你选择 空元素 。空元素是指没有任何内容的元素,甚至空格都不行。即:

<div class="alert alert-info"></div>

空元素可以有注释,只要注释填满了整个元素:

<!-- 完元素 -->
<div class="alert alert-info"><!-- 我是一个注释 --></div>

<!-- 非空元素 -->
<div class="alert alert-info"> <!-- 我是一个注释 --></div>
<div class="alert alert-info"><!-- 我是一个注释 --> </div>
<div class="alert alert-info"> <!-- 我是一个注释 --> </div>

最上面的一行代码,虽然 div 中有注释,但 <div></div> 之间没有任何内容,甚至是空格都没,那么他就是一个空元素,但下面三个 div ,虽然包含的也是注释,但是里面含有空格。所以说,这三个 div 不是空元素。

:blank:empty 为灵活。它可以让你选择有空白的元素:


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C陷阱与缺陷

C陷阱与缺陷

凯尼格 / 高巍 / 人民邮电出版社 / 2008-2-1 / 30.00元

作者以自己1985年在Bell实验室时发表的一篇论文为基础,结合自己的工作经验扩展成为这本对C程序员具有珍贵价值的经典著作。写作本书的出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。.. 全书分为8章,分别从词法分析、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。最后,作者用一章的篇幅给出了若干具有实用价值的建议。.. 本书......一起来看看 《C陷阱与缺陷》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

在线进制转换器
在线进制转换器

各进制数互转换器

SHA 加密
SHA 加密

SHA 加密工具