Nordax Nordax - 2 months ago 12
CSS Question

positioning navigation buttons on an image slider

I would like to position navigation buttons on an image slider and I want to be responsive. I tried doing that, but it only works if I set top position in pixels not in percentages. setting it in pixels isn't responsive.

<div id="container">
<header>
header is here
</header>
<div id="carousel">
<div class="sliderbuttons">
<input type="button" name="next" id="next" value=" > ">
<input type="button" name="next" id="prev" value=" < ">
</div>
<div class="slides">
<img src="http://www.planwallpaper.com/static/images/4-Nature-Wallpapers-2014-1_ukaavUI.jpg" alt="image1" class="slide active">
<img src="http://www.mrwallpaper.com/wallpapers/green-Rice-1600x900.jpg" alt="image2" class="slide">
<img src="http://cdn.wonderfulengineering.com/wp-content/uploads/2016/01/nature-wallpapers-10.jpg" alt="image3" class="slide">
</div>


</div>

</div>


CSS

*{
box-sizing: border-box;
}

#container {
width: 90%;
margin: 0 auto;
}

header {
background: black;
height: 20px;
padding: 1.5em;
color: white;
}

#carousel {
position: relative;
margin: 0 auto;
width: 45%;
background-color: #f4f4f4;
margin-top: 15px;
min-height: 100%;

}

.slide {
position: absolute;
max-width: 100%;

}
.sliderbuttons {
}

#prev,#next {
position: absolute;
background-color: rgba(255, 148, 41, 0.68);
box-shadow: 2px white;
border:none;
font-size: 2em;
color: white;
font-weight: bold;
/* font-family: 'Baloo Tamma', cursive;
*/ padding:10px;
top:45%;
width: 10%;
/*making the prev,next on top of content*/
z-index: 20;
}
#prev {
left:0;
}
#next {
right:0;
}

.active {
z-index: 10;
}


Here is what I have tried so far. https://jsfiddle.net/w5xm37y4/1/

Answer

If you want to set position in percentages, you have to define percentage for the parent element. So try to add

html, body { height: 100%; position: relative; }

and height: 100% on #container too. I think (and hope !) it can help you.

(Sorry for my awful english)