久久久99国产精品免费_一区二区三区免费网站_国产精品不卡一区二区三区_91国内在线观看_亚洲人久久久_国产欧美一二三区

CN
EN

行業資訊

CSS網頁布局的技巧

2016-10-21


   布局

  CSS至關重要的作用, CSS的設計初衷.

  CSS布局和幾年前table橫行時的布局又不太一樣, 在結構化語義化的HTML文檔后面, CSS在格式化文檔的渲染效果, 把結構化文檔用表現化語言來描述. 簡而言之, 就是CSS不需要表現性標簽!

  CSS布局技術依賴于三個基本概念: 定位, 浮動, margin操縱. 布局技術之間沒有本質的區別, 相同一種布局讓100個前端開發工程師來做, 可能就有100種方法.

  居中

  在table時代, align和Valign相當的好用, 而在CSS中卻沒有簡單實現的方法,所以在標準化剛剛開始推廣的時候, 很多重構項目中居中問題變成了阻礙標準化進步的絆腳石.

  1. 自動外補丁水平居中

  一般情況下水平居中比較容易實現, 只需要給要居中的容器設定寬度, 以及自動水平外補丁就可以了.網頁教學網

  比如HTML如下:

  CSS如下: 網頁教學網

  body{}

  .wrapper{width:760px;margin:0 auto;}

  很簡單不是嗎? 但是有點小問題... 我們親愛的IE家族里, IE5.x和IE 6不支持自動外補丁, 但是同樣幸運的是, IE將 text-align:center 理解為所有東西居中, 而不只是文本. 哈哈, 可以利用這個Bug.

  將CSS改為:

  body{text-align:center;}

  .wrapper{width:760px;margin:0 auto;text-align:left;}

  這里就用到了一種Hack,不過不會影響其他瀏覽器的Hack就是好Hack,呵呵, 就先這么用著吧~

  等等, 好像Netscape那邊也出問題了, 用Netscape 6將窗口縮小到小于容器寬度時, 容器的左邊就會跑到屏幕外邊去了, 而且還不會有滾動條...萬惡的瀏覽器大戰啊...

  再來改改我們的CSS:

  body{min-width:760px;text-align:center;}

  .wrapper{width:760px;margin:0 auto;text-align:left;}

  這樣就基本上ok了. 網頁教學網

  2. 定位法水平居中

  我們也可以稍稍復雜的用定位法來完成這個工作. 所謂的定位法是用 position 屬性來定義容器位置.網頁教學網

  同樣用上面一例的HTML代碼,

  我們用定位法的CSS如下:

  body{margin:0;padding:0;}

  .wrapper{position:relative;left:50%;width:760px;margin-left:-380px;}

  為什么用相對定位( relative )呢? 能用絕對定位( absolute )嗎?

  絕對定位當然也可以, 但是絕對定位會將容器提出文檔流, 讓后面的文檔流到定位容器的位置去了, 稍不注意就會被定為的容器遮蓋住后面的內容, 而relative不會將容器提出文檔流, 后面的文檔流會給定位的容器留下它應有的空間.

  3. 垂直居中

  CSS中比較大的問題出現了, CSS較難使用簡單的方法來完成垂直居中. 網頁教學網

  在容器中要使文字垂直居中, 那可以將容器的line-height設置的和height一樣來完成這個工作,

  但是要使容器垂直居中的話, 那就比較復雜了.

  HTML如下:

  123

  CSS如下:

  body{margin:0;padding:0;height:100%;}

  .wrapper{display:table-cell;vertical-align:middle;width:600px;height:400px;border:solid 1px red;}

  #box{width:200px;margin:auto;vertical-align:middle;border:solid 1px blue;}

  按理說這樣就可以了呀, 但是IE下面一點效果都沒有...那是因為IE的display屬性只接收:block, inline, inline-block, none, inherit, 不接收table, table-cell, table-row, 那就頭痛了呀.

  唔, 其實思路有很多, 我提供其中一種:

  CSS如下:

  body{margin:0;padding:0;height:100%;}

  .wrapper{width:600px;height:400px;border:solid 1px red;}

  #box{width:200px;height:200px;position:relative;top:50%;left:50%;margin-top:-100px;margin-left:-100px;border:solid 1px green;}

  局限性非常大, 必須要已知高度...

  更可以對IE瀏覽器進行filter之后hack它. 使用ie獨有的expression, 雖然在大型腳本上expression表現的相當差, 但是簡單的計算offsetHeight還是不太會影響性能, 再怎么說M$也針對expression進行過優化.

  所以垂直居中還是要看場合自行挑選合適的方案來解決.

  浮動布局

  現在大家都熟知浮動布局了, 不多說, 這個是CSS布局的基礎...主要是float和margin的合理應用.

  Faux Columns:

  偉大的Dan的另一項發明, 呵呵, 其實很簡單, 用垂直平鋪背景圖來做出視覺上多欄布局等高的效果. 但是很實用, 不是嗎?

  Equal height boxes with CSS:

  在標準推行過程中比較有名的文章之一, 介紹像table一樣進行CSS布局, 但是不適用于IE...唉

  彈性布局

  很不錯的理念, 原理其實也不難, 就是用em來標注尺寸, 這樣就可以讓瀏覽器自行放大或縮小任何的容器或是元素了.



上一篇:讓網頁顯示的字體更美觀 IE字體設置

下一篇:火狐瀏覽器怎么刪除網頁記錄密碼

主站蜘蛛池模板: 国产女人被狂躁到高潮小说 | 亚洲日韩乱码久久久久久 | 色综合色综合色综合 | 人人妻人人澡人人爽欧美一区双 | 色吊丝永久在线观看最新免费 | 国精品无码一区二区三区在线蜜臀 | 性色欲情网站 | 厨房玩丰满人妻hd完整版视频 | 午夜在线播放免费高清观看 | 处破痛哭a√18成年片免费 | 亚洲精品在线看 | 国产在线成人精品 | 国产黄色毛片视频 | 久久ri精品高清一区二区三区 | 国产在线观看成人免费视频 | 欧美视频网站www色 欧美视频亚洲 | 色偷偷偷久久伊人大杳蕉 | 日本高清无吗免费播放 | 少妇做爰免费视看片 | 四虎影永久地址www 四虎影永久在线高清免费 四虎影永久在线观看精品 四虎影永久在线观看网址 四虎影院.com | 91小视频在线播放 | 青青青青青手机视频在线观看视频 | 国产精品专区第二 | 日产精品99久久久久久 | 91九色视频在线观看 | 欧美激情免费观看 | 亚洲精品国偷拍自产在线观看蜜臀 | 国产视频综合 | 真实单亲乱l仑对白视频 | 久久高清一级毛片 | 天堂在线www网亚洲 天堂在线www中文 | 老司机亚洲精品影视www | 熟妇高潮一区二区三区 | 永久免费观看的毛片的网站 | 九色在线| 免费四影虎ww4hu10 | 天天摸夜夜添狠狠添2018 | 国产国产精品四虎视频精品 | 免费在线观看一级片 | 精品日韩在线观看 | 国内精品小视频 |