我有一个简单的<p>元素,里面有文本,文本过半时,我想插入一个图像.由于某种原因,图像后面的文本没有根据样式表设置样式:

p {
  font-size: 20px;
}
<p>
  Text is styled according to the stylesheet.
  <div></div>
  Text loses its styling.
</p>

为什么会这样呢?

推荐答案

您的标记无效!使用Markup Valdiator判断您的项目编码是否有效.

问题是,段落(<p>)只是一个文本块的容器,在该文本块中需要流动文本.然而,与span不同的是,div是块容器,因此不是流文本的容器.

现代主流浏览器有一个自动更正功能,可以修复代码中的大多数错误,以便仍然呈现文档,而不是完全 destruct 文档本身.

浏览器将更正您的代码,如下所示:

<p>
  Text is styled according to the stylesheet.
</p>
<div></div>
Text loses its styling.

这样,您就会意识到为什么第二行不再受CSS样式的影响.

您在 comments 中表示:

@ralph.m是的,因为我想在它下面添加一个图像的描述.

这一点我不得不说,div也不是一个合适的容器.正确的方法是使用figurefigcaption.

<figure>
  <img src="https://via.placeholder.com/200.jpg">
  <figcaption>This is just a Placeholder Image</figcaption>
</figure>

然而,如上所述,在段落中包含流动文本以外的内容是不正确的.因此,您必须按如下方式拆分标记:

<p>Text is styled according to the stylesheet.</p>
<figure>
  <img src="https://via.placeholder.com/200.jpg">
  <figcaption>This is just a Placeholder Image</figcaption>
</figure>
<p>More flow-text.</p>

Html相关问答推荐

将容器水平偏离中心放置在桌面上;在移动设备上平稳地集中缩小规模

如何防止下拉菜单内的Bootstrap列表行包装?

如何通过将项目包裹在迪夫中来保持最右列的对齐方式来对齐项目?

Font Awesome 6插入符号未显示

将ANGLE模板高效地迁移到ANGLE 17中引入的新语法

在 Select 前后更改选项卡的背景

VBA从公共Google Drive地址下载文档-.Click事件(?)

如何使用html的<;输入>;处理/绑定Angular 信号?

当溢出到滚动条中时, bootstrap 按钮样式会更改

如何 Select 表格';TMS Web Core中的body html元素?

目标第一个祖先标签的 XPath

如何从通过 find-each 方法(在 Rails 应用程序中)生成的列表创建下拉菜单?

带有数据 URI 的音频在 Chrome 中失败

如何正确地嵌套Flexbox

如何将两个平行 div 的页面内的表格居中?

在包含 html 标签的字符串的子字符串中应用不同的样式

使用模板循环每行列出 3 个 bootstrap 卡

调整大小时 CSS 溢出

所有幻灯片上的 Quarto RevealJS 标题

那里有一个类似于 ?