有这样一个需求,将图片包裹在一个容器中,但这个容器的高度不能超过它父级高度的80%,而这张图片能够保持宽高比,且最大高度不能超过这个容器。css代码如下:
- 实现思路:
在图片外再加一层div,将原有的容器设置为flex布局,而图片外新加的这层div设置flex:1,图片再设置max-height,就能完美完成这个需求了。
<!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 type="text/css">
html,body{
padding:0;
margin:0;
}
.p-10{
padding:10px;
}
.box{
width:600px;
max-height:80%;
display: flex;
}
.img-container{
background:red;
flex:1;
width: 100%;
text-align: center;
}
img{
max-width: 100%;
max-height: 100%;
vertical-align: middle;
}
</style>
</head>
<body>
<div class="p-10 box">
<div class="img-container">
<img src="test.jpg" >
</div>
</div>
</body>
</html>