【发布时间】:2017-07-08 20:27:55
【问题描述】:
我的 CSS 代码似乎有问题。我想在页面width 和height 的100% 有一个背景图像,然后战略性地将其他图像放置在背景图像的顶部。我遇到的问题是,当我绝对将图像放在顶部时,除非我指定背景图像的实际高度,否则实际图像不会显示在背景中。任何人都可以建议一种方法来实际指定背景图像的高度吗?
#map {
background-image: url("images/middleearth_map.png");
background-repeat: no-repeat;
background-size: 100% 100%;
}
#registermap {
position: absolute;
top: 5%;
right: 2%;
}
#gollum {
position: absolute;
top: 40%;
right: 15%;
}
#playtrailer {
position: absolute;
top: 30%;
left: 0%;
}
<div id="map">
<div id="registermap">
<a href="register.html">
<img src="images/middle-earth_map1.png" alt="Registration Link" class="wobble" />
</a>
</div>
<div id="gollum">
<a href="cast.html">
<img src="images/gollum.png" alt="Cast and Crew Link" class="wobble" />
</a>
</div>
<div id="playtrailer">
<a href="trailer.html">
<img src="images/play_button.png" alt="Movie Trailer Link" class="wobble" />
</a>
</div>
</div>
【问题讨论】:
-
能否上传演示图片?
-
“我想要一个 100% 的页面宽度和高度的背景图片” - 真的吗?您知道这会拉伸图像,而忽略其原始纵横比吗?对于某种地图来说,这是一个相当奇怪的需求。另外,它产生很多您正在处理的问题 - 您的绝对元素位置取决于视口,因此它们不会经历与扭曲地图上的“元素”相同的转置.我认为您将需要选择背景大小
contain或cover,在这之前甚至允许中途微不足道的解决方案。