浮动

有关浮动的内幕特性:

1.    浮动的元素不会压住内外边距值

2.    一个父盒子里面的子盒子,如果其中有一个子级有浮动的,其他子级都需要浮动,这样才能一行对齐显示

3.    可以让元素默认转换为行内块元素。(元素添加浮动后,元素会具有行内块元素的特性。元素的大小完全取决于定义的大小或者默认内容多少浮动根据元素书写的位置来显示相应的浮动。)

(妙用:如果已经给 行内元素添加了浮动,此时不需要转换了这个元素也可以有宽高)

总结:浮动的目的 就是为了让多个块级元素同一行上显示。    最核心的关键点就是 怎么排列的,是否占有位置。

清除浮动的本质:

清除浮动主要为了解决 父级元素 因为 子级浮动 引起内部高度为0 的问题。

清除浮动的四种方法:


1. 额外标签法        <!--    最后一个浮动标签后 新添加一个标签清除浮动     -->

在浮动的盒子之下再放一个标签,在这个标签中使用clear:both,来清除浮动对页面的影响.

.clear{

      clear:both;

     }

优点:通俗易懂,书写方便

缺点:添加许多无意义的标签,结构化较差。

注意:一般情况下不会使用这一种方式来清除浮动。因为这种清除浮动的方式会增加页面的标签,造成结构的混乱.


2. 父级添加 overflow 属性方法

<!--    给父亲加 overflow:hidden | -->


3. 使用 after 伪元素清除附浮动     面试问,记忆  )

写法:

. clearfix : after {

    content : " " ;

    display : block ;

    height : 0 ;

    clear : both ;

    visibility : hidden ;

}

. clearfix {

*zoom : 1 ; 

/*  zoom: 1 就是IE6 清除浮动的方式 ,“*” IE7以下的版本识别,IE7以上的版本发现 “*” 直接略过不读 */

}


4. 使用 before 和 after 双伪元素清除浮动     面试问,记忆

写法:

.clearfix: before, .clearfix: after {

    content : " " ;

    display : table ;

}

.clearfix:after {

    clear : both ;

}

.clearfix {

    *zoom : 1;

}


(notice:不是所有浮动都需要清除,清除影响布局的浮动 )

总结:     第一种方法会将超出部分隐藏在某些时候我们想清除浮动并且保留超出部分时做不到,    第二种方法会增加许多不必要的标签,     所以我们尽量使用第三种方法来清除浮动,为什么不选择第四种方法呢?    因为第四种是第三种的改良版虽然比较简便,但是不严谨!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,691评论 1 92
  • relative:生成相对定位的元素,通过top,bottom,left,right的位置相对于其正常位置进行定位...
    zx9426阅读 4,567评论 0 2
  • 主要内容: 浮动的介绍、清除浮动、各种定位、BFC以及外边距合并的介绍。 浮动 什么是浮动元素 浮动元素是floa...
    苦瓜_6阅读 3,696评论 0 0
  • 网页的布局方式 1.什么是网页的布局方式?网页的布局方式其实就是指浏览器是如何对网页中的元素进行排版的 1.标准流...
    sweetMood阅读 1,819评论 0 0
  • 这篇文章极好,以至于让我受益良多,就一字没有改动的转发过来一丝冰凉老师的文章 需要注意的是,display:tab...
    新晋小牛牛阅读 4,693评论 0 2

友情链接更多精彩内容