当前位置: 首页 > 面试题库 >

CSS:不向某些元素添加内容后

乔凯康
2023-03-14
问题内容

我在理解CSS:after属性的行为时遇到了麻烦。根据规范和此处

顾名思义,:before:after伪元素指定元素的文档树内容之前和之后的内容位置。

这似乎并未限制哪些元素可以具有:after(或:before)属性。但是,它似乎仅适用于特定元素
<p>有效,<img>无效,<input>无效<table>。我可以测试更多,但重点是。请注意,这在各个浏览器中似乎非常一致。
是什么决定对象是否可以接受:before:after属性?


问题答案:

imginput都是被替换的元素。

替换的元素是其外观和尺寸由外部资源定义的任何元素。实例包括图像(<img>标记),插件(<object>标签),和形式的元件(<button><textarea>
<input>,和<select>标签)。所有其他元素类型都可以称为不可替换元素。

:before 并且:after仅适用于不可替换的元素。

从规格:

注意。该规范并未完全定义替换元素(例如HTML中的IMG):before以及:after与替换元素的交互 。这将在以后的规范中更详细地定义

使用span:before, span:after,DOM如下所示:

<span><before></before>Content of span<after></after></span>

显然,这不适用于<img src="" />



 类似资料:
  • 问题内容: 我无权访问页面的HTML或PHP,只能通过CSS进行编辑。我一直在网站上进行修改,并通过或伪元素添加文本,并且发现转义Unicode应该用于添加内容之前或之后的空格等内容。 如何在属性中添加多行? 在示例中,HTML换行符 仅用于可视化 我想要实现的目标: 问题答案: 该属性指出: 作者可以通过在“ content”属性之后的字符串之一中写入“ \ A”转义序列来在生成的内容中包含换行

  • 我需要填充一个json文件,现在我有如下内容: 我需要添加另一个“元素”。我的第一步是使用,现在我需要添加新元素。我想我必须使用添加另一个元素,我尝试了以下方法: 但是当我尝试做时,我得到了错误"对象没有方法推送",我认为我做了一些非常错误的事情,因为我没有告诉任何地方的"元素"。 我该怎么做? 编辑:对不起,我脑子里有很多困惑。 我认为从,但我首先得到了我在JSON中输入的内容。 用数组代替对象

  • 我有个文件名测试。json 我读了这个文件,我想得到这个 我要阅读和构建的代码 从JSON的那句话中,我得到了 com.google.gson.stream.MalformedJsonException:使用JsonReader.setLenient(true)接受格式错误的JSON 我的绳子坏了? 我试过了 我知道这不是JSON数组。

  • 问题内容: 我有一个现有的网站,上面有很多用表格布置的旧页面和表格,我正尝试逐步过渡到CSS。我想使用Twitter Bootstrap样式表-特别是表单样式- 但仅在我明确要求它们的页面部分中使用。例如,我可能将整个表单围绕在div中,如下所示: 我希望所有其他形式保持与现在相同,因为我将无法同时更改所有形式。有没有简单的方法可以做到这一点?我可以遍历Bootstrap CSS中的每种样式,并添

  • 我试图将动态元素添加到div中。Div有,但是如果添加到Div中的内容会被缩放,但也会被推送。 导致这一问题:如果数据很大,则“在小数据上更正一个”问题 我在网上试了很多东西,但我找不到任何关于这方面的信息。

  • 问题内容: 我有办法 在内部,我想调用另一个方法并将其传递,但是我想向其他对象添加新元素(描述)。 如何在Java中做到这一点?代码是什么样的? 问题答案: 只是一个数组。因此: 您可能需要弄混的通用类型。 您可以更快但更冗长: