为什么 :before 和 :after 伪元素需要 'content' 属性?

2024-04-03

鉴于以下情况,为什么:after选择器需要内容属性才能运行吗?

.test {
    width: 20px;
    height: 20px;
    background: blue;
    position:relative;
}
			
.test:after {
    width: 20px;
    height: 20px;
    background: red;
    display: block;
    position: absolute;
    top: 0px;
    left: 20px;
}
<div class="test"></div>

请注意,在指定 content 属性之前,您看不到伪元素:

.test {
    width: 20px;
    height: 20px;
    background: blue;
    position:relative;
}
			
.test:after {
    width: 20px;
    height: 20px;
    background: red;
    display: block;
    position: absolute;
    top: 0px;
    left: 20px;
    content:"hi";
}
<div class="test"></div>

为什么这是预期的功能?您可能会认为显示块会强制元素显示。奇怪的是,您实际上可以在 Web 调试器中看到样式;但是,它们不会显示在页面上。


以下是各种 W3C 规范和草案的一些参考:

选择器级别 3 http://www.w3.org/TR/css3-selectors/#gen-content

The :before and :after伪元素可用于在元素内容之前或之后插入生成的内容。

The :before and :after伪元素 http://www.w3.org/TR/CSS2/generate.html

作者指定生成内容的样式和位置:before and :after伪元素。正如他们的名字所示,:before and :after伪元素指定元素的文档树内容之前和之后的内容位置。The content属性与这些伪元素一起指定插入的内容。

内容属性 http://www.w3.org/TR/CSS2/generate.html#propdef-content

最初的:none

该属性与:before and :after伪元素在文档中生成内容。值有以下含义:

none - 不生成伪元素。


样式应用于::before and ::after伪元素影响生成内容的显示。这content属性is此生成的内容,如果不存在,则默认值为content: none是假设的,这意味着该样式没有任何可应用的内容。

