我有以下DOM布局:
<div style="background-color:rgba(0, 0, 255, 0.2);outline:1px solid red;display:inline">
This should be marked
<div>i want this too</div>
and this too
</div>
我想对外部div
进行样式化,它是整个区域的背景轮廓或颜色,内部div
包括在内,就像在Chrome devtools中选择DOM的一部分:
我的限制是,我不能改变span
内部的样式,它总是有不同的子(我可以写任何CSS到外部span
,但不改变位置/尺寸)。基本上我想复制Chrome devtools DOM高亮显示器。
如何做到这一点?
2条答案
按热度按时间qlvxas9a1#
为什么会发生
默认情况下,
<span>
标记启用了display: inline
属性。它说浏览器嵌入文本内容和子标签显示:inlineto text。例如:解决方案
您可以将此标记替换为
<div>
或将display: block;
属性设置为它,因此您的代码将如下所示:方案二
正如在一个问题的评论中所说的,不欢迎将
<div>
放入<span>
中,所以你可以试试这个:请记住,默认情况下已启用
display: block;
,因此您不需要启用它(在解决方案2中已修复)。hujrc8aj2#
它完全按照您想要的方式工作:
虽然简单地改变你的跨度的显示属性将做的伎俩,但我认为这是你不应该做的事情。span可以在div内部,但div不应该在span内部。