css 多个背景,仅重复一个背景
Multiple background with css, repeat only one background
需要有关 CSS 背景重复的帮助。以下是我要实现的功能的 wire-frame。
当前代码:
HTML:
<div class="wrapper">
<div class="container"></div>
</div>
CSS:
.container{
min-height: 10000px;
background-image: url(background1.png), url(background2.png);
background-repeat: no-repeat, repeat-y;
background-position: center top, center 1000px;
}
当前代码仅显示一次background1 并根据需要重复background2,但background2 图像从页面顶部开始。我希望它恰好在 background1 图像结束后开始,如线框所示。
注意:图像 background1 和 background2 中都有透明形状,这使得另一个图像在背景中可见。
如果您将背景设置为重复,则不能限制 (AFAIK)
解决方法是限制在一个伪元素上,然后把这个伪元素限制在你想要的地方(带顶属性)
.test {
width: 300px;
height: 600px;
border: solid black 1px;
position: relative;
}
.test:after {
content: "";
position: absolute;
width: 100%;
height: 100%;
top: 200px;
background-image: url(http://placekitten.com/g/600/400);
background-repeat-y: repeat;
}
<div class="test"></div>
请注意,100% 的高度并不准确,如果您希望它准确,请将其设置为您的尺寸
需要有关 CSS 背景重复的帮助。以下是我要实现的功能的 wire-frame。
当前代码:
HTML:
<div class="wrapper">
<div class="container"></div>
</div>
CSS:
.container{
min-height: 10000px;
background-image: url(background1.png), url(background2.png);
background-repeat: no-repeat, repeat-y;
background-position: center top, center 1000px;
}
当前代码仅显示一次background1 并根据需要重复background2,但background2 图像从页面顶部开始。我希望它恰好在 background1 图像结束后开始,如线框所示。
注意:图像 background1 和 background2 中都有透明形状,这使得另一个图像在背景中可见。
如果您将背景设置为重复,则不能限制 (AFAIK)
解决方法是限制在一个伪元素上,然后把这个伪元素限制在你想要的地方(带顶属性)
.test {
width: 300px;
height: 600px;
border: solid black 1px;
position: relative;
}
.test:after {
content: "";
position: absolute;
width: 100%;
height: 100%;
top: 200px;
background-image: url(http://placekitten.com/g/600/400);
background-repeat-y: repeat;
}
<div class="test"></div>
请注意,100% 的高度并不准确,如果您希望它准确,请将其设置为您的尺寸