如果你不想重复content:'';多次,您可以简单地通过全局样式化所有来覆盖它::before and ::afterCSS 中的伪元素(JSFiddle 示例 http://jsfiddle.net/VzZUz/):

::before, ::after {
    content:'';
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 :before 和 :after 伪元素需要 'content' 属性? 的相关文章

  • PDF 在 Safari 中隐藏 Jquery Modal

    这是与我有关的事情this https stackoverflow com questions 24052681 pdf hide jquery modal in ie问题 在 IE 中 我在对话框中使用 iframe 解决了问题 所以它工
  • Bootstrap 导航栏与 Google 位置重叠自动完成下拉菜单

    我有一个导航栏 我试图在其中添加一个地点搜索框 除了谷歌位置提示框的一小部分被导航栏重叠 如下图所示 之外 一切几乎都有效 我尝试过改变z index输入框的值改为10或2000或90000但似乎没有效果 我还缺少其他需要做的事情吗 这是
  • 从字体到跨度(大小和颜色)和背面的正则表达式(VB.NET)

    我正在寻找一个正则表达式 可以将我的字体标签 仅具有大小和颜色属性 转换为具有相关内联CSS的span标签 如果有帮助的话 这将在 VB NET 中完成 我还需要一个正则表达式来实现相反的效果 下面详细说明的是我正在寻找的转换示例 font
  • 使用内联样式有哪些风险?

    A 内容安全政策 https developer mozilla org en US docs Web HTTP CSP with a default src or style src指令将阻止内联样式应用于
  • CSS使背景图像使用字体字符

    我想使用字体字符 例如来自 font awesome 作为输入元素的背景图像
  • 如何强制折断不可折断的字符串?

    我有一个根据数据库中包含的数据生成的 HTML 页面 数据库有时包含浏览器无法分解的长字符串 因为这些字符串不包含可分解的字符 空格 点 逗号等 有没有办法使用 html css 甚至 javascript 来解决这个问题 看到这个link
  • 如何在php中使用一张图像绘制形状

    我需要使用图像的一部分来创建帧图像 例如 用户将从后端上传图像片段 现在我需要根据前端用户的要求在前端创建一个框架 用户将选择框架的高度和宽度 然后他将选择该图像片段 如下所示 我没有办法做到这一点 我尝试通过 css 和 html can
  • 引导标签输入宽度

    我正在尝试使用引导程序标签输入 http timschlechter github io bootstrap tagsinput examples 以模态中包含的形式 像这样 div class form group div
  • 如何防止弹性项目高度因其内容而溢出[重复]

    这个问题在这里已经有答案了 我刚刚开始学习 Flex 到目前为止我印象深刻 但是 我对包含页眉 页脚和三列的全页应用程序遇到了问题 第一列包含一个项目列表 由于我无法为其父级设置固定高度 因此每次列表增长时 它都会将页脚向下推 这是一个带有
  • 没有类的 CSS 选择器

    我正在使用选择器来选择不具有一个类的所有元素 list th not foo some rules 我怎样才能将其应用到多个班级 list th not foo list th not bar some rules 上面的 CSS 当然不会
  • 如何为 TBODY 应用垂直滚动条

    我的表中有 4 列和 5 行数据 我必须为 TBODY 应用垂直滚动条 TH 标题内容不应滚动 我对场景进行了编码 并且在我将滚动类应用于 TBODY 之前它工作正常 一旦我将滚动样式类应用于 TBODY 它就会破坏之前的对齐方式 任何人都
  • CSS:水平滚动时背景不存在

    好的 我的背景设置如下 HTML div div CONTENT HERE div div CSS container background url image gif content width 800px margin auto 因此
  • div 边框上的内边距

    我想在 css 边框上添加填充 将其拉入 div 内 远离边缘 使用 css 可以吗 css3 很好 webkit 这是设计 我通过将一个 div 放在一个 div 中 然后给内部 div 一个边框来做到这一点 我想让标记尽可能精简 所以如
  • 动画进度元素值

    我有一个progress元素 该元素如下所示 div class container div div div
  • 按百分比设置 bootstrap 模态身高

    我正在尝试制作一个带有主体的模态 当内容变得太大时 该主体会滚动 但是 我希望模式能够响应屏幕尺寸 当我将最大高度设置为 40 时 它没有任何效果 但是 如果我将最大高度设置为 400px 它会按预期工作 但不会响应 我确信我只是错过了一些
  • 如何更改 Bootstrap 3 div 列顺序

    正在做我的第一个响应式设计 在 Bootstrap 3 中可能会出现类似的情况 在 lg 上更改此设置 a b c sm 上的这个 a c b 您可以使用两个 div 一个用于第一类型的布置 另一个用于第二类型的布置 第一个仅在 lg 中显
  • 如何将送货地址复制到帐单地址

    我想知道是否可以将送货地址复制到帐单地址 当用户单击与送货地址相同的复选框时 送货地址值将被复制到账单输入字段 我完成了大部分部分 但我不确定如何将选择菜单 状态 值复制到帐单地址 我真的很感谢任何帮助 My code document r
  • Twitter 嵌入时间轴小部件

    我继续下载http platform twitter com widgets js http platform twitter com widgets js And the http platform twitter com embed t
  • 为范围旋钮 ionic-range 添加边框颜色

    我正在使用离子范围添加范围滑块 并想向范围旋钮添加边框 由于它的 ionic4 和范围旋钮是 Shadow dom 的一部分 我无法使用范围旋钮的 border 属性直接更改边框 我已附上我想要实现的图像 范围旋钮周围有白色边框 现有属性只
  • 带显示块的SPAN

    和默认有什么区别 div 元素和默认值 span 元素与display block HTML 元素的有效性和语义存在差异 否则它们是相同的 div and span两者都被定义为通用容器 在 HTML 方面没有更深层次的含义 一个默认为块显

随机推荐

  • SQL 查询至少其中一项

    我有一群用户 每个用户都有很多帖子 架构 Users id Posts user id rating 如何找到至少有一篇帖子评级高于 例如 10 的所有用户 我不确定是否应该为此使用子查询 或者是否有更简单的方法 Thanks 要查找至少有
  • 我可以让 SQLAlchemy 根据当前外键值填充关系吗?

    这是一些代码 latest version at https gist github com nickretallack 11059102 from sqlalchemy ext declarative import declarative
  • “jQuery 方式”仅用 HTML 和文本的混合替换文本节点?

    在我的 Web 浏览器用户脚本项目中 我只需要替换一个文本节点 而不影响与文本位于同一父节点下的其他 HTML 元素 我需要用多个节点替换它 div foo bar baz img src image png div 需要成为 div a
  • Github Mac 权限问题

    作为新的 Git 用户 我正在使用最新的 Mac 版 Github 当我尝试同步存储库 我首先克隆 然后创建一个新分支 提交更改 然后与 master 合并 时 我收到错误 Authentication Failed You may not
  • 浏览器不会通过 onclick 事件设置 cookie

    尽管我确信这是显而易见的事情 但我还是对这个错误感到恼火 如果是的话 抱歉 以下 JavaScript 成功设置了我的 cookie 但是一旦我将相同的代码绑定到onclick事件 就像这样
  • 这个递归同步调用如何不死锁?

    我有一组方法 它们全部同步到类对象 不能使用 self 因为可以在多个线程中使用该对象的多个实例 其中一些方法调用类中也在类对象上同步的其他方法 不知怎的 这有效并且不会导致我期望的僵局 我假设 testA 将被阻止运行 因为 testB
  • if (设备 == iPad), if (设备 == iPhone)

    所以我有一个通用应用程序 我正在设置一个内容的大小UIScrollView 显然 iPhone 和 iPad 上的内容大小会有所不同 如何为 iPad 设置特定尺寸 为 iPhone 和 iPod touch 设置另一个尺寸 if UI U
  • 解析 SQL 语句的库

    我希望能够解析任意 SQL SELECT 语句并检索各个组成部分 列 关系 JOIN 条件 WHERE 条件 ORDER BY 列 最好使用 Delphi 快速谷歌搜索显示了几种不同的免费软件产品 但尚不清楚它们是否完整和 或正在积极开发中
  • 纬度值无效:必须介于 -90 到 90 之间

    我尝试在我的phonegap应用程序中通过javascript Azure Map创建地图 但出现以下错误 atlas min js api version 1 0 362 未捕获 承诺 错误 无效的 LngLat 纬度值 必须介于 90
  • 如何在 css 动画末尾使用 display:none

    我想在关键帧动画的末尾添加一个 display none 属性 就像这样 sw intro animation introtop animation duration 0 8s animation delay 2s animation fi
  • Python 中的日期差异(以分钟为单位)

    如何计算Python中以下时间戳的时间差 以分钟为单位 2010 01 01 17 31 22 2010 01 03 17 31 22 minutes diff datetime end datetime start total secon
  • SwiftUI Plain List 如何删除 iOS16 中的顶部标题填充

    我正在寻找一种方法来删除 SwiftUI 列表中的顶部填充 借助 iOS 15 我们可以做到UITableView appearance sectionHeaderTopPadding 0 然而 在 iOS 16 中 List 已通过 UI
  • 具有代理 Lambda 的 AWS API Gateway:Lambda 函数的权限无效

    I am using AWS API Gateway with a proxy Lambda when the name of the lambda function is coming as a stage variable Meanin
  • PHP、HTML、Javascript 执行顺序

    我有一个 test php 文件 该文件包含一些 PHP 代码 HTML 元素以及一些内部 JavaScript 和一些外部 JavaScript 我想知道哪个首先加载或执行 PHP HTML 还是 JavaScript 我想知道执行顺序
  • 单元格的内容应占据所有行而不改变列宽

    我想要一张不标准的桌子 它应该是这样的 这是我的demo http jsbin com kegogabine edit html output 正如您所看到的 第一列的宽度因文本而增加 但我不希望出现这种行为 我希望文本从左到右整行 更新
  • 将两个 UIImage 合并为 1 个以保存到库

    我想知道如何将 2 个 uiimage 合并为 1 个 我想将最终产品保存到图书馆 为了保存图像 我使用了 UI 按钮 这是我如何保存 UIImageview image 的片段 IBAction getPhoto id sender UI
  • vert.x 有集中过滤吗?

    我是 Vert X 的新手 Vert x 是否有内置的集中式过滤器 我的意思是您将在 J2EE 应用程序上使用的过滤器类型 例如 所有页面都必须经过身份验证过滤器或类似的操作 在 Vert x 中是否有标准化的方法来实现这一目标 我知道这个
  • 有索引的搜索时间 > 无索引的搜索时间

    我有一个集合 numbers 其中包含 200000 个文档对象 其中 number i i 1 到 200000 没有任何索引 gt 10000 给出 nscanned 200000 和 115 ms 对于数字 gt 10000 的索引给
  • 在 PHP 中将时区偏移量转换为友好名称

    我正在尝试使用 PHP 将 RFC 时间戳转换为友好的日期 这是例子 Wed 17 Feb 2010 19 44 01 0500 我希望将其打印为 Wed 17 Feb 2010 19 44 01 EST 使用 date strtotime
  • 为什么 :before 和 :after 伪元素需要 'content' 属性?

    鉴于以下情况 为什么 after选择器需要内容属性才能运行吗 test width 20px height 20px background blue position relative test after width 20px heigh