登录

javascript - 三栏式布局设置浮动问题


三个p都设置浮动,第二个p设置了宽度100%,它应该是填满空白2的位置才对啊,为什么会等于父容器的宽度,然后挤下来。

# JavaScript
巴扎黑巴扎黑2201 天前387 次浏览

全部回复(3) 我要回复

  • ringa_lee

    ringa_lee2017-04-11 11:44:45

    基本上你理解錯誤了,跟浮動沒啥關係,基本上你設置寬度為百分比本來就是父元素的寬度為基準,你設定為 100% 自然是父元素的 100% ,所以也很自然被擠壓到二行,CSS 並不會說當你設置了 float 智能去判定剩餘寬度之類的,你只要想 12 如果都設置 100% 那會呈現什麼情況?就可以知道誤解在哪。

    所以,你應該是設置其為 20% 80% 才會正確地填滿父元素的寬度,但是也必須注意到 marginborder 之類的影響。

    例子

    如果想要知道 float 佈局方式的話,可以看這篇文章:margin系列之布局篇

    回复
    0
  • 高洛峰

    高洛峰2017-04-11 11:44:45

    最近正打算写一篇关于CSS中各百分比的计算参照。
    width的百分比计算参照其所在包含块。
    那么包含块如何定义?参照w3help这张图

    具体参考这里:http://www.w3help.org/zh-cn/kb/008/

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 11:44:45

    块状元素默认宽度会是100%,你可以把这三个p宽度用百分比表示,加起来是100%,不过那两个小正方形比如想要宽高度都是20px的话,中间的长p宽度可以用CSS3的calc(100% - 20px*2)表示,可以加上-webkit-和-moz-前缀注意兼容

    回复
    0
  • 取消回复发送