css 三(清除浮动专题)

1.  三个关于浮动的概念

 不浮动float:none;

清除周围的浮动元素   float:both   这是清除浮动的本意

清除子元素浮动对父元素的影响  clearfix    很多人都理解成这个叫清除浮动。。

2. 什么是清除浮动

清除浮动不是把当前标签的浮动给清除了,如果这样,还加浮动做什么

其实清除浮动指的是清楚当前元素旁边的浮动元素,但是当前元素又不能影响别人,打不赢就跑,所以自己就跑到下面去了。

3. 为什么要清楚浮动

在布局的时候我们经常希望某些内容能够水平排布,水平排布后,由于内部内容不确定,高度不能简单的给一个定值。而如果不给高度,子元素又都浮动了,父盒子就会因为没有子盒子的支撑而塌陷。

利用清除浮动的这个特性,我们可以给父元素中最后一个不浮动的盒子使用clear:both从而把父盒子的高度撑起来,并且能够根据内部内容的变化而改变高度。

4.  清楚浮动的方法

  4.1.       额外标签法

    原理:单独使用一个标签加上clear:both跑到浮动元素下面,从而消除子盒子浮动造成的父盒子塌陷。

    典型网站:京东

    优点:通俗易懂,容易掌握

    缺点:添加很多无意义的空标签,不符合结构与表现分离的原则,不利于后期维护

  4.2.       父元素设置overflow:hidden

    原理:让父盒子形成BFC,BFC的特性之一就是可以承载浮动元素

    优点:不存在结构和语义化问题,代码量极少

    缺点:内容增多时候容易造成不会自动换行导致内容被隐藏掉,无法显示需要溢出的元素

  4.3.       单伪元素

     .clearfix:after {        content: "";        height: 0;        visibility: hidden;        overflow: hidden;        dispaly: block;        clear: both;    }
    .clearfix {        zoom: 1;/*IE67*/    }

    典型网站:新浪、网易

  4.4       双伪元素

    .clearfix简介

    .clearfix:before, .clearfix:after {          content: "";          display: table;
    }/*在有该类的元素内部元素的前面和后面添加元素*/
    .clearfix:after {        clear: both;    }/*只要after两侧有浮动元素,after就会跑到最下面,从而撑开带有该类名的父盒子*/    .clearfix {        *zoom: 1;    } /*用于兼容IE/7/6*/

    用display:table是因为display:block有空隙

    加了一个before是为了防止外边距合并

    典型网站:小米、淘宝

时间: 2024-12-28 16:35:06

css 三(清除浮动专题)的相关文章

【css】清除浮动的几种方式

[css]清除浮动的几种方式 因为浮动框不在普通的文档流中,所以它不占据空间.如下面的代码: 1 .news { 2 background-color:gray; 3 border:1px solid black; 4 } 5 .news img { 6 float:left; 7 } 8 .news p { 9 float:right; 10 } 11 <divclass="news"> 12 <imgsrc="/img/news-pic.jgp"

CSS clear清除浮动

1.CSS中的clear有四个参数: none:允许两边都可以浮动. left:不允许左边有浮动. right:不允许右边有浮动. both(默认):不允许有浮动. 2.一开始在CSS中clear浮动是默认both,也就是说一开始不能有浮动的. 3.使用的案例:假设我清除第三个DIV的浮动 <style type="text/css"> div{ border:1px solid red; float:left; clear:none; } #msg_Div{ width:

css的清除浮动

分析HTML代码结构: div class="outer"> <div class="div1">1</div> <div class="div2">2</div> <div class="div3">3</div> </div> 分析CSS代码样式: .outer{border: 1px solid #ccc;background: #

CSS——如何清除浮动

众所周知,平时在写HTML代码时,难免少不了使用Float样式,这样一来,假使您没有清除浮动,那么有浮动元素的父元素容器将元素将无法自动撑开.换句简单好理解的话来说,假如你在写CODE时,其中div.A(这个就是说页面中有一个div,并且把其命名为class="A")中包含了两个或多个子元素div.B,div.C,div.D(这里我以三个为例),并且此时div.B和div.C进行浮动,而div.D不进行任何浮动,此时你可以看到父元素div.A高度仅靠div.D来撑开其高度,如果您将di

CSS中清除浮动的两种方式

在CSS中,父元素中的子元素如果使用了float,会导致父元素塌陷,高度为0. 对于这种情况,常见的解决方式有两种. 一.增加新的div,应用clear:both属性 html: 1 <div class="father"> 2 <div class="div1">1</div> 3 <div class="div2">2</div> 4 <div class="div3

div+css之清除浮动

1.对父级设置适合CSS高度对父级设置适合高度样式清除浮动,这里对“.divcss5”设置一定高度即可,一般设置高度需要能确定内容高度才能设置.这里我们知道内容高度是100PX+上下边框为2px,这样具体父级高度为102px 2.clear:both清除浮动 为了统一样式,我们新建一个样式选择器CSS命名为“.clear”,并且对应选择器样式为“clear:both”,然后我们在父级“</div>”结束前加此div引入“class="clear"”样式.这样即可清除浮动.

清除浮动专题

1.三个已经混淆的概念 (1)不浮动float:none; (2)清除周围的浮动元素 (3)清除子元素浮动对父元素的影响 2.什么是清除浮动 清除浮动不是把当前标签的浮动给清楚了,如果这样,还加浮动做什么. 其实清除浮动指的是清除当前元素旁边的浮动元素,但是当前元素又不能影响别人,打不赢就跑,所以自己就跑到下面去了. 3.为什么要清楚浮动 在布局的时候我们经常希望某些内容能够水平排布,水平排布后,由于内部内容不确定,高度不能简单的给一个定值.而如果不给高度,子元素又都浮动了,父盒子就会因为没有子

css怎么清除浮动

大家都知道,浮动会对文档产生影响,具体来看看会对文档产生什么影响? 解析:页面开发的时候可以为父级标签添加固定高度,但是有时希望内容能够撑开高度(比如内容不固定的时候).对于不浮动的元素来说,它们是能够撑开外部div的高度的,但是一旦浮动,元素脱离文档流,父级div就相当于没有了内容(上面的例子中类名为main的高度为0了).这时是没有办法实现内容撑开高度的.此时需要进行清除浮动对布局造成的一系列影响,所以叫清浮动.(不要误解成把浮动清除了,元素就没有浮动了,不是同一概念). 清除浮动有很多种,

css中清除浮动的方法总结

1.父级div定义height <style type="text/css"> .div1{background:#000080;border:1px solid red;/*解决代码*/height:200px;} .div2{background:#800080;border:1px solid red;height:100px;margin-top:10px} .left{float:left;width:20%;height:200px;background:#DD