有這樣一個需求,將圖片包裹在一個容器中,但這個容器的高度不能超過它父級高度的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>