夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
          div本身沒有定義自己居中的屬性,
          網(wǎng)上很多的方法都是介紹用上級的text-align: center然后嵌套一層div來解決問題.
          可是事實(shí)上這樣的方法科學(xué)嗎?
          經(jīng)過網(wǎng)絡(luò)搜索和親自實(shí)驗(yàn)得出以下結(jié)論:
          正確的也是對頁面構(gòu)造沒有影響的設(shè)置如下:
          對需要水平居中的div層添加以下屬性:

          margin-left: auto;
          margin-right: auto;

          經(jīng)過這么一番設(shè)置問題似乎解決了,在ff中已經(jīng)居中了,可是在ie中看竟然還是沒有居中!
          郁悶了一下午,就是找不出問題所在,還特地比較了網(wǎng)上的文章竟然一模一樣.
          問題到底出在哪里呢?
          感謝網(wǎng)友樂天無用幫忙找出了這個(gè)邪門問題的原因.
          原來是l-blog默認(rèn)沒有在html前加上dtd,于是ie就以html而不是xhtml來解釋文檔.
          問題并不在css而在xhtml網(wǎng)頁本身.
          需要加上這樣的代碼才能使得上述設(shè)置有效果:

          <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">[/code]

          如果您希望更為嚴(yán)格的xhtml 1.0 strict或者xhtml 1.1請查閱相關(guān)文檔.
          以上測試均基于windows xp sp2版ie6和firefox 1.0最終版.

          如何使div居中

          主要的樣式定義如下:

          [code]body {text-align: center;}
          #center { margin-right: auto; margin-left: auto; }

           

          說明:
          首先在父級元素定義text-align: center;這個(gè)的意思就是在父級元素內(nèi)的內(nèi)容居中;對于ie這樣設(shè)定就已經(jīng)可以了。但在mozilla中不能居中。解決辦法就是在子元素定義時(shí)候設(shè)定時(shí)再加上“margin-right: auto;margin-left: auto; ”
          需要說明的是,如果你想用這個(gè)方法使整個(gè)頁面要居中,建議不要套在一個(gè)div里,你可以依次拆出多個(gè)div,只
          要在每個(gè)拆出的div里定義margin-right: auto;margin-left: auto; 就可以了。
          如何使圖片在div 中垂直居中

          用背景的方法。舉例:


          body{background: url(http://www.w3cn.org/style/001/logo_w3cn_194x ... nbsp;no-repeat center;

           

          關(guān)鍵就是最后的center,這個(gè)參數(shù)定義圖片的位置。還可以寫成“top left”(左上角)或者"bottom right"等,也可以直接寫數(shù)值"50 30"

          如何使文本在div中垂直居中

          果是文字,便不能用背景方法,可以用增高行距的辦法變通實(shí)現(xiàn)垂直居中,完整代碼如下:
           

          <html>
          <head>
          <style>
          body{text-align: center;}
          #center{ margin-right: auto;
          margin-left: auto;
          height:200px;
          background:#f00;
          width:400px;
          vertical-align:middle;
          line-height:200px;
          }
          </style>
          </head>
          <body>
          <div id="center"><p>test content</p></div>
          </body>
          </html>
           

          說明:
          vertical-align:middle;表示行內(nèi)垂直居中,我們將行距增加到和整個(gè)div一樣高line-height:200px;然后插入文字,就垂直居中了。
          css+div控制頁面中元素垂直居中代碼 全局和區(qū)域垂直居中

          <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>

          另一方法:

          <div style="background:blue;position:absolute;left:expression((body.clientwidth-50)/2);top:expression((body.clientheight-50)/2);width:50;height:50"></div>
          posted on 2008-03-13 19:18 HUIKK 閱讀(1704) 評論(0)  編輯  收藏 所屬分類: Html
          主站蜘蛛池模板: 安乡县| 余姚市| 新安县| 石渠县| 龙游县| 习水县| 桦川县| 防城港市| 邯郸市| 海林市| 松原市| 滦平县| 锡林郭勒盟| 宜宾市| 西畴县| 比如县| 汨罗市| 昭觉县| 普宁市| 武陟县| 将乐县| 大厂| 广南县| 兴国县| 乌兰浩特市| 扎赉特旗| 哈巴河县| 广安市| 金平| 分宜县| 册亨县| 阳原县| 宣恩县| 丰宁| 固阳县| 凤台县| 偃师市| 马山县| 安塞县| 环江| 印江|