CSS flex容器中img尺寸的问题

轻灵子 发布于 2018/01/15 10:07
阅读 967
收藏 0

        想写这样一个布局,顶部一个定高度的div,下面一个不定高度的img,占据余下的空间。

        用flex的flex属性分别设定为none和auto。但是发现图片始终是其原本大小。若设定图片的css height 小于原本大小,图片高度可以被放大,但是宽度被限制为设定高度的等比例缩放。如图所示:

        若设定css height 大于原本大小,那么图片的尺寸仍然是原本大小。如图所示:

        如果去掉img的src属性,那么是正常的,如图所示:

    

源码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>

    <style>
        body
        {
            padding:0;
            margin:0;
        }

        #container
        {
            display: flex;
            flex-direction: column;
            align-items:center;
            position:100vw;
            height:100vh;
        }

        #div
        {
            flex:0 0 auto;
            width:100%;
            height:100px;

            background-color:aliceblue;
        }

        #img
        {
            flex:1 1 auto;
            height:1600px;
            /* width:100%; */
            /* height:160px; */

            background-color:antiquewhite;
        }
    </style>
</head>
<body>
    <div id='container'>
        <div id='div'></div>
        <img id='img' src='http://skywingjiang.gitee.io/changexingpicture/Chapter1/1.jpg'/>
        <!-- <img id='img'/> -->
    </div>
</body>
</html>

    我想问的是:是否是img的图片的原本大小会覆盖flex的计算大小?

加载中
返回顶部
顶部