浮动(float):

  让默认文档流(标准文档流)下的元素漂浮起来,水平排列。

  通俗点来说,浮动可以让元素浮到第二层,而其他没有浮动的元素就往上排,而我们是俯视去看的,所以往上顶的那个元素就会被遮住,这就带来了问题。解决方法,后面会有说。

  float: 1. left----左浮

      2. right------右浮

      3. none ------不浮动

默认(标准)文档流:

  说白了就是一个“默认”状态。文档流指的是元素排版布局过程中,元素会自动从左往右,从上往下的流式排列。并最终窗体自上而下分成一行行,并在每行中从左至右的顺序排放元素。

浮动带来的影响:

  1. 行内元素在浮动之后,可以支持宽高。

p{
float: left;
width: 50px;
height: 50px;
border: 1px solid #000;
}

  2. 文本会给浮动的元素让位,可以制作成文本环绕的效果。

p{
float: left;
width: 50px;
height: 50px;
border: 1px solid #000;
} <body>
<p></p>这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落这是段落
</body>

  3. 在没有给父级高度的情况下,子级浮动后,父级会没有高度。

    这是没有给子级设置浮动的情况下:

div{
background-color: #f00;
}
p{
/*float: left;*/
width: 50px;
height: 50px;
border: 1px solid #000;
} <div>
<p></p>
</div>

    给子级设置浮动后:

div{
background-color: #f00;
}
p{
float: left;
width: 50px;
height: 50px;
border: 1px solid #000;
} <div>
<p></p>
</div>

这里给出的解决方案主要是针对第三种的。

解决方法主要有几个,下面我就向大家一一介绍:

  1. 在父级内容最后添加一个空的div,添加clear属性

    clear-----left------清除左浮动

          right------清除右浮动

          both-----清除所有浮动

    这个方法不推荐使用,因为他会添加大量的无用的标签,让页面的布局变的更加的复杂。

  2. 给父级设置        overflow:hidden;

    溢出隐藏,会触发bfc(block formatting context)块级格式化上下文

    这个也不推荐使用,在和定位一起使用的时候,会产生其他的问题。

  3. 使用伪元素   :after    (推荐使用)

.clear:after{
content: ""; /*内容为空*/
height: 0;
line-height: 0;
display: block; /*块级元素*/
visibility: hidden; /*隐藏*/
clear: both; /*清除浮动*/
}
.clearfix{ /*兼容性问题*/
zoom: 1; /*ie678*/
}

   4. 使用伪类元素(第三种的改进)    缺点,相比于第三种,有点不严谨

.clear:after,.clear:before{
content: ""; /*内容为空*/
display: block; /*块级元素*/
clear: both; /*清除浮动*/
}
.clearfix{ /*兼容性问题*/
zoom: 1; /*ie678*/
}

    

