定位图像与背景图像的关系

时间:2016-02-25 22:44:43

标签: html css

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;
}

3 个答案:

答案 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;
      }

您的徽标应具有恒定的徽标宽度。