0

ここにこの非常に単純なスライドショーがあります: http://jsfiddle.net/Jtec5/11/
コードは次のとおりです:
HTML:

<div id="slideshow">
   <div>
     <img src="http://i.imgur.com/M0US5a4.jpg">
   </div>
   <div>
     <img src="http://i.imgur.com/Akqe7Hm.png">
   </div>
   <div>
     <img src="http://i.imgur.com/X2IfizW.jpg">
   </div>
</div>

CSS:

#slideshow { 
    margin: 50px auto; 
    position: relative; 
    width: 500px; 
    height: 300px; 
    padding: 10px; 
    box-shadow: 0 0 20px rgba(0,0,0,0.4); 
}

#slideshow > div { 
    position: absolute; 
    top: 10px; 
    left: 10px; 
    right: 10px; 
    bottom: 10px; 
}

Jクエリ:

$("#slideshow > div:gt(0)").hide();

setInterval(function() { 
  $('#slideshow > div:first')
    .fadeOut(1000)
    .next()
    .fadeIn(1000)
    .end()
    .appendTo('#slideshow');
},  3000);

スライドショーでわかるように、写真は非常に幅が広​​く、幅と高さが大きく、スライドショー ボックスのフレームから外れています。写真をカットしてスライドショーボックスのフレームに正確に収まるようにするコードを追加しようとしています。たとえば、写真は次のようになります
ここに画像の説明を入力
。私は欲しい。width: autoheight: auto

4

1 に答える 1

3

オーバーフロー非表示を追加するだけです

#slideshow > div {
    ...
    overflow:hidden;
    ...
}

フィドル

アップデート

OPリクエストに応じて「」

まず、img タグを div に変更する必要があります

<div id="slideshow">
   <div>
     <div class="imgLike" style="background-image: url('http://farm6.static.flickr.com/5224/5658667829_2bb7d42a9c_m.jpg'); background-position:center; "></div>
   </div>
   </div>
   <div>
    <div class="imgLike" style="background-image: url('http://farm6.static.flickr.com/5230/5638093881_a791e4f819_m.jpg'); background-position:center; "></div>
   </div>
   <div>
       <div class="imgLike" style="background-image: url('http://gillespaquette.ca/images/stack-icon.png'); background-position:center; "></div>
   </div>
</div>

次にこのクラスが必要になります

.imgLike {
    width:100%;
    height:100%;
}

新しいフィドル

background-positionプロパティを使用すると、画像を数値で中央揃えまたはオフセットできます

于 2013-08-15T09:49:30.850 に答える