**個人部落格這部分的html結構如下:需要注意的是:本篇文章的布局,都未對父元素進行清除浮動的操作,所以在有一些使用了float的布局中,需要在parent容器清除浮動,才能在實際情況下使用。(清除浮動的方式在這裡不做討論)
left
right
right
大家先來看看直接在左側新增浮動是怎麼樣的吧:
不要覺得詫異!因為float最開始的出現就是為了實現這個文字環繞效果的,只不過被攻城師們玩壞了,用到了布局上;但這肯定不是我們想要的,來看看我們想要的是怎麼樣的吧!
這樣才對嘛!是我們想要的!下面就來看看css的實現吧:
.left
.right
優點:相容ie7+,便於理解;缺點:不相容ie6,在right內部第乙個元素存在清除浮動時,會發生right掉下去的情況。
怎麼解決呢?
優點:相容性好,相容所有瀏覽器;缺點:結構增加,樣式複雜。
布局改變如下:
left
right
right
css部分:
.left
.right-fix
.right
優點:設定簡單;
.left
.right
html結構還是和第乙個一樣。
優點:加速table渲染,實現布局優先;缺點:**量大,複雜
.parent
.left,.right
.left
優點:結構簡單;缺點:相容性差ie10+,效能不好,常用作小範圍布局
.parent
.left
.right
大家來看看想要達到的效果:
其實只是在上面的布局上,中間再加入乙個center。
html結構如下:
left
center
right
right
css部分:把center設定和left一樣
.left,.center
.right
html結構同一列定寬一列自適應。實現效果和上面一樣,但是寬度不在固定了!其實就是對一列定寬,一列自適應的後三個進行一下改造
優點:相容性好,使用最多,結構簡單;(其實和上面的改變就是左側使用內容去撐開高度,因為原來的實現已經達到了這個效果)
.left
.right
.left p/*使用內容去撐開寬度*/
缺點:支援ie8+,設定複雜。
對css進行如下更改:
.parent
.left,.right
.left
.left p/*使用內容去撐開寬度*/
缺點:還是上面的問題
.parent
.left
.right
.left p/*使用內容去撐開寬度*/
html結構同兩列定寬一列自適應。
以float+overflow
為例,只需要把center
設定和left
一樣就可以了。
.left,.center
除了這個方法之外,上面的不定寬中的三個方法都能使用
html結構如下:
按照慣例,先來分析一下實現過程。可以看到下圖:
其實我們只需要給父容器增加乙個g,也就是乙個負的margin就可以實現了,下面就來看看吧:
優點:設定簡單;缺點:支援ie8+,在布局變更時,需改變css樣式(width:xx%)結構和樣式耦合在了一起
p/*對div中的p標籤設定才有間隔效果,所以在設定內容時,也是在p中設定*/
.parent
.column
實現效果如下:
效果不是就達到了呢?其實還不盡然,可以看到最左邊還有乙個寬度,我們不想要怎麼辦?
這並不是乙個bug,而是我們的設定導致的,現在來刪除上面的padding-left: 20px;
吧,可以看到成了這樣子:
如果你需要有填充的話,自行設定吧
html部分在上面的基礎上,在最外層增加包裹住
.parent-fix
.parent
.column
.parent
.column
.column+.column
實現效果如下:
這裡使用的是margin,因為flex自動分配剩餘空間
大家先來看看想要的效果:
是不是很熟悉?html和第一部分一樣:
但是兩側高度等同於高度最高的部分。
left
right
right
在使用table
和flex
布局時就自然實現了等高布局實際上沒有完全相同,只是達到了效果
.parent
.left,.right
.left
.right
CSS多列布局
多列布局適合純文字版式設計,如報紙內和雜誌類網頁布局,不適合做網頁結構布局。靈活使用多列布局特性,可以實現在多列中顯示文字和,從而節省大量的網頁空間。如果網頁上的文字很長,多列布局特性就能夠發揮它的用武之地。相容性參考 columns是多列布局特性的基本屬性,類似邊框特性中的border屬性,該屬性...
CSS多列布局
效果 我的爸爸剛剛30出頭,他的面容,要比他的年齡,成熟穩重的多,但是,他可沒有蒼老憔悴哦!爸爸的身高有180公分,體重75公斤,是個標準的型男身材。如果,我說我爸爸是個大帥哥,可一點也沒有撒謊呢!在我們小區裡,就組建了乙個籃球隊,爸爸,可是他那隊裡的佼佼者呢!每當,我們小區和其他小區,有籃球比賽的...
CSS多列布局
css新增了多列布局特性,可以讓瀏覽器確定何時結束一列和開始下一列,無需任何額外的標記。簡單來說,就是css3多列布局可以自動將內容按指定的列數排列,這種特性實現的布局效果和報紙 雜誌類排版非常相似。本文將詳細介紹css多列布局的基本屬性和用法 注意 ie10 和chrome瀏覽器支援標準寫法,而f...