Chapter 13 浮动布局

2017-01-12  本文已影响0人  Candy374

清除浮动的方法

当读懂元素比容器本身更高的时候, 就会溢出它的外围div, 那么溢出的元素看起来就不像是容器的一部分了。
http://www.complexspiral.com/publications/containing-floats/

...
<br class="clear"/>
</div>

 br.clear { clear: both; }
.clear:after {
    content: " ";
    display: table;
    clear: both;
}
.clear {
    zoom:1
}
<div class='clear' >
...
</div>

zoom 只有IE支持,它不是有效的css,会通不过w3c验证(可以把它放到外部css中), 但是他能出发IE6 和IE6中的布局

多列排列

https://www.w3.org/TR/css3-multicol/
http://dev.opera.com/articles/view/css3-multi-column-layout

 .multicol {
      column-count: 3;
      column-gap: 1em;
      column-rule: 1px dotted black;
}

让sidebar 撑到底(当它比较短的时候)

http://css-tricks.com/fluid-width-equal-height-columns
http://www.w3.org/TR/css3-flexbox
http://www.w3.org/TR/css3-grid-layout

<div class="wrapper">
    <div class="sidebar">Sidebar </div>
    <div class="content">Content testsetsaadsf</div>
</div>

.wrapper {
    background: url(image/col_bg.gif) repeat-y left top;
}

3 列的情况

<div class="wrapper1">
<div class="wrapper2">
    <div class='sidebar'>Sidebar </div>
    <div class='content'>Content testsetsaadsf</div>
</div>
</div>
.wrapper1 {
    background: url(image/col_bg.gif) repeat-y left top;
}
.wrapper2 {
    background: url(image/col_bg.gif) repeat-y right top;
}

防止浮动元素下落

当父类元素没有足够空间容纳所有的列,元素就会下滑 (float drop)
解决办法:

box-sizing: content-box | padding-box | border-box;
上一篇 下一篇

猜你喜欢

热点阅读