我正在研究一个简单的图像滑块,它有一个具有固定宽度的主容器,然后是另一个用于控制滑块移动的div。
它工作正常,但我想将div(与slide
类)对齐,并且溢出的div应该移到一边,而不是“掉下来”。
我在容器上使用了overflow:hidden
属性并认为它应该可以工作,并且溢出的div应该在两侧但是由于某种原因它们会继续掉下来。
这是我的笔:
http://codepen.io/anon/pen/xOZVPL
他们的jQuery代码与当前问题无关,所以请忽略它。 我将不胜感激任何帮助!
答案 0 :(得分:1)
如果您将宽度 浮动属性添加到#sliding,该怎么办?
#sliding
{
width: 1200px;
position: relative;
margin: 0;
float: left;
left: 0;
transition:all 0.5s linear;
}
你可能需要在这里和那里做一些额外的CSS更改。但这使得圈子在一条线上。
第二个选项是将 white-space:nowrap; 添加到.slider类
.slider {
white-space: nowrap;
text-align:center;
direction: rtl;
width:1000px;
border:2px solid;
height:160px;
position:relative;
margin:0 auto;
overflow:hidden;
}
您可以在此处找到有关空白区域的更多信息:http://www.w3schools.com/cssref/pr_text_white-space.asp
答案 1 :(得分:0)
您需要在具有white-space: nowrap
的元素上添加overflow: hidden
,以防止其内容环绕到下一行。
overflow: hidden
只会抑制容器外部分的显示,但不会阻止内容环绕。
$(document).ready(function() {
var index = Math.floor($(".slide").length / 2);
$('.slide').eq(index).addClass("focus");
$("#right").click(function() {
$('.slide').eq(index).removeClass("focus");
index--;
$('.slide').eq(index).addClass("focus");
$("#sliding").css({
left: $("#sliding").position().left - 144 + "px"
});
});
$("#left").click(function() {
$('.slide').eq(index).removeClass("focus");
index++;
$('.slide').eq(index).addClass("focus");
$("#sliding").css({
left: $("#sliding").position().left + 144 + "px"
});
});
});

* {
margin: 0;
padding: 0;
}
.slider {
text-align: center;
direction: rtl;
width: 1000px;
border: 2px solid;
height: 160px;
position: relative;
margin: 0 auto;
overflow: hidden;
white-space: nowrap;
}
#sliding {
position: relative;
margin: 0;
left: 0;
transition: all 0.5s linear;
}
.slide {
transition: all 0.6s ease;
border: 1px solid;
border-radius: 50%;
width: 120px;
height: 120px;
margin: 8px;
background-repeat: no-repeat;
background-position: 50%;
display: inline-block;
background: url(http://i.imgur.com/heDRFUE.jpg);
box-shadow: 0 0 8px rgba(0, 0, 0, .8);
-webkit-filter: brightness(50%);
-webkit-box-shadow: 0 0 8px rgba(0, 0, 0, .8);
-moz-box-shadow: 0 0 8px rgba(0, 0, 0, .8);
}
.focus {
-webkit-filter: brightness(110%);
transform: scale(1.2);
z-index: 10;
position: relative;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="slider">
<div id="sliding">
<div class="slide"></div>
<div class="slide"></div>
<div class="slide"></div>
<div class="slide"></div>
<div class="slide"></div>
<div class="slide"></div>
<div class="slide"></div>
<div class="slide"></div>
</div>
</div>
</br>
<center>
<button id="right">slide right</button>
</center>
<center>
<button id="left">slide left</button>
</center>
&#13;