html - CSS float 和 block 元素

标签 html css layout cross-browser

我有一个恼人的 CSS 布局问题。我正在尝试在特定页面上 float 图像:

img {
  float: left;
}

我想确保我的标题不以缩进开头:

h3 {
  clear: left;
}

除了某些图像有列表(或任何 block 元素)漂浮在它们旁边(或不是实际情况)外,一切正常。其原因实际上在 CSS 规范中很明确: block 元素不流动。行/内联元素。

然而,这对于列表来说是一个真正的问题。有没有办法以相当通用和兼容的方式解决它?

最佳答案

为了确保始终清除 float ,我总是这样做:

  1. 将以下内容添加到 CSS:

    .clearfix:after {
        content: ".";
        display: block;
        clear: both;
        visibility: hidden;
        line-height: 0;
        height: 0;
    }
    
    .clearfix {
        display: inline-block;
    }
    
    html[xmlns] .clearfix {
        display: block;
    }
    
    `*` html .clearfix {
        height: 1%;
    }
    

    您还可以找到此代码 here .

  2. clearfix 类标记 float 元素的每个父级。

关于html - CSS float 和 block 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/482485/

相关文章:

安卓布局 : Can't place the elements where I want

javascript - 如何用一个函数逐步显示div?

html - 我想要一个带有叠加文本的模糊背景图像

Jqueryui 可调整大小。光标通过其他元素来到前台

html - 适合对象 : cover; alternative?

java - 带有自定义 CellFactory 的 ListView 修剪不可见的节点

html - rem 字体大小无法在 css 动画中正确呈现

jquery - ReportViewer 控件在 WebForm 上呈现太宽

css - Mobile Safari 奇怪的边框颜色问题

java - Android textClock拉伸(stretch)到屏幕宽度和高度