偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

CSS 3布局體驗:靈活的盒子模型

開發(fā) 前端
CSS 3標(biāo)準(zhǔn)里引入了一些新的盒子模型參數(shù),在CSS 2的基礎(chǔ)上,我們將能更靈活地調(diào)整頁面上各個容器的大小和位置,對建立自適應(yīng)布局的頁面帶來很大的好處。

CSS 3為開發(fā)人員帶來了很多期待已久的炫目功能,同時在CSS 2的基礎(chǔ)中,它也增加了一些新的盒子模型參數(shù)。通過學(xué)習(xí)和測試,可以發(fā)現(xiàn)這種新的盒子模型布局對建立自適應(yīng)布局的頁面帶來很大的好處。在這篇文章中,所有例子都基于以下HTML代碼:

51CTO相關(guān)文章推薦:定義未來Web樣式 CSS 3最新特性一覽  CSS 3備受期待的8大功能

  1. <body> 
  2.  <dividdivid="box1">1</div> 
  3.  <dividdivid="box2">2</div> 
  4.  <dividdivid="box3">3</div> 
  5. </body> 

容器的排列

在通常的情況下,頁面上所有容器的順序都按照載入的順序排列。而使用CSS 3提供的功能后,我們可以在不改變HTML結(jié)構(gòu)的前提下隨意改變?nèi)萜黠@示的位置,這樣不但給排版帶來極大的方便,我們也可以利用這些功能進行流量整形。在需用使用靈活盒子模型(FlexibleBoxModule)的時候,我們需要先把其父容器的Display屬性設(shè)置為box或者inline-box。

水平分布和垂直分布

我們可以通過box-orient屬性指定容器的分布軸,當(dāng)這個屬性的值為vertical時其子容器將垂直分布(也可以為block-axis),當(dāng)值為horizontal時其子容器講水平分布(也可以為inline-axis)。在本文的第一個例子里我們使用以下的CSS:

  1. #exemple1.content{  
  2.  -moz-box-orient:horizontal;  
  3.  -webkit-box-orient:horizontal;  
  4.  box-orient:horizontal;  
  5. }  
  6.  
  7. #exemple1.boite{  
  8.  -moz-box-flex:1;  
  9.  -webkit-box-flex:1;  
  10.  box-flex:1;  

具體的效果可以看這個DEMO,三個子Div容器都橫向并列了。

注:這個效果在CSS 2里理論上也可以通過Display:inline;實現(xiàn),但由于某些瀏覽器的BUG,沒人會這樣做。

反序排列

box-direction屬性可以讓我們隨意改變?nèi)萜鞯娘@示順序。我們知道,在默認的情況下,block級元素是按照加載順序從上到下排列,inline級元素是從左到右排列的,但現(xiàn)在通過box-direction屬性我們可以讓最后加載的block級元素顯示在最頂部,最后加載的inline級元素顯示在左邊。

但在使用這個屬性的時候要注意它可能會改變元素的某些屬性,產(chǎn)生一些不能控制的效果。在第二個例子里,我們使用以下的CSS:

  1. #exemple2.content{  
  2.  -moz-box-orient:vertical;  
  3.  -moz-box-direction:reverse;  
  4.  
  5.  -webkit-box-orient:vertical;  
  6.  -webkit-box-direction:reverse;  
  7.  
  8.  box-orient:vertical;  
  9.  box-direction:reverse;  
  10. }  
  11.  
  12. #exemple2.boite{  
  13.  -moz-box-flex:1;  
  14.  -webkit-box-flex:1;  
  15.  box-flex:1;  

效果大家可以看這個DEMO??梢园l(fā)現(xiàn),在不改變HTML結(jié)構(gòu)的情況下,容器的排列順序改變了。

按指定順序排列

我們不但可以讓一組同級容器反序排列,而且還可以讓它們按自己喜歡的順序排列,box-ordinal-group屬性可以幫我們做到這一點。通過box-ordinal-group為各個容器指定一個序號,默認情況下他們將會按照序號遞增的順序排列。要注意的是:沒有指定序號的容器默認都為1,并且序號相同的元素將按照加載順序排列。大家可以看一下下面的CSS:

  1. #exemple3.content{  
  2.  -moz-box-orient:vertical;  
  3.  -moz-box-direction:reverse;  
  4.  
  5.  -webkit-box-orient:vertical;  
  6.  -webkit-box-direction:reverse;  
  7.  
  8.  box-orient:vertical;  
  9.  box-direction:reverse;  
  10. }  
  11.  
  12. #exemple3.boite{  
  13.  -moz-box-flex:1;  
  14.  -webkit-box-flex:1;  
  15.  box-flex:1;  
  16. }  
  17.  
  18. #exemple3.v1{  
  19.  -moz-box-ordinal-group:2;  
  20.  -webkit-box-ordinal-group:2;  
  21.  box-ordinal-group:2;  
  22. }  
  23.  
  24. #exemple3.v2{  
  25.  -moz-box-ordinal-group:2;  
  26.  -webkit-box-ordinal-group:2;  
  27.  box-ordinal-group:2;  
  28. }  
  29.  
  30. #exemple3.v3{  
  31.  -moz-box-ordinal-group:1;  
  32.  -webkit-box-ordinal-group:1;  
  33.  box-ordinal-group:1;  

在上面的CSS里,我把第一和第二個容器的序號都定為2,第三個容器序號為1,因此最終效果應(yīng)該是v3排在第一,v1和v2則根據(jù)加載順序,v1排在v2前面。效果可以看這個DEMO。

后記

CSS 3真的非常強大,我相信在它普及以后,我們做網(wǎng)頁的時候?qū)⒖梢詼p少大量的JavaScript。

文章轉(zhuǎn)自Bolo的博客,

原文地址:http://blog.imbolo.com/the-css3-flexible-box-model/

【編輯推薦】

  1. 定義未來Web樣式 CSS 3最新特性一覽
  2. 揭秘HTML 5和CSS3 Web實現(xiàn)飛躍的踏板
  3. 檢測瀏覽器是否支持CSS3的方法
  4. CSS 3中的炫目新功能搶先預(yù)覽
  5. CSS 3備受期待的8大功能

 

責(zé)任編輯:王曉東 來源: 博客
相關(guān)推薦

2012-08-31 09:36:01

CSS

2023-09-11 06:12:31

盒子模型CSS

2022-09-10 19:26:37

HTMLCSS

2010-09-08 09:44:17

CSS盒子模式

2012-04-06 13:18:58

IE6W3CDIV

2017-05-24 10:12:54

前端FlexboxCSS3

2010-08-25 11:05:03

CSSpaddingmargin

2010-09-08 11:06:49

CSSpaddingmargin

2018-02-25 16:35:32

前端CSS面試題

2022-09-28 23:25:14

項目CSS定位選擇器

2012-06-27 14:12:45

CSS

2010-09-02 13:53:58

CSS Sprites

2014-07-14 12:37:36

jQueryCSS3

2019-04-03 13:00:27

CSSBFC前端

2023-05-22 10:09:21

FlexboxCSS3

2010-08-23 15:22:56

CSSfloat

2021-07-31 23:25:34

CSS布局UI

2022-10-13 09:01:24

GridCSS二維布局

2012-11-15 09:41:43

jQuery

2010-09-02 09:59:52

CSS SpritesCSS
點贊
收藏

51CTO技術(shù)棧公眾號