【问题标题】:Is there a way to make a <p> element contains block elements? [duplicate]有没有办法让 <p> 元素包含块元素? [复制]
【发布时间】:2015-07-30 10:41:05
【问题描述】:

我的 RTE[富文本编辑器] 有问题,我正在使用 Sharepoint 2013,我们在将自定义脚本放入

元素时遇到问题。

这是您将代码放入编辑器时的示例代码

 <p>Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor<div clas="image_carousel">sample image carousel here</div> Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum sdolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor</p>

但是当你保存它时问题是这样的:

<p>Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor Lorem ipsum dolor</p>
<div class="image_carousel">sample image carousel here</div>

我已经知道它不是 html 标准,但是是否有任何 div 可以在 p 中工作并且不会破坏的技巧。任何建议或提示都会有所帮助。谢谢!

【问题讨论】:

  • 您可以将div 更改为span 元素。

标签: javascript html sharepoint


【解决方案1】:

这个问题已经回答了here

不允许将块元素放在 p-tag 中。然而,在实践中,这实际上并不完全正确。实际显示值实际上完全无关;唯一需要考虑的是标签的默认显示值,例如div 的“block”和 span 的“inline”。更改显示值仍然会使浏览器过早关闭 p-tag。

您可以设置 span-tag 的样式,使其行为与 div-tag 完全一样,但它仍会在 p 环境中被接受。

所以不要这样做:

<p>
  <div>test</div>
</p>

你可以这样做:

<p>
  <span style="display:block">test</span>
</p>

【讨论】:

  • 是的,我认为将我所有的 div 更改为 span 是最接近我的问题的解决方案。感谢您的帮助。
猜你喜欢
  • 2016-11-04
  • 1970-01-01
  • 1970-01-01
  • 2019-11-08
  • 2015-12-28
  • 2011-08-01
  • 1970-01-01
  • 2012-01-31
  • 2020-02-04
相关资源
最近更新 更多