我正在尝试创建一个需要水平居中的图像滑块。为了使height
正常工作,我需要将滑块的position
设置为absolute
。为了使滑块居中,我尝试将左右设置为自动,如下所示。
#slider{
position: absolute;
width:80%;
height:50%;
left:auto;
right:auto;
}
但这不起作用。 我添加了一个代码片段,您可以在其中查看其余代码。
有人还可以告诉我为什么height
在没有position:absolute;
$(document).ready(function(){
$('.active').css('display','inline')
});
body{
margin: 0px;
}
#slider{
position:absolute;
width:80%;
height:50%;
left:auto;
right:auto;
}
#slider img{
width:100%;
height:100%;
position: absolute;
z-index: -5;
}
.active{
z-index: 1;
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="slider">
<img src="http://icanbecreative.com/res/AbstractBg/green_abstract-wide.jpg" data-slide="1" class="active"/>
<img src="http://www.hdwallpapers3d.com/wp-content/uploads/2013/05 /3d-abstract-hd-wallpaper.jpg" data-slide="2"/>
<img src="http://freewallpaperspot.com/wallpapers/abstract-wallpaper-hd-3.jpg" data-slide="3"/>
</div>
答案 0 :(得分:2)
添加此项会将其水平对齐
#slider {
position: absolute;
width: 80%;
height: 50%;
left: 50%;
transform: translatex(-50%);
}
答案 1 :(得分:1)
如果您希望将其置于position:absolute
的中心位置,只需添加
left: 50%;
margin-left: -50% of container width
这是居中元素的典型方式,但请记住该位置:绝对值将根据最近的父级非静态位置进行计算
答案 2 :(得分:-3)
您要求将滑块absolute
定位(即使用手动坐标),然后您抱怨它不能自动定位?嗯。 : - )
将其设为position: relative
。