亚洲精品乱码久久久久蜜桃-97国产精品人妻无码久久久-加勒比中文字幕无码一区-中文字幕乱人伦高清视频-无码va在线观看

24小時咨詢電話:0571-88023217服務網站建設公司 10年專業網絡服務供應商

資訊中心

- 直擊網站建設第一現場,掌握全球化的消息 -

當前位置 : 首頁 > 資訊中心 > 分享一個可以讓DIV實現居中齊的方法

分享一個可以讓DIV實現居中齊的方法

分享 2012.03.23 瀏覽次數:19734次

      無意中在網站看到一屬性可以讓一個DIV實現居中,個人覺得很好,想起以前自己學習CSS時候也曾經接觸過實現DIV居中的方法,看過css徹底研究一本書,中講到用三個DIV的方式,實現代碼長,代碼不易理解,現在想想,時代的變化真快!下面就分享一下,用vertical-align:middle可以很簡單地解決。

       就以一個404頁面為例,看如何讓一張圖片相對于整個頁面居中,如下圖:

         這是一個404頁面,里面就只有一張圖片,點擊圖片可以回到首頁,而且這個圖片是相對于整個頁面居中的,無論是水平還是垂直。

 

接下來看一下它的html代碼:

 1DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2
 3<html xmlns="http://www.w3.org/1999/xhtml">
 4<head>
 5<title>404頁面title>
 6head>
 7<body>
 8<div class="wall">
 9<a href="index.html"><img class="img404" src="images/404.jpg" alt="404頁面"/>a>
10div>
11body>
12html>
 

代碼很簡單,就一個class="wall"的div標簽,一個a標簽,一個class=“img404”的img標簽。

 

接下來就是寫css了,先讓class="wall"的div的寬和高都為100%,以填充整個頁面,CSS如下:

