我正在尝试将响应的绝对定位图像放在相对div中。我已将边界放置在两次潜水周围以显示问题。右边的那个不包裹。另外,我想将图像导航保留在图像的中间。
主要目标是保持包装div响应和包装图像的大小 - 当图像大小在窗口调整大小时更改。
您可以在此处查看codepen中的问题 - http://codepen.io/GlupiJas/pen/PwrLbb
advert.css
body{
}
.wrapper{
width: 80%;
margin: 100px auto;
}
.advert{
position: relative;
height: 100%;
}
.advert img{
position: absolute;
}
.advert button{
position: absolute;
visibility: hidden;
}
.advert:hover button{
visibility: visible;
}
.advert button#advertCloseButton{
top: 0px;
right: 0px;
}
.advert button#advertNextButton{
bottom:50%;
left:0px;
}
.advert button#advertPreviousButton{
bottom:50%;
right:0px;
}
.advert button#advertStopButton{
bottom:0px;
right:0px;
}
.advert button#advertPlayButton{
bottom:0px;
right:0px;
}
.border{
border: 1px solid gray;
}
的index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Title of the document</title>
<!-- jQuery -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<!-- Bootstarp 3 Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<!-- Bootstarp 3 Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">
<!-- Bootstarp 3 Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<!-- custom css -->
<link rel="stylesheet" type="text/css" href="advert.css">
<script src="js/advert.js"></script>
</head>
<body>
<div class="wrapper">
<div class="row">
<div class="col-xs-12 col-md-8 border">
.col-xs-12 .col-md-8
</div>
<div class="col-xs-12 col-md-4 border">
<div class="advert">
<img class="img-responsive" src="http://placehold.it/300x300.jpg" alt="Smiley face" height="" width="100%">
<img class="img-responsive" src="http://placehold.it/300x300.jpg" alt="Smiley face" height="" width="100%">
<img class="img-responsive" src="http://placehold.it/300x300.jpg" alt="Smiley face" height="" width="100%">
<button id="advertCloseButton" type="button" class="btn btn-danger">X</button>
<button id="advertNextButton" type="button" class="btn btn-danger">></button>
<button id="advertPreviousButton" type="button" class="btn btn-danger"><</button>
<button id="advertStopButton" type="button" class="btn btn-danger">pause</button>
<button id="advertPlayButton" type="button" class="btn btn-danger">play</button>
</div>
</div>
</div>
</div>
</body>
<script>
$(function(){
advert({
closeButton: true,
navButton: true,
timeToShow: 100,
timeDelay: 1000,
timeToFade: 100
});
});
</script>
</html>
答案 0 :(得分:0)
我很快就嘲笑了一个演示,但你遇到的问题更多是因为你添加了很多div(一个为边框增加了一个div而另一些则不需要 - 所以我必须设置高度:每个100%其中之一)并没有为所有图像和按钮的容器设置高度。
当然,如果容器设置了高度,并且确保您的播放按钮包含在同一个div中,position:relative;
对其子级position:absolute;
将起作用。
在这个演示中,我快速将所有父容器的高度设置为高度:100%;向您展示高度如何影响问题。
注意要让height:100%
正常工作,每个家长需要拥有一个高度固定的设置,或者每个家长需要从html开始,身体需要有100%的高度。
如果您向容器添加固定高度,或者将html,body设置为100%高度,然后确保所有子项都有100%,则可以解决您的问题。