为了账号安全,请及时绑定邮箱和手机立即绑定
  • 总结: float: 浮动历史:得到图文混排的效果. 浮动的两个特性: 1.破坏:父级元素高度塌陷,自身位置浮动 2.包裹:收缩,坚挺,隔绝 这个特性也就是BFC 为什么要清除浮动: 解决父元素高度塌陷: 只用在浮动元素的父元素上,不浮动不用
    查看全部
  • 老师是想告诉我们第一个用clear清除浮动,会发生margin重叠显现,而BFC清除浮动,则会把整个元素包起来,从而不会发生margin重叠现象!
    查看全部
  • 浮动使父元素高度塌陷是标准,当父元素高度塌陷后,置于父元素下的元素没有限制会在空间允许的条件下浮动上来,这就是文字环绕图片的原因;或者是图片位于文字之间,图片的浮动会使其突破父元素向左或右浮动后文字拼接呈环绕效果(浮动的破坏性只是为了实现文字环绕效果)
    查看全部
  • css之display:inline-block布局

    1.解释一下display的几个常用的属性值,inline , block, inline-block

    • inline:

    1. 使元素变成行内元素,拥有行内元素的特性,即可以与其他行内元素共享一行,不会独占一行. 

    2. 不能更改元素的height,width的值,大小由内容撑开. 

    3. 可以使用padding,margin的left和right产生边距效果,但是top和bottom就不行.

    block:

    1. 使元素变成块级元素,独占一行,在不设置自己的宽度的情况下,块级元素会默认填满父级元素的宽度. 

    2. 能够改变元素的height,width的值. 

    3. 可以设置padding,margin的各个属性值,top,left,bottom,right都能够产生边距效果.

     inline-block:

    1. 结合了inline与block的一些特点,结合了上述inline的第1个特点和block的第2,3个特点.

    2. 用通俗的话讲,就是不独占一行的块级元素。如图:

    图一:

    图二:

    两个图可以看出,display:inline-block后块级元素能够在同一行显示,有人这说不就像浮动一样吗。没错,display:inline-block的效果几乎和浮动一样,但也有不同,接下来讲一下inline-block和浮动的比较。

     

    2.inline-block布局 vs 浮动布局

        a.不同之处:对元素设置display:inline-block ,元素不会脱离文本流,而float就会使得元素脱离文本流,且还有父元素高度坍塌的效果

        b.相同之处:能在某程度上达到一样的效果

      我们先来看看这两种布局:
    图一:display:inline-block

    图二:对两个孩子使用float:left,我在上一篇浮动布局讲过,这是父元素会高度坍塌,所以要闭合浮动,对box使用overflow:hidden,效果如下:

    >>乍一看两个都能做到几乎相同的效果,(仔细看看display:inline-block中有间隙问题,这个留到下面再讲)

      c.浮动布局不太好的地方:参差不齐的现象,我们看一个效果:
    图三: 

    图四: 

    >>从图3,4可以看出浮动的局限性在于,若要元素排满一行,换行后还要整齐排列,就要子元素的高度一致才行,不然就会出现图三的效果,而inline-block就不会。

     

    3.inline-block存在的小问题:

      a.上面可以看到用了display:inline-block后,存在间隙问题,间隙为4像素,这个问题产生的原因是换行引起的,因为我们写标签时通常会在标签结束符后顺手打个回车,而回车会产生回车符,回车符相当于空白符,通常情况下,多个连续的空白符会合并成一个空白符,而产生“空白间隙”的真正原因就是这个让我们并不怎么注意的空白符。

     

      b.去除空隙的方法:
      1.对父元素添加,{font-size:0},即将字体大小设为0,那么那个空白符也变成0px,从而消除空隙
      现在这种方法已经可以兼容各种浏览器,以前chrome浏览器是不兼容的
    图一:

     

      c.浏览器兼容性:ie6/7是不兼容 display:inline-block的所以要额外处理一下:
      在ie6/7下:
      对于行内元素直接使用{dislplay:inline-block;}
      对于块级元素:需添加{display:inline;zoom:1;}

     

    4.总结:

      display:inline-block的布局方式和浮动的布局方式,究竟使用哪个,我觉得应该根据实际情况来决定的:
      a.对于横向排列东西来说,我更倾向与使用inline-block来布局,因为这样清晰,也不用再像浮动那样清除浮动,害怕布局混乱等等。
      b.对于浮动布局就用于需要文字环绕的时候,毕竟这才是浮动真正的用武之地,水平排列的是就交给inline-block了。

     


    查看全部
  • 【CSS】【清除浮动(带来的影响) 缺陷练习】 1.用clear清除浮动(在浮动元素的底加入div且设置clear:both;),会发生margin重叠显现 2.用BFC清除浮动(在浮动元素的父元素上加入overflow: hidden;),则会把整个元素包起来,从而不会发生margin重叠现象
    查看全部
  • 【CSS】【清除浮动(带来的影响)】 方法一:在底部插入clear:both 1.HTML block水平元素放置于底部 <div ...></div> 2.CSS after伪元素在底部生成 .clearfix:after{} 方法二:父元素BFC(IE8+)或haslayout(IE6/IE7) float:left/right position:absolute/fixed overflow:hidden/scroll(IE7+) display:inline-block/table-cell(IE8+) width/height/zoom:1/...(IE7/IE7) ★由于以上两个方法各有缺点所以: 权衡后的策咯 .clearfix:after{content:''; display:block; height:0; overflow:hidden; clear:both;}(IE8+) .clearfix{*zoom:1;} (IE6/IE7) 或 .fix:after{} .fix{} ★更好的方法: .clearfix:after{content:''; display:table; clear:both;}(IE8+) .clearfix{*zoom:1;} (IE6/IE7) ★切勿滥用 .clearfix只应用在包含浮动子元素的『父级元素』上
    查看全部
    3 采集 收起 来源:清除浮动

    2018-03-22

  • Box 是 CSS 布局的对象和基本单位,,就是一个页面是由很多个 Box 组成的。元素的类型和 display 属性,决定了这个 Box 的类型。 不同类型的 Box, 会参与不同的 Formatting Context(一个决定如何渲染文档的容器),因此Box内的元素会以不同的方式渲染。让我们看有哪些盒子: block-level box:display 属性为 block, list-item, table 的元素,会生成 block-level box。并且参与 block fomatting context; inline-level box:display 属性为 inline, inline-block, inline-table 的元素,会生成 inline-level box。并且参与 inline formatting context; run-in box: css3 中才有,   Formatting context 是 W3C规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。最常见的 Formatting context 有 Block fomatting context和 Inline formatting context (简称IFC)。   CSS2.1 中只有 BFC 和 IFC, CSS3 中还增加了 GFC 和 FFC。   BFC 定义   BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。   BFC布局规则: 内部的Box会在垂直方向,一个接一个地放置。 Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生重叠 每个元素的margin box的左边, 与包含块border box的左边相接触(对于从左往右的格式化,否则相反)。即使存在浮动也是如此。BFC的区域不会与float box重叠。 BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。反之也如此。 计算BFC的高度时,浮动元素也参与计算
    查看全部
  • 老师,你是逗逼么?可不可以正常一点讲话。
    查看全部
    2 采集 收起 来源:float的历史

    2016-03-12

  • 浮动使高度塌陷不是bug,而是标准! 浮动的原本作用仅仅是为了实现文字环绕效果!
    查看全部
  • 感性认知: 包裹特性:收缩 坚挺 隔绝【BFC block formatting context 块级格式化上下文】
    查看全部
  • 声音好逗 猥琐得不行。
    查看全部
    2 采集 收起 来源:float的历史

    2015-05-23

  • 在写js操作css的过程中发现float属性在IE和firefox下对应的js脚本是不一样的,IE下对应得是 styleFloat,firefox,chorme,safari下对应的是cssFloat,可用in运算符去检测style是否包含此属性。
    查看全部
  • 终于看完了,不用再忍受这声音了.... 谢谢老师
    查看全部
    2 采集 收起 来源:Float与兼容性

    2015-02-09

  • 如果trigger.style中包含cssFloat那么就加载cssFloat否则加载styleFloat,都是设置为left 因为float是Javascript的保留字,不能直接使用obj.style.float来使用,这样操作是无效的。 其正确的使用方法是为:IE:obj.style.styleFloat,其他浏览器Mozilla(gecko),ff等用styleFloat:obj.style.cssFloat
    查看全部
  • 清除浮动:1脚底插入clear:both;2父元素owverflow:hidden;
    查看全部
    1 采集 收起 来源:清除浮动

    2015-01-22

首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
既适合学习过CSS基础知识的新手深入学习,也欢迎有经验的小伙伴加深了解噢!
老师告诉你能学到什么?
通过追溯CSS/HTML发展历史,知道Float出现的原本作用是什么,从而可以帮助我们解答很多疑惑。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!