我在尝试将图片适合div时遇到问题。我的图片比div大,所以当我做传统的
style="width:100%;"
它将调整div的大小,并占用更多的空间。
我尝试使用 style =“ max-width:100%;”背景大小:包含;背景尺寸:封面;
几乎所有调整图像大小以适合整个div的方法。
我正在使用CSS网格,因此区域的大小是我希望使整个图像适合的方式,但是当使用max-width之类的东西时,它只会更改区域的大小,从而使其变大比应有的大
我本质上想做类似的事情
图像将占据整个div并且不会溢出
答案 0 :(得分:1)
我迅速创建了以下CSS网格,看起来像您想要的结果来演示。我还添加了一些可以使用CSS网格进行操作的绝妙技巧。
body, html{
margin: 0;
padding: 0;
box-sizing: border-box;
}
*, *:before, *:after {
box-sizing: inherit;
}
.container{
margin: 0 auto;
width:100%;
height: 100vh;
display:grid;
grid-template-columns: 5% repeat(3, 1fr) 5%;
grid-template-rows: 5% repeat(2,1fr) 5%;
grid-gap: 1%;
}
.imageOne{
grid-row: 2/3;
grid-column: 2 / -2;
background-color:rgb(247,247,247);
background-image:url('https://cdn.photographylife.com/wp-content/uploads/2016/06/Mass.jpg');
background-repeat:no-repeat;
background-size: 100% 100%;
background-position:center;
color:rgb(255,255,255);
}
.imageTwo{
grid-row: 3/4;
grid-column:2 / 3;
background-image:url('https://cdn.photographylife.com/wp-content/uploads/2016/06/Mass.jpg');
background-repeat:no-repeat;
background-size: 100% 100%;
background-position:center;
color:rgb(255,255,255);
}
.imageThree{
grid-row: 3/4;
grid-column:3 / 4;
background-image:url('https://cdn.photographylife.com/wp-content/uploads/2016/06/Mass.jpg');
background-repeat:no-repeat;
background-size: 100% 100%;
background-position:center;
color:rgb(255,255,255);
}
.imageFour{
grid-row: 3/4;
grid-column:4 / 5;
background-image:url('https://cdn.photographylife.com/wp-content/uploads/2016/06/Mass.jpg');
background-repeat:no-repeat;
background-size: 100% 100%;
background-position:center;
color:rgb(255,255,255);
}
<div class="container">
<div class="imageOne">
image one
</div>
<div class="imageTwo">
image two
</div>
<div class="imageThree">
image three
</div>
<div class="imageFour">
image four
</div>
</div>
享受并希望对您有所帮助。还要Codepen链接here
答案 1 :(得分:0)
我想这可能是您需要的解决方案。
<div>
<div class="outer">
<img class="img_size" src="https://www.w3schools.com/html/pic_trulli.jpg" alt="not found">
</div>
<div class="outer">
<img class="img_size" src="https://www.w3schools.com/html/pic_trulli.jpg" alt="not found">
</div>
<div class="outer">
<img class="img_size" src="https://www.w3schools.com/html/pic_trulli.jpg" alt="not found">
</div>
</div>
CSS:
.outer {
width: 180px;
height: 180px;
margin: 10px;
float: left;
}
.img_size {
width: 100%;
height: 100%
}
所有取决于外部div的样式。最好将图像标签封装在div内,并为此提供适当的宽度和高度。
答案 2 :(得分:0)
我了解您的情况,您只需使用 object-fit css属性即可获得结果。
示例:
<html>
<head>
<title>
Image Example
</title>
</head>
<style>
.outer-div{
height:300px;
width:300px;
.outer-div img{
height:300px;
width:100%;
/* This will set the image size as cover */
object-fit: cover;
/* Give this a try too..use which ever fits your scenario.
object-fit:contain;
*/
</style>
<body>
<div class="outer-div">
<img src="path/to/image">
</div>
<body>
<html>