1. 程式人生 > >css元素的水平,豎直居中

css元素的水平,豎直居中

一、水平居中

  1.文字圖片水平居中:給父級元素設定text-align:center;

  2.確定寬度的塊級元素居中:margin:0 auto;(margin-left,margin-right=0)

  3.不確定寬度的塊級元素的居中:

      (1)用table幫助實現不確定寬度塊級元素居中

                  <table><tr><td>塊級元素</td></tr></table>

                  設定table元素margin:0 auto;

      (2)設定父級元素text-align:center;然後自身display:inline;

      (3)父元素設定float:left;position:relative;left:50%;自身設定position:relative;left:-50%;

二、豎直居中

  1.父級元素高度確定的單行文字:

給父級元素設定行高等於父級元素高度(line-height=height);

  2.父元素高度不確定的文字、圖片、塊級元素的垂直居中:給父級元素設定相同的padding(padding-top=padding-bottom);

  3.父元素高度確定的多行文字、圖片、塊級元素的豎直居中:

  (1)vertical-align屬性只有在父元素為td、th時才生效,其它元素預設不支援vertical-align;在firefox和IE8下可以設定display:table-cell,來啟用                  vertical-align屬性,當時IE6、7不支援display:table-cell,所以我們用最原始的笨辦法,直接使用表格

          <table><tr><td>元素</td></tr></table>   td預設設定了vertical-align:middle;

(2)firefox和IE8用vertical-align:middle;display:table-cell;在IE6、7中用hack;

        .wrap{width:500px;height:200px;display:table-cell;vertical-align:middle;*position:relative;}
        .verticalWrap{*position:absolute;*top:50%;}
        .vertical{*position:relative;*top:-50%;}