>我创建了一个包含标签的div,标签是"显示:内联块,浮点:左"的跨度。标签在我的项目中无处不在,除了当我使用 php 编写一个div"tag_block"并将标签跨度放在里面时,奇怪的是,对于渲染的第一个元素,跨度居中,然后当我向下滚动其他元素时,位置慢慢向右移动, 停在右边,偶尔跳来跳去。
这听起来像是浏览器问题吗?我很困惑!
"float: left"似乎被任意的东西所取代,这些东西会随着标签块打印的每个元素而变化。
<div class="tag_block">
<span class="tag">Tag0</span>
<span class="tag">Tag1</span>
</div>
这是我的JSFiddle,代码中的注释(http://jsfiddle.net/livvyjeffs/4uAp4/5/)
所以我真的把问题最小化了,出于某种原因,顶部块内的文本会影响跨度在其下方块中开始显示的位置。有什么想法吗?
既然你正在使用display: inline-block
,你就不应该浮动。浮点数适用于块级元素。这可能是导致问题的原因。 无论如何,display: inline-block
在技术上都与float: left
做同样的事情,因为它将元素彼此相邻。
另一个问题可能是您的浮标堆叠在 tag_block
div 内。如果您将所有元素浮动在div 内,它将不会自行清除。如果是这种情况,您可以让下一组元素与前一组元素对接。您可以使用清除修复来解决此问题。将该代码添加到 CSS 中,并将 clearfix 类添加到父元素 tag_block
。同样,您应该能够通过简单地删除浮点数来避免这种情况。
呜...问题在于容器中出现问题的div 之一扩展到了框的边界之外,导致其下方的div(问题div)的对齐依赖于它上面的div。
这是突出的问题。
解决方案是将问题div 设置为高度:0(或不与边界重叠的内容)。
.poster{
height: 0;
}
叠礼仪?我试图删除我的帖子,而不是回答我自己的问题。似乎我的问题现在卡在这里。感谢所有的帮助!