我将background-size: cover
用于移动屏幕尺寸。
但是,对于台式机,如果我使用background-size: cover
,则在图像中看不到猫。因为图像的原始尺寸是高度比宽度长得多。
所以,我只想重复图像中没有猫出现的部分。但是,如果我使用background-size: contain
和background-repeat: repeat-x
,则会看到以下内容:
我想做的事情如下:
(仅重复左右不出现猫的部分。)
我在Google上搜索了很多,并阅读了StackOverflow中的几篇文章。但是,我找不到想要的答案。如果您能给我任何建议,我将不胜感激!
*以下是图片的链接:
-[1st] https://postimg.cc/image/6pku8wgcr/
-[2nd] https://postimg.cc/image/rz8gjr4d7/
-[原始猫的背景] https://postimg.cc/image/hcenege97/
答案 0 :(得分:3)
想法是在彼此之间使用多个背景来模拟这种效果:
body {
margin:0;
min-height:500px;
height:100vh;
background:
/*the main background*/
url(https://picsum.photos/3744/5616?image=742) center,
/*repeat the left part*/
url(https://picsum.photos/3744/5616?image=742) 40% 50%,
url(https://picsum.photos/3744/5616?image=742) 30% 50%,
url(https://picsum.photos/3744/5616?image=742) 20% 50%,
url(https://picsum.photos/3744/5616?image=742) 10% 50%,
url(https://picsum.photos/3744/5616?image=742) 0% 50%,
/*repeat the right part*/
url(https://picsum.photos/3744/5616?image=742) 60% 50%,
url(https://picsum.photos/3744/5616?image=742) 70% 50%,
url(https://picsum.photos/3744/5616?image=742) 80% 50%,
url(https://picsum.photos/3744/5616?image=742) 90% 50%,
url(https://picsum.photos/3744/5616?image=742) 100% 50%;
background-repeat:no-repeat;
background-size:contain;
}
根据图像,您可以调整百分比和背景数量以控制重复。这是对第一个代码的改进,它通过减少重复步骤来隐藏左侧不需要的部分:
在全屏模式下运行并与之前的代码进行比较
body {
margin:0;
min-height:500px;
height:100vh;
background:
/*the main background*/
url(https://picsum.photos/3744/5616?image=742) center,
/*repeat the left part more than the right*/
url(https://picsum.photos/3744/5616?image=742) 45% 50%,
url(https://picsum.photos/3744/5616?image=742) 40% 50%,
url(https://picsum.photos/3744/5616?image=742) 35% 50%,
url(https://picsum.photos/3744/5616?image=742) 30% 50%,
url(https://picsum.photos/3744/5616?image=742) 25% 50%,
url(https://picsum.photos/3744/5616?image=742) 20% 50%,
url(https://picsum.photos/3744/5616?image=742) 15% 50%,
url(https://picsum.photos/3744/5616?image=742) 10% 50%,
url(https://picsum.photos/3744/5616?image=742) 5% 50%,
url(https://picsum.photos/3744/5616?image=742) 0% 50%,
/*repeat the right part*/
url(https://picsum.photos/3744/5616?image=742) 60% 50%,
url(https://picsum.photos/3744/5616?image=742) 70% 50%,
url(https://picsum.photos/3744/5616?image=742) 80% 50%,
url(https://picsum.photos/3744/5616?image=742) 90% 50%,
url(https://picsum.photos/3744/5616?image=742) 100% 50%;
background-repeat:no-repeat;
background-size:contain;
}
更新
以下是图片的代码:
body {
margin:0;
min-height:500px;
height:100vh;
background:
/*the main background*/
url(https://i.stack.imgur.com/76q2w.png) center,
/*repeat the left part*/
url(https://i.stack.imgur.com/76q2w.png) 40% 50%,
url(https://i.stack.imgur.com/76q2w.png) 30% 50%,
url(https://i.stack.imgur.com/76q2w.png) 20% 50%,
url(https://i.stack.imgur.com/76q2w.png) 10% 50%,
url(https://i.stack.imgur.com/76q2w.png) 0% 50%,
/*repeat the right part*/
url(https://i.stack.imgur.com/76q2w.png) 60% 50%,
url(https://i.stack.imgur.com/76q2w.png) 70% 50%,
url(https://i.stack.imgur.com/76q2w.png) 80% 50%,
url(https://i.stack.imgur.com/76q2w.png) 90% 50%,
url(https://i.stack.imgur.com/76q2w.png) 100% 50%;
background-repeat:no-repeat;
background-size:contain;
}
答案 1 :(得分:1)
也可以使用渐变来绘制不应重复图像的区域。
html {
min-height:100vh;
background-image:
url(https://s25.postimg.cc/kw0l49gz3/original.png),
linear-gradient(to top, rgb(116, 164, 61) 27.5%, gray 27.5%, gray 27.6%, rgb(67, 97, 32) 27.6%);
background-position:center center;
background-repeat:no-repeat;
background-size: auto 100%;
}
图像本身的
部分可以使用,如果可以匹配,可以拉伸。
html {
min-height:100vh;
background-image:
url(https://s25.postimg.cc/kw0l49gz3/original.png),
url(https://s25.postimg.cc/kw0l49gz3/original.png );
background-position:center center, 10% center ;
background-repeat:no-repeat;
background-size: auto 100%, 2000% 100%;/* stretch part of image behind the other one with a hudge value*/
}