以下只是少數(shù)的知識點(diǎn) 沒有系統(tǒng)的描述
css中一個很重要的作用就是布局html中的元素(認(rèn)準(zhǔn)自己的位置)
定位(position屬性)
一般的不同的標(biāo)簽都有默認(rèn)的布局:
標(biāo)簽都是按普通流布局(從上到下,從左到右)+盒子模型(padding border margin)+ width/height(這個情況比較復(fù)雜)
block元素(div nav header footer article aside p):獨(dú)占一行 width/height 都可以設(shè)置
incline元素(a img span ):元素里的內(nèi)容多大 就有多大 width/height 不可以設(shè)置
position的值:
static
就是默認(rèn)的布局形式
relative
相對布局中相對的是自己在普通流的相對位置 由于又要重新定位所以多了四個屬性:top left right bottom 用來丈量偏離原來的位置還有一個特點(diǎn):元素在普通流中的位置還在
absolute
絕對定位中的絕對是針對包含離自己最近的已經(jīng)定位的父元素(static不算 因為絕對定位中普通流不存在) incline變成block
fix
和絕對定位一樣 但相對于瀏覽器的窗口而言
浮動(float)
這是一個比較有意思的話題,浮動的最直接效果就是文字環(huán)繞圖片 但要實現(xiàn)這個功能有產(chǎn)生了別的規(guī)定和用途
position屬性 static,relative都是不脫離普通流的 absolute,fix是脫離普通流的 而float即脫離也不脫離 脫離——浮動到父元素或上一個浮動元素 不脫離——在父元素里占有空間 影響位于和他同一個父元素的下一個元素(如:文字環(huán)繞)
詳細(xì)見:http://www.cnblogs.com/coffeedeveloper/p/3145790.html
一些有趣的問題
三角形的產(chǎn)生:知乎的關(guān)于用CSS產(chǎn)生三角形的回答