1<style type="text/css">
2        body{ margin:0; background:#333; _height:100%;}
3        .wall{ width:100%; height:100%; position:absolute; left:0; top:0; text-align:center;}
4        .img404{ border:0;width:700px;}
5style>
 

以上CSS里面值得一說的恐怕就是為什么要用絕對定位(position:absolute)以及_height:100%這個樣式了;我試了很多方法,結果我只能用絕對定位才能讓它的height:100%生效,當然固定定位(position:fixed)也是可以的,可是IE6不支持;_height:100%是為了兼容IE6,讓class="wall"的div在IE6里也能高度為100%。如果想驗證一下class="wall"的div現在是否已經填充了整個頁面,不妨在.wall里面設一個背景色就可以知道了,這里我就不做實驗了。

 

目前整頁的代碼如下:

 1DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2
 3<html xmlns="http://www.w3.org/1999/xhtml">
 4<head>
 5<title>404頁面title>
 6<style type="text/css">
 7        body{ margin:0; background:#333; _height:100%;}
 8        .wall{ width:100%; height:100%; position:absolute; left:0; top:0; text-align:center;}
 9        .img404{ border:0; width:700px;}
10style>
11head>
12<body>
13<div class="wall">
14<a href="index.html"><img class="img404" src="images/404.jpg" alt="404頁面"/>a>
15div>
16body>
17html>
 

效果如下:

 

接下來就利用vertical-align:middle來實現垂直居中了,因為class="wall"的div填充了整個頁面,所以只要讓圖片在class="wall"的div里面垂直居中就達到目的了。以前總是以為vertical-align與text-align是同樣的道理,一個是垂直居中,一個是水平居中,只要給class="wall"的div加上一個vertical-align:middle就能讓圖片垂直居中,結果一點效果也沒有。事實上vertical-align與text-align完全不一樣,給class="wall"的div加上一個text-align:center的話,毫無疑問是可以讓里面的img水平居中,但vertical-align卻不能這樣子用。

先看一下W3C上對vertical-align的定義:vertical-align 屬性設置元素的垂直對齊方式。該屬性定義行內元素的基線相對于該元素所在行的基線的垂直對齊。允許指定負長度值和百分比值。這會使元素降低而不是升高。在表單元格中,這個屬性會設置單元格框中的單元格內容的對齊方式。

必須承認這句話我看了很久才看懂說的是神馬意思,我的理解是它有兩種用法:

第一種用法,先看后面一句“在表單元格中,這個屬性會設置單元格框中的單元格內容的對齊方式。”這很容易理解,如果給一個表格的td加一個vertical-align:middle的樣式,表格里面的內容會垂直居中,同樣的如果給一個vertical-align:bottom就會底部對齊,如果給一個vertical-align:top就會頂部對齊。

第二種用法,看前頁一句“該屬性定義行內元素的基線相對于該元素所在行的基線的垂直對齊。”專業的語言我不會說的,可以打個比喻:假設有兩個行內元素a和b,a和b都是img,當a加了一個vertical-align:middle樣式之后,b的底部(基線)就會對齊a的中間位置,如下圖:

如果a和b都加了一個vertical-align:middle樣式,那么就互相對齊了對方的中間位置,也就是它們在垂直方向上的中線對齊了,如下圖:

說到這里,思路就清晰了(PS:理應知道vertical-align可以設middle,top,bottom等等,甚至可以設置具體的值或百分比,如果想知道會有怎樣的效果,可以自己實驗一下,這里就不多說了。)。

接下來回到這篇文章的主題,現在我要讓class="img404"的img在class="wall"的div里面垂直居中,我可以在div里面加一個span空標簽,把它的高度設為100%,再給它一個vertical-align:middle樣式,同樣地給img一個vertical-align:middle樣式,那么img就可以在div里面垂直居中了。如圖:

按照這個思路,完整的頁面代碼就出來了:

 1DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2
 3<html xmlns="http://www.w3.org/1999/xhtml">
 4<head>
 5<title>404頁面title>
 6<style type="text/css">
 7         body{ margin:0; background:#333; _height:100%;}
 8         .wall{ width:100%; height:100%; position:absolute; left:0; top:0; text-align:center; font-size:0;}
 9         .img404{ border:0; width:700px; vertical-align:middle;}
10         .verticalAlign{ vertical-align:middle; display:inline-block; height:100%; width:1px; margin-left:-1px;}
11style>
12head>
13<body>
14<div class="wall">
15<span class="verticalAlign">span>
16<a href="index.html"><img class="img404" src="images/404.jpg" alt="404頁面"/>a>
17div>
18body>
19html>
 

以上的CSS里面值得一提的是.verticalAlign,加一個display:inline-block是為了觸發它的layout,以讓本來沒有layout的span可以設置寬和高,margin-left:-1px是為了讓span左移一個像素,而令img在水平方向上回到正中位置;另外.wall里面的font-size:0正如我上一篇文章所說的是為了消除代碼換行所造成的空隙。

最終效果如下:

杭州網站建設  相關閱讀:如何用opener hack方式實現IE6,7完美跨域

 

最新網站案例

洞悉市場趨勢演變讓傳播回歸社會

    免費獲取網站建設與網絡推廣方案報價

    • 關于我們

      杭州帷拓科技有限公司,是一家新型的全案網絡開發公司,作為以互聯網高端網站建設、APP開發、小程序開發為核心的專業網絡技術服務供應商,帷拓科技致力于全面分析市場環境、衡量與預測市場需求、整合區別于行業競爭對手的絕對優勢,結合品牌理念深度挖掘項目優勢和產品價值,提升客戶品牌認知、認可度。

    • 我們的客戶

      帷拓科技歷經十年沉淀,與國內外上千家客戶達成合作關系,其中穩定合作的公司有:浙江華為、浙江移動、浙江5G產業聯盟、浙江省社科院、綠城足球俱樂部、娃哈哈雙語學校、健康中國杭州峰會、科雷機電等,帷拓科技始終堅持“帷有專業,才能拓展無限”的服務理念,堅持“認真堅持細節”的優質服務理念,不斷完善自身,成就企業,最終實現共贏。

    • 我們的業務

      帷拓科技主營業務范圍包含互聯網高端網站建設、APP開發、小程序開發、商城網站建設、公眾號運營以及數字營銷等,涵蓋了服務、房產、數碼、服裝、物流貿易等行業,根據品牌現狀,為每個客戶量身定制項目整體服務方案,以敏銳的市場洞察力、創新的市場策劃能力,全面把握市場變化,為客戶實現從企業到消費者的價值轉換。

    Designerpart Designagentur
    Designerpart Designagentur
    Designerpart Designagentur
    Designerpart Designagentur
    Designerpart Designagentur
    Designerpart Designagentur
    主站蜘蛛池模板: 都市激情 在线 亚洲 国产| 人妻熟女一区二区aⅴ向井蓝| 2020精品国产自在现线看| 久久综合精品成人一本| 两口子交换真实刺激高潮| 久久久久99精品成人片试看| 国产精品第一二三区久久蜜芽 | 亚洲高清乱码午夜电影网| 亚洲欧美一区二区三区| 亚洲一区在线日韩在线尤物| 国产成人久久综合77777| 久久久国产精华特点| 亚洲日韩国产欧美一区二区三区| 欧美老熟妇xb水多毛多| 国产精品乱码人妻一区二区三区| 久久www成人看片免费不卡| 美女18禁一区二区三区视频| 中文无码精品一区二区三区| 免费无码毛片一区二区三区a片| 亚洲国产综合av在线观看| 久久本色成人综合网| 国产 精品 自在 线免费| 久久国产精品成人片免费| 亚洲成av人片一区二区蜜柚| 狠狠色狠狠色五月激情| 国产精品高清一区二区不卡| 亚洲一卡2卡3卡4卡 精品| 亚洲成av人片在线观看| 欧美日韩亚洲国内综合网38c38 | 黑人粗大猛烈进出高潮视频| 色老板精品无码免费视频| 亚洲国产欧美日韩在线人成| 亚洲愉拍99热成人精品热久久| 丁香花在线影院观看在线播放 | 亚欧乱色国产精品免费九库| 亚洲а∨天堂久久精品2021| 亚洲成aⅴ人片久青草影院按摩 | 2018国产大陆天天弄| 人人做人人爽人人爱| 久久99久国产麻精品66| 人妻少妇伦在线无码专区视频|