css垂直居中

一、div的高度已知---line-hight
   <div>
     <span><img src="http://www.baidu.com/img/baidu_sylogo1.gif" alt="Logo" />固定高宽,图片垂直局中</span>   </div> 

   <style>css

  .vertical {
  	width:500px;
 	height:220px;
	line-height:220px;
	border: 1px solid;
	text-align: center;
  }
  .vertical img {
	vertical-align: middle;
  }
  </style>
  <!--[if IE 6]>   <style>     .vertical span {   height: 100%; /* 要保证和父元素高度同样才行 */ writing-mode: tb-rl; vertical-align: middle;    }   </style>   <![endif]-->       

只要给容器设置 line-height 和 height,并使两值相等,再加上 over-flow: hiddenjava

1.同时支持块级和内联极元素浏览器

2.支持全部浏览器url

3.IE中不支持img等居中spa

二、定位方法垂直居中显示图片--height已知
  <style>
  .vertical{
	width:300px;
	height:200px;
	display:table;
	text-align:center;
	border:solid 1px red;
  }
  .vertical span{
	display:table-cell;
	vertical-align:middle;
	border:solid 1px blue;
  }
  .vertical span img{
	border:dashed 1px green;
  }
  </style>
  <!--[if lte IE 7]>   <style>   .vertical{ position:relative; overflow:hidden;   }   .vertical span{ position:absolute; left:50%; top:50%;   }   .vertical span img{ position:relative; left:-50%; top:-50%;   }   </style>   <![endif]--> 
   <div>
      <span><img src="http://www.baidu.com/img/baidu_sylogo1.gif" alt="Logo" /></span>   </div> 

  vertical-align适用于:内联及 table-cell 元素;text-align适用于块元素code

三、未知高度垂直居中--resiez
  <style type="text/css">   .demo{ resize:both; overflow:hidden; width:100px; height:100px; background:#aaa; display:inline-block; font-size:0;    }   .demo p{ display:inline-block; vertical-align:middle; font-size:16px;   }   .demo::after{ display:inline-block; height:100%; width:0; content:'\0020'; vertical-align:middle;   }     </style> 

   <div>图片

	<p>ddd</p>
  </div>

  IE6-8b不支持it

四、利用button实现垂直居中
   /*单行文本对齐:button*/
    .demo{
      width:600px;
      height:100px;
      background:#fcc;
      border: 1px solid #596480;
    }
    button{
      margin:0;
      padding:0;
    }
    .demo button{
      width:0;
      height:100px;
      vertical-align:middle;
      overflow:hidden;
    }
    .demo span{
      /*这个不能省*/
      vertical-align:middle;
    }

  <h2>单行文本垂直居中:button</h2> 
  <div class="demo">     <button>test</button>     <span>单行文本垂直对齐:button,不能居中对齐</span>   </div> 

   此方法不能够实现文本居中对齐io

五、多行文本对齐:定位+百分比
  <h2>多行文本垂直居中:定位+百分比</h2>
  <div class="mul-text">       <div class="outter">          <span class="inner">             多行文本垂直居中多行文本垂直居中多行文本垂直居中多行文本垂直居中多行文本垂直居中多行文本垂直居中             多行文本垂直居中多行文本垂直居中         </span>     </div>   </div> /*多行文本居中:1*/     .mul-text{         display: table-cell;         width:600px;         height: 100px;         vertical-align: middle;         text-align:center;         border: 1px solid #596480;         background: #ffc;         /*兼容ie6,7*/         *position: relative;       }     .outter{         /*该div相对父div(class=mul-text)垂直对齐,使用的是绝对定位*/         *position: absolute;         *top: 50%;         *left: 0;     }     .inner{         /*相对父div(class=outter)进行相对定位,inner         会相对outter行框进行显示*/         *position: relative;         /*设置top能够使得inner相对outter居中*/         *top: -50%;         *left: 0;             } 
六、多行文本垂直居中:after
    <h2>多行文本垂直居中:after</h2>
    <div class="mul-text-2">                 <span class="inner-2">          多行文本显示多行文本显示多行文本显示多行文本显多行示多行文本显示多行文本       </span>       <span></span>               </div> /*多行文本对齐:after*/     .mul-text-2{         width:600px;         height:100px;         background:#aa8;         /*font-size不能少*/         font-size:0;         overflow:hidden;         text-align:center;     }     .inner-2,.after,.mul-text-2:after{         display:inline-block;         vertical-align:middle;     }     .inner-2{         font-size:18px;     }     .after,.mul-text-2:after{         /*清除浮动*/         content:"\0200";         overflow:hidden;         width:0;         height:100px;         visibility:hidden;     } 
七、背景图片居中
   <h2>图片垂直居中:行高</h2>    
   <div class="img-text">        <span>sssssss1</span>        <div class='img-div'><i></i></div>    </div>   /*背景图片*/     .img-text{         width:600px;         height:100px;         border:#f63;         border: 1px solid #596480;            vertical-align:middle;          text-align:center;          font-size:0;       }           .img-text span{         font-size:15px;         display:inline-block;         height:100px;         line-height:100px;     }     .img-div{         width:134px;         height:44px;                 display:inline-block;          vertical-align:middle;            }     .logo{         display:inline-block;         background:url(./img/logo.png);         width:134px;         height:44px;        } 
相关文章
相关标签/搜索