图像在html/css中拉伸过大

图像在html/css中拉伸过大,html,css,Html,Css,我的背景图片都太宽了,我尝试了无数的方法来让它工作。我改变了宽度参数,高度参数,在不同的地方寻找答案,却找不到任何有效的方法。这些图片是背景图像,并以动画形式在图像中淡出。我使用谷歌Chrome作为我桌面上的浏览器和图片。我在网上找到了一些图片,可以添加到片段中 #crossfade>img{ 宽度:100%; 身高:100%; 位置:绝对位置; 顶部:0px; 左:0px; 颜色:透明; 不透明度:0; z指数:-1; -webkit背面可见性:隐藏; -webkit动画:imageAnim

我的背景图片都太宽了,我尝试了无数的方法来让它工作。我改变了宽度参数,高度参数,在不同的地方寻找答案,却找不到任何有效的方法。这些图片是背景图像,并以动画形式在图像中淡出。我使用谷歌Chrome作为我桌面上的浏览器和图片。我在网上找到了一些图片,可以添加到片段中

#crossfade>img{
宽度:100%;
身高:100%;
位置:绝对位置;
顶部:0px;
左:0px;
颜色:透明;
不透明度:0;
z指数:-1;
-webkit背面可见性:隐藏;
-webkit动画:imageAnimation 30s线性无限0s;
-moz动画:imageAnimation 30s线性无限0s;
-o-animation:imageAnimation 30s线性无限0s;
-ms动画:imageAnimation 30s线性无限0s;
动画:imageAnimation 30s线性无限0s;
}
#crossfade>img:第n个子项(2){
-webkit动画延迟:6s;
-moz动画延迟:6s;
-o-动画延迟:6s;
-ms动画延迟:6s;
动画延迟:6秒;
}
#crossfade>img:第n个子项(3){
-webkit动画延迟:12秒;
-moz动画延迟:12s;
-o-动画延迟:12s;
-ms动画延迟:12s;
动画延迟:12秒;
}
#crossfade>img:第n个子项(4){
-webkit动画延迟:18秒;
-moz动画延迟:18s;
-o-延时:18s;
-ms动画延迟:18s;
动画延迟:18秒;
}
#crossfade>img:第n个孩子(5){
-webkit动画延迟:24秒;
-moz动画延迟:24秒;
-o-动画延迟:24秒;
-毫秒动画延迟:24秒;
动画延迟:24秒;
}
@-webkit关键帧图像动画{
0%{不透明度:0;
-webkit动画计时功能:轻松;}
8%{不透明度:1;
-webkit动画计时功能:放松;}
17%{不透明度:1}
25%{不透明度:0}
100%{不透明度:0}
}
@-moz关键帧图像动画{
0%{不透明度:0;
-moz动画计时功能:轻松;}
8%{不透明度:1;
-moz动画计时功能:减缓;}
17%{不透明度:1}
25%{不透明度:0}
100%{不透明度:0}
}
@-o关键帧图像动画{
0%{不透明度:0;
-o-animation-timeing-function:ease-in;}
8%{不透明度:1;
-o-animation-timeing-function:ease out;}
17%{不透明度:1}
25%{不透明度:0}
100%{不透明度:0}
}
@-ms关键帧图像动画{
0%{不透明度:0;
-ms动画计时功能:轻松;}
8%{不透明度:1;
-ms动画计时功能:减缓;}
17%{不透明度:1}
25%{不透明度:0}
100%{不透明度:0}
}
@关键帧图像动画{
0%{不透明度:0;
动画计时功能:轻松;}
8%{不透明度:1;
动画计时功能:减缓;}
17%{不透明度:1}
25%{不透明度:0}
100%{不透明度:0}
}

您需要从
#crossfade
元素中删除属性
width
height
,以便正确缩放,您可以设置
min width
min height
以实现您正在寻找的全屏模式,尽管您可能会丢失一些图像可见性

#crossfade > img {
    min-width: 100%;
    min-height: 100%;
}
尝试添加到图像中

#crossfade>img{
宽度:100%;
身高:100%;
对象匹配:覆盖;
位置:绝对位置;
顶部:0px;
左:0px;
颜色:透明;
不透明度:0;
z指数:-1;
动画:imageAnimation 30s线性无限0s;
}
#crossfade>img:第n个子项(2){
动画延迟:6秒;
}
#crossfade>img:第n个子项(3){
动画延迟:12秒;
}
#crossfade>img:第n个子项(4){
动画延迟:18秒;
}
#crossfade>img:第n个孩子(5){
动画延迟:24秒;
}
@关键帧图像动画{
0% {
不透明度:0;
动画计时功能:轻松自如;
}
8% {
不透明度:1;
动画计时功能:放松;
}
17% {
不透明度:1
}
25% {
不透明度:0
}
100% {
不透明度:0
}
}

这是由于图像纵横比造成的。不要添加img元素,而是添加一个带有背景图像的div元素。然后,您可以相应地调整高度和位置。它将保持你的外观完整。请查看以下解决方案或在codepen中运行它


