第三章 可視化格式模型html
1.盒子模型佈局
》IE早期版本,包括IE6,width=內容寬度+內邊距+邊框htm
box-sizing屬性能夠定義要使用哪一種盒子模型:blog
》外邊距疊加文檔
2.定位get
詳見博文CSS——佈局模型 http://www.cnblogs.com/congyue-pepsi/p/5671506.htmlit
》對於定位的主要問題是要記住每種定位的意義:io
》局對定位與文檔流無關,因此能夠覆蓋頁面的其它元素,使用z-index控制疊放順序class
》包含框相對定位,元素絕對定位 舉例:容器
#branding { width: 70em; height: 10em; position: relative; } #branding .tel { position: absolute; right: 1em; bottom: 1em; text-align: right; } <div id="branding"> <p class="tel">Tel: 1234 123 1234</p> </div>
》注意,周圍元素的尺寸改變不會影響絕對定位元素的位置,由於它已經脫離了文檔流,因此容易產生覆蓋重疊問題,需留意。
》浮動:
》由於浮動元素不佔據空間,因此容器元素不包圍它們,添加一個進行清理的空元素能夠迫使容器元素包圍浮動元素。
未清理:灰色包含塊沒有高度在最頂層
.news { background-color: gray; border: solid 1px black; } .news img { float: left; } .news p { float: right; } <div class="news"> <img src="/img/img.jpg" alt="my pic"/> <p>Some text</p> </div>
清理後:灰色包含塊在全部內部元素底層包含
.news { background-color: gray; border: solid 1px black; } .news img { float: left; } .news p { float: right; } .clear { clear: both; } <div class="news"> <img src="/img/img.jpg" alt="my pic" /> <p>Some text</p> <br class="clear" /> </div>
這種方法能夠解決,可是添加了多餘的代碼。
另外,也能夠將包含塊設置爲左浮動,能夠解決這個問題,可是會影響下一個元素,能夠選擇合適元素進行clear。
另外一種解決辦法:
>在news後添加類名clear
添加了一個點,而後設置高度爲0,同時設置不顯示。
由於被清理的元素在它們的頂外邊距上添加了控件,因此生成的內容須要將它的display屬性改成block。這樣設置以後,就能夠對生成的內容進行清理。
.clear:after { content: "."; height: 0; visibility: hidden; display: block; clear: both; }