Sealyu

          --- 博客已遷移至: http://www.sealyu.com/blog

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks
          一、CSS 居中 — 水平居中

          DIV等標簽本身沒有定義自己居中的屬性,網上很多的方法都是介紹用上級的text-align: center,然后嵌套一層DIV來解決問題。
          可是這個方法有時候完全不起作用,而且對于布局是非常不科學的方法。正確的的設置寫法如下(對頁面構造沒有影響):
          div {margin-left: auto; margin-right: auto; }
          這句CSS居中的意思就是讓div自己調整左右margin間隔的距離以達到水平居中的效果。
          有時候我們還可以簡寫為 div { margin:0px auto; }
          但這樣的簡寫法,如果你調整 margin-top 或者 margin-bottom 就會失去CSS居中的水平居中效果。
          另外,如果你的div還沒有指定寬度(可以是相對的大小),這種CSS居中寫法也起不到應有的效果,解決辦法是為這個div指定一個width寬度,例如: width:auto; 或者 width:50% 之類的。
          同時,你的頁面類型即document type必須聲明為xhtml。至于松散還是嚴格都不影響。
          這個寫法也適用于圖片img和一些其他的盒狀標簽的CSS居中。
          最后,假如你在IE和FireFox兩個瀏覽器中看起來不一樣,你最好采用 text-align:center; 和 margin 兩個CSS居中一起設置的方法。例如:
          #layout  {TEXT-ALIGN: center;}
          #center { MARGIN-RIGHT: auto; MARGIN-LEFT: auto; }
          說明:首先在父級元素定義TEXT-ALIGN: center;這個的意思就是在父級元素內的內容居中;對于IE這樣設定就已經可以了。但在mozilla中不能居中。解決辦法就是在子元素定義時候設定 時再加上“MARGIN-RIGHT: auto;MARGIN-LEFT: auto; ”需要說明的是,如果你想用這個方法使整個頁面要居中,建議不要套在一個DIV里,你可以依次拆出多個div,只要在每個拆出的div里定義MARGIN -RIGHT: auto;MARGIN-LEFT: auto; 就可以了。

          二. CSS居中 — 垂直居中

          1. 如何使圖片在DIV 中垂直居中
          對這個CSS居中問題,我們可以使用設置背景圖片的方法。舉例:
          body {BACKGROUND: url(”sample.gif”) #FFF no-repeat center;}
          關鍵就在于這個Center屬性,它表示讓該背景圖片在容器中居中。你也可以把Cener換成Top Left或者直接寫上數字來調整它的位置。

          2.如何使文本在DIV中垂直居中
          對于文字,便不能用背景方法,可以用增高行距的辦法變通實現垂直居中,示范代碼如下:
          #center{ MARGIN-RIGHT: auto; MARGIN-LEFT: auto;  height:200px;  vertical-align:middle;  line-height:200px; }
          <div id=”center”><p>test content</p></div>
          說明:
          vertical-align:middle;表示行內垂直居中,我們將行距增加到和整個DIV一樣高line-height:200px;然后插入文字,就垂直居中了。

          3.CSS+DIV控制頁面中元素垂直居中代碼,實現全局和區域CSS垂直居中
          示范代碼:

          <style type=”text/css” media=screen>
          body
          {
          text-align: center;
          }
          #a
          {
          width: 200px;
          height: 400px;
          background: #000;
          }
          #b
          {
          margin-top: expression((a.clientHeight-50)/2);
          width: 50px;
          height: 50px;
          background: #FFF;
          }
          #c
          {
          position: absolute;
          left: expression((body.clientWidth-50)/2);
          top: expression((body.clientHeight-50)/2);
          width: 50px;
          height: 50px;
          background: #F00;
          }
          </style>
          <div id=”a”>
          <div id=”b”></div>
          </div>
          <div id=”c”></div>

          另一CSS居中方法:

          <div style=”background:blue;position:absolute;left:expression((body.clientWidth-50)/2);top:expression((body.clientHeight-50)/2);width:50;height:50″></div>

          加一種CSS水平垂直居中方法,本方法在www.chinaret.com中使用.

          /*Center Panel*/

          #LoginBar { position: absolute; left:50%; Top:50%; margin-top: -68px; z-index: 1; margin-left: -150px; width: 300px;  

          Height: 156px;text-align:left;

          posted on 2009-02-16 14:42 seal 閱讀(85879) 評論(2)  編輯  收藏 所屬分類: CSS

          評論

          # re: CSS水平居中和垂直居中解決方案(轉) 2012-09-23 01:10 土土
          大廈大廈大廈大廈大廈大廈  回復  更多評論
            

          # re: CSS水平居中和垂直居中解決方案(轉) 2015-02-10 18:49 水電費
          是非得失  回復  更多評論
            

          主站蜘蛛池模板: 屏东市| 湄潭县| 峨山| 泰州市| 建湖县| 鹤岗市| 温宿县| 黄冈市| 专栏| 武夷山市| 达州市| 民乐县| 达孜县| 永安市| 资源县| 揭西县| 天水市| 五家渠市| 体育| 科技| 洛隆县| 双流县| 保靖县| 余姚市| 高淳县| 长岭县| 皋兰县| 汝城县| 黑龙江省| 和田市| 东山县| 墨玉县| 福州市| 塘沽区| 景德镇市| 阿勒泰市| 鹤峰县| 从江县| 方正县| 临清市| 称多县|