夢幻之旅

          DEBUG - 天道酬勤

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

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

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

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

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

          如何使div居中

          主要的樣式定義如下:

          [code]body {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; 就可以了。
          如何使圖片在div 中垂直居中

          用背景的方法。舉例:


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

           

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

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

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

          <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;表示行內垂直居中,我們將行距增加到和整個div一樣高line-height:200px;然后插入文字,就垂直居中了。
          css+div控制頁面中元素垂直居中代碼 全局和區域垂直居中

          <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
          主站蜘蛛池模板: 石景山区| 临邑县| 四平市| 惠州市| 龙州县| 吉林市| 灵山县| 普安县| 宁蒗| 岱山县| 新泰市| 壤塘县| 高雄市| 深州市| 扎赉特旗| 五原县| 高平市| 克山县| 翁牛特旗| 吉隆县| 通海县| 乐平市| 黄龙县| 慈利县| 淮安市| 贵阳市| 兴和县| 阳东县| 鸡东县| 金沙县| 乌兰县| 西充县| 秦皇岛市| 上饶市| 南岸区| 元氏县| 盖州市| 杭州市| 句容市| 建宁县| 遂昌县|