2

Web サイトに ResponsiveSlides スライダーがあり、前/次のナビゲーション矢印をスライダーの左右の端で垂直方向に中央に配置しようとしています。

現在、ブラウザのサイズを変更すると動き回り、右/次の矢印がスライダーの外側に数ピクセルぶら下がっているように見え、480px ブレークポイントの周りで奇妙なことが起こっています (480px より少し小さくすると、スライダーは下の列よりも少し幅が広く、また、矢印は画面のずっと下まで伸びています)。

ここで生で見れます

js

<script src="js/responsiveslides.min.js"></script>
    <script>
        $(function() {
            $("#slider").responsiveSlides({
               auto: true,
               pager: false,
               nav: true,
            });
        });
    </script>

html

<div class="section group">
                <div class="col span_3_of_3">
                    <ul id="slider">
                        <li id="1"><img src="assets/slider/buzz-covers.jpg" alt="buzz covers"></li>
                        <li id="2"><img src="assets/slider/slab-happy.png" alt="slab happy"></li>
                        <li id="3"><img src="assets/slider/gridbook.jpg" alt="gridbook"></li>
                        <li id="4"><img src="assets/slider/ninth-spread.jpg" alt="ninth letter"></li>
                        <li id="5"><img src="assets/slider/slinkster.jpg" alt="slinkster"></li>
                        <li id="6"><img src="assets/slider/buzz-spread.jpg" alt="buzz spread"></li>
                    </ul>
                </div>
            </div>

css (どのビットが私がやっていることに関連するのか正確にはわからないので、スタイルシートに関連するすべてのスライダーをここに示します)

.rslides {
  position: relative;
  list-style: none;
  overflow: hidden;
  width: 100%;
  padding: 0;
  margin: 1.5em 0 0 0;
  background-color: #f7f7f7;
  }

.rslides li {
  -webkit-backface-visibility: hidden;
  position: absolute;
  display: none;
  width: 100%;
  left: 0;
  top: 0;
  }

.rslides li:first-child {
  position: relative;
  display: block;
  float: left;
  }

.rslides img {
  display: block;
  height: auto;
  float: left;
  width: 100%;
  border: 0;
  }

.rslides1_nav {
  position: absolute;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  top: 50%;
  left: 0;
  z-index: 99;
  opacity: 0.7;
  text-indent: -9999px;
  overflow: hidden;
  text-decoration: none;
  height: 61px;
  width: 38px;
  background: transparent url("themes.gif") no-repeat left top;
  margin-top: -45px;
  }

.rslides1_nav:active {
  opacity: 1.0;
  }

.rslides1_nav.next {
  left: auto;
  background-position: right top;
  right: 0;
  }

.rslides1_nav:focus {
  outline: none;
  }

.rslides_tabs {
  margin-top: 10px;
  text-align: center;
  }

.rslides_tabs li {
  display: inline;
  float: none;
  _float: left;
  *float: left;
  margin-right: 5px;
  }

.rslides_tabs a {
  text-indent: -9999px;
  overflow: hidden;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
  background: #ccc;
  background: rgba(0,0,0, .2);
  display: inline-block;
  _display: block;
  *display: block;
  -webkit-box-shadow: inset 0 0 2px 0 rgba(0,0,0,.3);
  -moz-box-shadow: inset 0 0 2px 0 rgba(0,0,0,.3);
  box-shadow: inset 0 0 2px 0 rgba(0,0,0,.3);
  width: 9px;
  height: 9px;
  }

.rslides_tabs .rslides_here a {
  background: #222;
  background: rgba(0,0,0, .8);
  }
4

3 に答える 3

2

絶対配置要素は、静的以外の位置を持つ最初の親要素を基準にして配置されます。

ナビゲーション要素には絶対配置が与えられます。それを機能させるには、他の回答が示唆するように、コンテナの位置プロパティを静的以外に設定する必要があります。

于 2014-03-08T08:04:08.063 に答える