Html 如何拉伸图像以覆盖div的全宽和全高?(使用Flexbox)
我想调整图像的大小,以覆盖整个div。如果你们可以在CSS中提出任何建议,而不是使用javascript,这将非常有帮助 这是我现在拥有的一个样本Html 如何拉伸图像以覆盖div的全宽和全高?(使用Flexbox),html,angularjs,css,flexbox,Html,Angularjs,Css,Flexbox,我想调整图像的大小,以覆盖整个div。如果你们可以在CSS中提出任何建议,而不是使用javascript,这将非常有帮助 这是我现在拥有的一个样本 .third{ width:30%; float:left; margin:8px; } .second{ display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-flow: row wrap; -ms-flex
.third{
width:30%;
float:left;
margin:8px;
}
.second{
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
}
img{
width:100%;
object-fit:fill;
}
<div class="first">
<div class="second">
<div class="third">
<img src="https://i.ytimg.com/vi/nT8pKpXQSJY/maxresdefault.jpg">
</div>
<div class="third">
<img src="http://i1.wp.com/proyectart.es/wp-content/uploads/2015/10/One-Punch-Man.jpg">
</div>
<div class="third">
<img src="https://i.ytimg.com/vi/nT8pKpXQSJY/maxresdefault.jpg">
</div>
<div class="third">
<img src="https://i.ytimg.com/vi/nT8pKpXQSJY/maxresdefault.jpg">
</div>
<div class="third">
<img src="http://i1.wp.com/proyectart.es/wp-content/uploads/2015/10/One-Punch-Man.jpg">
</div>
<div class="third">
<img src="http://i1.wp.com/proyectart.es/wp-content/uploads/2015/10/One-Punch-Man.jpg">
</div>
</div>
</div>
。第三{
宽度:30%;
浮动:左;
利润率:8px;
}
.第二{
显示:-webkit flex;
显示:-ms flexbox;
显示器:flex;
-webkit flex流:行换行;
-ms flex流:行换行;
柔性流:行换行;
}
img{
宽度:100%;
对象匹配:填充;
}
以下是代码笔的链接,以了解更多详细信息:
第一个、第三个和第四个图像比其他图像小。谁能告诉我如何将这些图像拉伸到其容器div的大小,以便看起来所有图像都是相同大小的。先谢谢你。附言:我试过对象匹配,但没用 使用背景尺寸:封面;在CSS规则中,元素可能是获得完整图像覆盖的最简单方法。不过,这可能会切断一些内容,具体取决于背景图像是否在div中居中或调整其大小的方式 背景尺寸:包含;可能更有用,但我是封面大小属性的超级粉丝 更新 如果您想要避免背景图像,那么您可以尝试将img标记设置为100%宽度和/或高度,但这将扭曲您的图像并导致其他问题,并且您可能需要执行一些JS计算来防止出现这种情况
为什么不喜欢使用背景图像?使用背景尺寸:封面;在CSS规则中,元素可能是获得完整图像覆盖的最简单方法。不过,这可能会切断一些内容,具体取决于背景图像是否在div中居中或调整其大小的方式 背景尺寸:包含;可能更有用,但我是封面大小属性的超级粉丝 更新 如果您想要避免背景图像,那么您可以尝试将img标记设置为100%宽度和/或高度,但这将扭曲您的图像并导致其他问题,并且您可能需要执行一些JS计算来防止出现这种情况
为什么不喜欢使用背景图像?试着调整你的背景图像。第三,它有一个默认的填充,你可以通过添加下面的CSS来删除。您可以根据需要调整高度。这样可以避免背景图像,但背景图像仍然是最有效的
.third {
width: 33.33%;
height: 100px;
float: left;
margin:0;
padding:0;
}
第三,它有一个默认的填充,你可以通过添加下面的CSS来删除。您可以根据需要调整高度。这样可以避免背景图像,但背景图像仍然是最有效的
.third {
width: 33.33%;
height: 100px;
float: left;
margin:0;
padding:0;
}
这里有几种方法,具体取决于您想要拉伸还是剪裁图像 在示例1和2中,我使用的技巧是将
img
保持为visibility:hidden
以避免在第三个div上设置固定高度
此外,使用图像url的内联样式,您可以轻松地使用angular,而不会与外部CSS发生冲突
样本1-拉伸
。第三{
弹性:10 calc(33%-16 px);
利润率:8px;
位置:相对位置;
背景大小:100%100%;
}
.第二{
显示器:flex;
柔性流:行换行;
}
img{
可见性:隐藏;
宽度:100%;
高度:自动;
}
以下是几种方法,具体取决于您想要拉伸还是剪裁图像
在示例1和2中,我使用的技巧是将img
保持为visibility:hidden
以避免在第三个div上设置固定高度
此外,使用图像url的内联样式,您可以轻松地使用angular,而不会与外部CSS发生冲突
样本1-拉伸
。第三{
弹性:10 calc(33%-16 px);
利润率:8px;
位置:相对位置;
背景大小:100%100%;
}
.第二{
显示器:flex;
柔性流:行换行;
}
img{
可见性:隐藏;
宽度:100%;
高度:自动;
}
您可以这样做,但会丢失图像的纵横比
HTML:使用class=“row”添加一个div,并在每个div中放置3个图像
您可以这样做,但会丢失图像的纵横比
HTML:使用class=“row”添加一个div,并在每个div中放置3个图像
首先删除所有的
标签
然后使用这个css
.third{
width:290px;
height:180px;
float:left;
margin:8px;
background-image:url("https://i.ytimg.com/vi/nT8pKpXQSJY/maxresdefault.jpg");
background-size:cover;
}
首先删除所有的
标记
然后使用这个css
.third{
width:290px;
height:180px;
float:left;
margin:8px;
background-image:url("https://i.ytimg.com/vi/nT8pKpXQSJY/maxresdefault.jpg");
background-size:cover;
}
虽然flexbox是一种很好的方法,但最简单的方法是使用表并将图像作为数据插入。
这是密码
图像
尽管flexbox是一种很好的方法,但最简单的方法是使用表格,并将图像作为数据插入。
这是密码
图像
您可以将图像设置为div的背景图像,并使用background size:cover。我考虑过这一点,但有没有其他方法可以不用背景图像来设置高度/宽度?您是否需要图像本身来设置高度/宽度?背景图像
没有,并且图像是否需要保持纵横比?@LGSo