javascript - display:table-cell为什么在ie8下出现这种情况,有哪位知道?

查看:130
本文介绍了javascript - display:table-cell为什么在ie8下出现这种情况,有哪位知道?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

在使用display:table-cell实现不定大小图片水平垂直居中,但是在实现的过程中,自己发现了一个问题就是,如果图片的 宽:高>1 同时 图片的原始大小宽度大于容器的宽度时,在ie8中就会出现下图的效果


<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>display</title>
    <style>
       div{
           width: 200px;
           height: 200px;
           border:1px solid black;
           float: left;
           margin-left: 200px;
       }
       a{
           width: 200px;
           height: 200px;
           display: table-cell;
           vertical-align: middle;
           text-align: center;
        border:1px dashed red;
       }
       img{
           max-width: 200px;
           max-height: 200px;
           vertical-align: middle;
        border:none;
       }
    </style>
</head>
<body>
    <!--图片328x220      有问题-->
    <div>
        <a href="#">
            <img src="11.jpg" alt="">
        </a>
    </div>
    <!-- 图片720x1280   没问题-->
    <div>
        <a href="#">
            <img src="22.jpg" alt="">
        </a>
    </div>
    <!-- 图片200x150   没问题-->
    <div>
        <a href="#">
            <img src="44.jpg" alt="">
        </a>
    </div>
</body>
</html>

哪位知道?

解决方案

最外层的div样式更改如下:

div{
    display: table;
    table-layout: fixed;
    width: 200px;
    height: 200px;
    border:1px solid black;
    float: left;
    margin-left: 200px;
}

虽然img价格width:100%可以解决,但是图片比例问题会失调!所以建议以上这种方法!

这篇关于javascript - display:table-cell为什么在ie8下出现这种情况,有哪位知道?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