我有一个页面,其内容来自WYSIWYG编辑器。我希望HTML元素有一些固定的边距/填充,如" h2" element将始终具有margin-bottom为20px,段落文本的margin-top为10px。所以问题是当有一个" p"在" h2"之后标记元素然后是" h2"和" p"增加。它们之间的间距是h2的边缘底部和p的边缘顶部的增加,变为30px。如果" p"标签的边距为10p,而#34; span"在" p" tag的margin-top为5px。
我们可以将此限制为20px吗?无论如何,如果父母有一个margin-bottom属性,我们可以忽略子元素margin-top属性吗?
我尝试过使用h2 + p {margin-bottom:20px;}但效果不错但这不仅仅是关于" p"标签,因为内容是动态的,我们可以期待任何HTML元素,如h3,div,span等...
你能帮我解决这个问题吗?
答案 0 :(得分:1)
我认为你能得到的最接近的是“保证金崩溃”,你可以在这里阅读:
CSS - Margin-Bottom ignored when Margin-Top exist
这适用于“div”,“p”等块元素,但不适用于“span”,“img”等内联元素。
除此之外,您需要添加一些javascript来迭代元素集合,并根据您需要设置的一组规则调整边距。