Boostrap:重新调整大小时,如何在图像上“粘贴”按钮

时间:2016-02-26 08:39:37

标签: html css twitter-bootstrap twitter-bootstrap-3

我有一个图像,我需要按一个按钮,问题是我不知道如何放置按钮并在浏览器变小时自动重新调整大小和位置,现在我有了按钮就位,但当我重新调整浏览器的大小按钮移动时,我尝试使用css中的百分比购买不起作用,我该怎么办?

<div id="discover" class="container-fluid">
<div class="row-fluid"> 
  <div class="col-lg-12 col-sm-12 col-xs-12 col-md-12 withimg">
    <img id="discoveryour" src="img/x.png" class="img-responsive">
  </div>  
</div>
<div class="row-fluid"> 
  <div id="bttnimg" class="col-lg-12 col-sm-12 col-xs-12 col-md-12">
<form id="start" method="post" action="x.php">
<button class="btn-primary">text</button>
</form> 
</div>
</div>
</div> 

的CSS:

  .withimg {
  width: 100%;
  overflow:hidden;
  padding: 0px;
  margin: 0px;
 }

  #discover{
  position: relative;  
 }

#bttnimg{
float: left;
position: absolute;
left: 62%;
top: 25%;
max-width: 750px;

 }

2 个答案:

答案 0 :(得分:20)

啊,好的旧“如何在响应式图像上叠加东西 - 响应”问题。

有点棘手,但不是太糟糕。棘手的一点是如何在图像大小改变时使 stuff的垂直位置响应。

不要害怕,这是一个简单的方法:

responsive image with button

HTML:

<div class="img-wrapper">
    <img class="img-responsive" src="http://lorempixel.com/output/people-q-c-1200-400-4.jpg">
    <div class="img-overlay">
      <button class="btn btn-md btn-success">Button</button>
    </div>
</div>

CSS:

.img-wrapper {
  position: relative;
 }

.img-responsive {
  width: 100%;
  height: auto;
}

.img-overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
}

.img-overlay:before {
  content: ' ';
  display: block;
  /* adjust 'height' to position overlay content vertically */
  height: 50%;
}

img-overlay:before伪类通过从图像顶部向下推img-overlay div来处理垂直定位作业。在此示例中,按钮的顶部将始终为图像的50%(如果您希望按钮更高或更低,请更改height: 50%属性。)

jsfiddle

要使按钮 size 响应窗口宽度,您可以为按钮创建一个新类。我们称之为btn-responsive(这取代了上面示例中的btn-md)。然后使用@media查询调整不同窗口宽度的btn-responsive属性。像这样:

.btn-responsive {
  /* matches 'btn-md' */
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}

@media (max-width:760px) { 
    /* matches 'btn-xs' */
    .btn-responsive {
        padding: 1px 5px;
        font-size: 12px;
        line-height: 1.5;
        border-radius: 3px;
    }
}
其他屏幕宽度

等等。

答案 1 :(得分:0)

我不得不问是否有可能将表格标签换成另一个DIV?然后,您只需使用position: absolute按钮即可。我创建了小提琴来展示https://jsfiddle.net/1x1pjwk7/