我想使用 1 个背景图像 (1366x768) 在多个 div 中使用。但如果我使用:
.my_divs{
background-image: url("image.jpg");
}
每个 div 上只有图像的左上角。我想使用基于 div 位置的图像部分。 我可以在 div 上使用透明度并将背景设置为
body
。
它会起作用,但就我而言,我已经将
background-image
用于 body
与另一张图像。
body{
background-image: url("another_image.jpg");
}
有没有办法“透视”
body
并显示html
背景图像?或者另一个 CSS 技巧?
编辑:添加简单示例
<style>
.mydivs{
padding:30px;
margin:30px;
background-image: url("2.jpg");
}
body{
background-image: url("1.jpg");
}
#container{
}
</style>
<body>
<div id='container'>
<div class='mydivs'>1</div>
<div class='mydivs'>2</div>
<div class='mydivs'>3</div>
</div>
</body>
我认为
background-attachment
属性可能适合你。
参见:http://www.w3.org/TR/CSS21/colors.html#background-properties
如果使用
background-attachment: fixed
,背景图像将固定为
尊重视口。因此,如果将其应用于多个元素,就好像通过页面上的“镜头”查看背景图像。
如果您的页面有垂直滚动条,那么背景图像将随着内容移动而保持固定(这可能不适合您的设计)。
.bgdeco {
width: 700px;
height: 100px;
margin: 30px;
border: 1px solid yellow;
background-image: url(http://placekitten.com/2000/700);
background-attachment: fixed;
background-position: top center;
}
<div class="bgdeco"></div>
<div class="bgdeco"></div>
<div class="bgdeco"></div>
HTML
<div id='container'>
<div id='divHead' class='mydivs'> </div>
<div id='divTorso' class='mydivs'> </div>
<div id='divLegs' class='mydivs'> </div>
</div>
CSS
#container {
background-image:url('myPic.jpg');
}
.mydivs {
background-color:transparent;
}
是的,您可以为任何 HTML 标签(包括正文)设置透明背景! 您可以通过多种方式实现您的目标..
background: none;
设置为
正文和所有前导标签background-image
添加到父 div 并
设置所有 chind div 的 background: none;
查看下面的示例
html, body {
padding: 0px;
margin: 0px;
}
body {
background: red;
}
#parent {
background: url('http://thumb7.shutterstock.com/display_pic_with_logo/996335/251280085/stock-vector-abstract-polygonal-space-low-poly-dark-background-with-connecting-dots-and-lines-connection-251280085.jpg');
background-size: cover;
margin: 10px;
padding: 10px;
display: block;
float: left;
}
.child {
display: block;
float: left;
width: 100px;
height: 100px;
font-size: 40px;
color: #fff;
border: 2px solid #ccc;
margin: 5px;
}
<div id="parent">
<div class="child">1</div>
<div class="child">2</div>
<div class="child">3</div>
<div class="child">4</div>
<div class="child">5</div>
<div class="child">6</div>
<div class="child">7</div>
</div>
这不一定是一个好的解决方案 - 但如何设置内部 div 的边框而不是边距:边框将不透明并覆盖背景图像,内部 div 将透明并显示背景图像。您可以在 vw 和 vh 中设置边框以使它们具有响应能力。
.inner-divs {
width: 20%;
height: 100%;
background-color: transparent;
border: rgb(255, 255, 255) solid 5vw;
}
您可以使用
background-position: xpos ypos;
调整图像的位置。