CSS,浮动及其影响的更多相关文章

  1. CSS浮动并清除浮动(造成的影响)

    一.浮动 CSS浮动    CSS float浮动的深入研究.详解及拓展(一)    CSS浮动属性Float详解 块级元素独占一行 块级元素,在页面中独占一行,自上而下排列,也就是传说中的流. 可以 ...

  2. CSS浮动、定位

    这几天有空,整理了关于CSS浮动和定位的一些知识点,有什么欠缺的地方,欢迎大家批评指正. 一.文档流的概念指什么?有哪种方式可以让元素脱离文档流? 文档流,指的是元素排版布局过程中,元素会自动从左往右 ...

  3. CSS浮动文摘

    很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能力差,也可能是没能遇到一篇通俗的教程.        写在前面的话:        由于CSS内容比较多,没有精力从头到尾讲一遍,只能有 ...

  4. CSS浮动(float,clear)通俗讲解

    首先要知道,div是块级元素,在页面中独占一行,自上而下排列,也就是传说中的流.如下图: 可以看出,即使div1的宽度很小,页面中一行可以容下div1和div2,div2也不会排在div1后边,因为d ...

  5. 经验分享:CSS浮动(float,clear)通俗讲解

    很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能力差,也可能是没能遇到一篇通俗的教程. 前些天小菜终于搞懂了浮动的基本原理,迫不及待的分享给大家. 写在前面的话: 由于CSS内容比较多 ...

  6. 经验分享:CSS浮动(float,clear)通俗讲解(转载)

    很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能力差,也可能是没能遇到一篇通俗的教程. 前些天小菜终于搞懂了浮动的基本原理,迫不及待的分享给大家. 写在前面的话: 由于CSS内容比较多 ...

  7. 经验分享:CSS浮动(float,clear)通俗讲解 太棒了,清晰明了

    很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能力差,也可能是没能遇到一篇通俗的教程. 前些天小菜终于搞懂了浮动的基本原理,迫不及待的分享给大家. 写在前面的话: 由于CSS内容比较多 ...

  8. 彻底理解浮动float CSS浮动详解 清除浮动的方法

    我们把网页的常用的布局格式分为以下三种: 1.标准流. 所谓的标准流就是,行内元素自己单独一行,而块级元素是上下显示的. 以前我们学习的都是标准流.   注意:标准流使我们网页布局中最稳定的一种结构 ...

  9. (转)经验分享:CSS浮动(float,clear)通俗讲解

    很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能力差,也可能是没能遇到一篇通俗的教程. 前些天小菜终于搞懂了浮动的基本原理,迫不及待的分享给大家. 写在前面的话: 由于CSS内容比较多 ...

  10. css浮动布局

    上次我们一起对盒子模型进行了一定的了解,今天我们就对css浮动布局做一下研究.首先我们来了解一下网页基本布局的三种形式. 首先我们来了解一下什么是网页布局: 网页的布局方式其实就是指浏览器是如何对网页 ...

随机推荐

  1. Java子线程中操作主线程Private级别数据

    两个类分别如下: <pre name="code" class="java">package Demo2; import java.util.*; ...

  2. 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法

    一. 背景 上一个章节,介绍了EF调用两类SQL语句,主要是借助 ExecuteSqlCommand  和 SqlQuery 两个方法来完成,在本章节主要是复习几类存储过程的写法和对应的EF调用这几类 ...

  3. Node.js实战项目学习系列(5) node基础模块 path

    前言 前面已经学习了很多跟Node相关的知识,譬如开发环境.CommonJs,那么从现在开始要正式学习node的基本模块了,开始node编程之旅了. path path 模块提供用于处理文件路径和目录 ...

  4. vsftpd启动问题简记

    centos7 能以ipv6方式启动,启动只需修改配置如下 如需同时启动到ipv4跟ipv6,需拷贝配置文件,一份配置中只监听ipv4,一份配置中只监听ipv6 centos6中无法启动到ipv6,错 ...

  5. JavaScript生成斐波那契数列

    常规写法 https://cn.bing.com/search?q=js+fibonacci+sequence&pc=MOZI&form=MOZSBR //Fibonacci func ...

  6. [译]Ocelot - Logging

    原文 Ocelot使用标准的日志接口ILoggerFactory和ILogger<T>.它们封装在IOcelotLogger 和 IOcelotLoggerFactory中,因为ocelo ...

  7. SQLserver 数据库高版本无法还原到低版本的数据解决方法

    sql server 数据库的版本只支持从上往下兼容.即高版本可以兼容低版本 .低版本不能兼容低版本.通常我们在开发时会用比较高的版本.但是部署到客户那边可能他们的数据库版本会比较低. 我们可以通过导 ...

  8. List总结

    List是接口,不能直接new,需要使用它的实现类 所有已知实现类:AbstractList, AbstractSequentialList, ArrayList, AttributeList, Co ...

  9. 集成方法 Boosting原理

    1.Boosting方法思路 Boosting方法通过将一系列的基本分类器组合,生成更好的强学习器 基本分类器是通过迭代生成的,每一轮的迭代,会使误分类点的权重增大 Boosting方法常用的算法是A ...

  10. java PDF2JPG

    import org.apache.commons.lang3.StringUtils; import org.apache.pdfbox.pdmodel.PDDocument; import org ...