設計中の Web ページにレスポンシブ カルーセルを自分で実装しようとしています。スクリーンショットで説明するのが何千倍も簡単な問題がいくつかあるので、ここに示します。
ご覧のとおり、アイテムをスライスするための 2 つの矢印と、水平スクロールバーがあります。
矢印はそれぞれ左と右に浮かんでおり、アイテムはコンテナーinline-block
内の divdiv.items
であり、幅は 90% (およびオーバーフロー x: スクロールまたはコース) です。
SO今、DOMに別のアイテムを追加すると、これで終わります:
4 番目の項目が下に移動したのはなぜですか? 私はアイテムを浮かせていません。水平スクロールを指定したので、それが後ろにあり、スクロールバーで見ることができると思います。
私は何が欠けていますか?
関連するコードを貼り付けます:
HTML:
<div class="grid">
<div class="left-arrow"></div>
<div class="items">
<div class="item">...</div>
<div class="item">...</div>
<div class="item">...</div>
<div class="item">...</div>
</div>
<div class="right-arrow"></div>
</div>
CSS:
div.grid {
margin-top: 20px;
padding: 10px 75px;
text-align: center;
z-index: 1000;
}
div.grid .left-arrow, div.grid .right-arrow {
position: relative;
top: 70px;
}
div.grid .left-arrow {
float: left;
width: 0;
height: 0;
margin: 0 30px 0 -50px;
border-top: 50px solid transparent;
border-bottom: 50px solid transparent;
border-right: 35px solid #ddd;
}
div.grid .right-arrow {
float: right;
width: 0;
height: 0;
margin: 0 -50px 0 30px;
border-top: 50px solid transparent;
border-bottom: 50px solid transparent;
border-left: 35px solid #ddd;
}
div.items {
display: inline-block;
z-index: 100;
width: 90%;
overflow-x: scroll;
}
div.item {
margin: 10px;
display: inline-block;
position: relative;
left: 0;
}
編集: Oreilly はまさに私が達成したいと思っているものを持っています:
http://shop.oreilly.com/category/browse-subjects/programming.do