#crossfade>图像框{
宽度:100%;
高度:500px;
位置:绝对位置;
顶部:0px;
左:0px;
颜色:透明;
不透明度:0;
z指数:-1;
-webkit背面可见性:隐藏;
-webkit动画:imageAnimation 30s线性无限0s;
-moz动画:imageAnimation 30s线性无限0s;
-o-animation:imageAnimation 30s线性无限0s;
-ms动画:imageAnimation 30s线性无限0s;
动画:imageAnimation 30s线性无限0s;
背景尺寸:封面;
背景重复:无重复;
背景位置:中心;
}
#crossfade>。图像框:第n个子项(2){
-webkit动画延迟:6s;
-moz动画延迟:6s;
-o-动画延迟:6s;
-ms动画延迟:6s;
动画延迟:6秒;
}
#crossfade>。图像框:第n个子项(3){
-webkit动画延迟:12秒;
-moz动画延迟:12s;
-o-动画延迟:12s;
-ms动画延迟:12s;
动画延迟:12秒;
}
#crossfade>。图像框:第n个子项(4){
-webkit动画延迟:18秒;
-moz动画延迟:18s;
-o-延时:18s;
-ms动画延迟:18s;
动画延迟:18秒;
}
#crossfade>。图像框:第n个子项(5){
-webkit动画延迟:24秒;
-moz动画延迟:24秒;
-o-动画延迟:24秒;
-毫秒动画延迟:24秒;
动画延迟:24秒;
}
@-webkit关键帧图像动画{
0%{不透明度:0;
-webkit动画计时功能:轻松;}
8%{不透明度:1;
-webkit动画计时功能:放松;}
17%{不透明度:1}
    <html>
  <div id= 'crossfade'>
   <div class="image-box" style="background-image: url(https://www.gstatic.com/webp/gallery/1.jpg)">
    </div> 
    <div class="image-box" style="background-image: url(https://www.gstatic.com/webp/gallery/2.jpg)">
    </div>
    <div class="image-box" style="background-image:url(https://www.gstatic.com/webp/gallery/3.jpg)">
    </div>
    <div class="image-box" style="background-image:url(https://www.gstatic.com/webp/gallery/4.jpg)">
   </div>
  </div>
</html>

#crossfade > .image-box {
    width:100%;
    height:500px;
    position: absolute;
    top: 0px;
    left: 0px;
    color: transparent;
    opacity: 0;
    z-index: -1;
    -webkit-backface-visibility: hidden;
    -webkit-animation: imageAnimation 30s linear infinite 0s;
    -moz-animation: imageAnimation 30s linear infinite 0s;
    -o-animation: imageAnimation 30s linear infinite 0s;
    -ms-animation: imageAnimation 30s linear infinite 0s;
    animation: imageAnimation 30s linear infinite 0s;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center;
}

#crossfade > .image-box:nth-child(2)  {
    -webkit-animation-delay: 6s;
    -moz-animation-delay: 6s;
    -o-animation-delay: 6s;
    -ms-animation-delay: 6s;
    animation-delay: 6s;
}
#crossfade > .image-box:nth-child(3) {
    -webkit-animation-delay: 12s;
    -moz-animation-delay: 12s;
    -o-animation-delay: 12s;
    -ms-animation-delay: 12s;
    animation-delay: 12s;
}
#crossfade > .image-box:nth-child(4) {
    -webkit-animation-delay: 18s;
    -moz-animation-delay: 18s;
    -o-animation-delay: 18s;
    -ms-animation-delay: 18s;
    animation-delay: 18s;
}
#crossfade > .image-box:nth-child(5) {
    -webkit-animation-delay: 24s;
    -moz-animation-delay: 24s;
    -o-animation-delay: 24s;
    -ms-animation-delay: 24s;
    animation-delay: 24s;
}

@-webkit-keyframes imageAnimation {
    0% { opacity: 0;
    -webkit-animation-timing-function: ease-in; }
    8% { opacity: 1;
         -webkit-animation-timing-function: ease-out; }
    17% { opacity: 1 }
    25% { opacity: 0 }
    100% { opacity: 0 }
}

@-moz-keyframes imageAnimation {
    0% { opacity: 0;
    -moz-animation-timing-function: ease-in; }
    8% { opacity: 1;
         -moz-animation-timing-function: ease-out; }
    17% { opacity: 1 }
    25% { opacity: 0 }
    100% { opacity: 0 }
}

@-o-keyframes imageAnimation {
    0% { opacity: 0;
    -o-animation-timing-function: ease-in; }
    8% { opacity: 1;
         -o-animation-timing-function: ease-out; }
    17% { opacity: 1 }
    25% { opacity: 0 }
    100% { opacity: 0 }
}

@-ms-keyframes imageAnimation {
    0% { opacity: 0;
    -ms-animation-timing-function: ease-in; }
    8% { opacity: 1;
         -ms-animation-timing-function: ease-out; }
    17% { opacity: 1 }
    25% { opacity: 0 }
    100% { opacity: 0 }
}

@keyframes imageAnimation {
    0% { opacity: 0;
    animation-timing-function: ease-in; }
    8% { opacity: 1;
         animation-timing-function: ease-out; }
    17% { opacity: 1 }
    25% { opacity: 0 }
    100% { opacity: 0 }
}