备忘:CSS图片垂直居中全兼容淫技整理集合

1. ie的文档流样式 writing-mode:tb-rl

.box1 a{
    writing-mode:tb-rl;  /* 触发layout 后面高度生效,文档流 自上往下,自右往左,宽度要自适应,文字方向在垂直方向居中 */
    height:100%;
    vertical-align:middle
}

2. inline-block方式

.box2 i{
    zoom:1; height:100%; width:0; /* 触发layout,撑起行内的高度,宽度为0,不占横向空间  */
    background:#c00;
    vertical-align:middle;
}

3. 利用字体大小

.box3{
    *display: block;
    *font-size: 87px;/约为高度的0.873,200*0.873 约为87/
    *font-family:Arial;/防止gbk等编码引起的hack失效问题/
}

4. 绝对定位

示例

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
 <title>页面元素垂直居中的几种方法</title>
  
 <link href="http://zzsvn.pcauto.com.cn/svn/%d6%c6%d7%f7%b2%bf%b9%e6%b7%b6/web%b1%ea%d7%bc/styles/reset.css" rel="stylesheet" />
  
  
 <style>
 .box{ width:100px; height:100px; line-height:22px; border:1px solid #c00;}
  
  
 .box1{ display:table-cell; vertical-align:middle; text-align:center;}
 .box1 a{
 writing-mode:tb-rl; /* 触发layout 后面高度生效,文档流 自上往下,自右往左,宽度要自适应,文字方向在垂直方向居中 */
 height:100%;
 vertical-align:middle
 }
  
  
 .box2{ display:table-cell; vertical-align:middle; text-align:center;}
 .box2 i{
 zoom:1; height:100%; width:0; /* 触发layout,撑起行内的高度,宽度为0,不占横向空间 */
 background:#c00;
 vertical-align:middle;
 }
 .box2 img{ vertical-align:middle}
  
  
 .box3{ display:table-cell; vertical-align:middle; text-align:center;}
 .box3{
 *display: block;
 *font-size: 87px;/*约为高度的0.873,200*0.873 约为87*/
 *font-family:Arial;/*防止gbk等编码引起的hack失效问题*/
 }
  
 .box4{ display:table-cell; vertical-align:middle; text-align:center;}
  
 </style>
 <!--[if lte IE 7]>
 <style>
 .box4{ position:relative; }
 .box4 a{ position:absolute; display:block; left:50%; top:50%;}
 .box4 img{position:relative;left:-50%;top:-50%;}
 </style>
 <![endif]-->
 </head>
  
 <body>
  
 <br />
 方法一
 <div class="box box1">
 <a href="#"><img src="http://i3.3conline.com/images/piclib/201112/07/batch/1/119960/13232494161050pm91ci8xn_small.jpg"></a>
 </div>
  
 <br />
 方法二
 <div class="box box2">
 <i></i>
 <a href="../group/176189.html"><img src="http://i3.3conline.com/images/piclib/201112/07/batch/1/119960/13232494161050pm91ci8xn_small.jpg"></a>
 </div>
  
 <br />
  
 方法三
 <div class="box box3">
 <a href="../group/176189.html"><img src="http://i3.3conline.com/images/piclib/201112/07/batch/1/119960/13232494161050pm91ci8xn_small.jpg"></a>
 </div>
  
 <br />
 方法四
 <div class="box box4">
 <a href="../group/176189.html"><img src="http://i3.3conline.com/images/piclib/201112/07/batch/1/119960/13232494161050pm91ci8xn_small.jpg"></a>
 </div>
  
  
  
  
  
 </body>
 </html>
  

转载于:https://www.cnblogs.com/aim-at-is-the-tao-in/p/3701726.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值