我正在努力解决这个问题:
我正在使用Twitter Bootstrap进行响应式设计。有一张大图片作为主要内容的响应背景图片(定位为“相对”),还有几张图片作为导航器 - 他们的位置非常随机(没有网格或类似的东西) :
HTML
<div class="container">
<div class="row-fluid">
<div class="span12">
<div id="LARGE_PICTURE">
<img src="img/LARGE_PICTURE.png">
<a href="#">
<img id="SMALL_PICTURE_1" src="SMALL_PICTURE_1.png">
</a>
<a href="#">
<img id="SMALL_PICTURE_2"src="SMALL_PICTURE_2.png">
</a>
<a href="#">
<img id="SMALL_PICTURE_3" src="SMALL_PICTURE_3.png">
</a>
<a href="#">
<img id="SMALL_PICTURE_4" src="SMALL_PICTURE_4.png">
</a>
</div>
</div>
</div>
</div>
CSS
@import url('css/bootstrap.css');
@import url('css/bootstrap-responsive.css');
.container {
background-image: url("img/bg.png");
}
#LARGE_PICTURE {
position: relative;
}
#SMALL_PICTURE_1 {
position:absolute;
left:21%;
top:24%;
}
#SMALL_PICTURE_2 {
position:absolute;
left:30%;
top:13%;
}
#SMALL_PICTURE_3 {
position:absolute;
left:48%;
top:26%;
}
#SMALL_PICTURE_4 {
position:absolute;
left:63%;
top:16%;
}
大图完美无缺 - 它具有响应性。但有一些简单的方法如何使较小的图片响应?它们的大小现在根据屏幕分辨率而变化......非常感谢您的一些提示!
答案 0 :(得分:1)
绝对位置+响应=头痛。
您需要做的是为每个媒体查询重新设置所有#SMALL_PICTURE_X {}。
此外,您的html设计会失败,因为您定位的是锚点中包含的图像但不使用实际的锚标记。
要了解引导网格系统,您可以转到to v3 documentation或v2 documentation。
我认为你的情况是版本2所以你必须做这样的事情:
/* Large desktop */
@media (min-width: 1200px) {
#SMALL_PICTURE_1 {
position:absolute;
left:21%;
top:24%;
width:SET_A_WIDTH;
height:SET_A_HEIGHT;
}
#SMALL_PICTURE_2 {
position:absolute;
left:30%;
top:13%;
width:SET_A_WIDTH;
height:SET_A_HEIGHT;
}
#SMALL_PICTURE_3 {
position:absolute;
left:48%;
top:26%;
width:SET_A_WIDTH;
height:SET_A_HEIGHT;
}
#SMALL_PICTURE_4 {
position:absolute;
left:63%;
top:16%;
width:SET_A_WIDTH;
height:SET_A_HEIGHT;
}
}
/* Portrait tablet to landscape and desktop */
@media (min-width: 768px) and (max-width: 979px) {
#REPEAT_WHAT'S_BEEN_DONE_PREVIOUSLY {
/* BY_POSITIONNING and SETTING_HEIGHT_AND_WIDTH */
}
/* Landscape phone to portrait tablet */
@media (max-width: 767px) { ... }
/* Landscape phones and down */
@media (max-width: 480px) { ... }