CSS样式新手。我的页面上有一个响应式背景图像,我想在它的底部中心放置一个圆形徽标。我希望这个图像保持在相同的位置(相对于背景图像的底部),无论视图有多小/多。
我一直在玩图像填充和定位,但都没有响应。屏幕较小时,图像向上移动。当它变大时,图像向下移动。我希望它保持在同一个位置。
这是我最近尝试的一个简单的小提示:
https://jsfiddle.net/ybeuvn9m/
代码:
<div class="container-fluid">
<div class="row">
<div class="splash col-sm-12">
<div class="photo">
<img class="img-responsive img-circle logo" src="http://i.imgur.com/Dum5A8J.png">
</div>
</div>
</div>
</div>
.logo {
padding-top: 200px;
width: 10%;
margin: 0 auto;
display: block;
}
.splash {
background: url('http://s169923.gridserver.com/images/IntelligentsiaMocha.jpg');
background-repeat: no-repeat;
background-size: cover;
height: 50vh;
background-color: rgba(0, 0, 0, 0.2);
background-blend-mode: overlay;
}
答案 0 :(得分:2)
您可能希望将其绝对放置在主图像div中。这是您的JSFiddle的修改版本:https://jsfiddle.net/jameson5555/ybeuvn9m/1/
以下是更新的.logo样式。您还需要将position: relative
添加到容器中,以使.logo的位置相对于它。
.logo {
position: absolute;
bottom: 0;
left: 50%;
width: 40px;
margin-left: -20px;
display: block;
}
答案 1 :(得分:2)
如果我理解正确,您希望.photo始终位于.splash的中心。为此,您应该使用Flex-box。
将以下内容添加到您的代码中:
.parentDiv{
display: flex;
justify-content: center;
align-items: center:
}
https://css-tricks.com/snippets/css/a-guide-to-flexbox/ ...供参考。
答案 2 :(得分:0)
.logo {
padding-top: 150px;
width: 110px;
margin: 0 auto;
display: block;
}
您的徽标应具有恒定的徽标宽度。