高さと幅が固定されたメインDIVがあり、小さなDIVをたくさん自由に浮かせたいと思っています。メインのDIVに収まらないほど小さなDIVがあります。次に、デフォルトでは、メインDIVの外側にある小さなDIVdownが消えているようです。代わりに、右側に消えてほしい。
水平スクロールバーをトリガーしたいのですが、垂直スクロールバーはトリガーしません。
http://www.webmasterworld.com/forum83/8844.htm で説明されているように、これをwhite-space: nowrap
でテストしました。
また、メインDIVにテキストまたは画像しかない場合は完璧に機能します。
しかし、メインDIVに小さなDIVしか含まれていない場合はどうすればよいですか?
小さいdivを、メインdivよりも幅が広い3番目のdivでラップします。私があなたの質問を正しく理解したと仮定すると、jqueryは必要ありません。
<html>
<head>
<style type="text/css">
.div_1
{
height: 350px;
width: 350px;
margin: auto;
border: 1px black solid;
overflow-y: hidden;
overflow-x: scroll;
}
.div_3
{
float: left;
height: 350px;
width: 500px;
margin: auto;
border: 1px black solid;
overflow-y: hidden;
overflow-x: scroll;
}
.div_2
{
height: 100px;
width: 100px;
border: 1px solid #A2A2A2;
float: left;
}
</style>
</head>
<body>
<div class="div_1">
<div class="div_3">
<div class="div_2"></div>
<div class="div_2"></div>
<div class="div_2"></div>
<div class="div_2"></div>
<div class="div_2"></div>
<div class="div_2"></div>
<div class="div_2"></div>
<div class="div_2"></div>
<div class="div_2"></div>
<div class="div_2"></div>
<div class="div_2"></div>
<div class="div_2"></div>
</div>
</div>
</body>
</html>
私はjQuery、HTML、CSSを使用してこれを行いました:
<div id="overflow">
<div class="container">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
#overflow{
border: 1px solid #000;
height: 220px;
width: 220px;
overflow-x: scroll;
overflow-y: hidden;
}
#overflow .container div{
border: 1px solid #CCC;
float: left;
width: 200px;
height: 200px;
}
$(function(){
var width = 0;
$('#overflow .container div').each(function() {
width += $(this).outerWidth( true );
});
$('#overflow .container').css('width', width + "px");
alert(width);
});
});
基本的に、幅は親divから本質的に適用されるため、divはCSSで流動的な幅を使用できません。
いくつかのjQueryコードを使用すると、含まれているdivに幅を簡単に付加できます。
コンテナdivで固定幅を使用します。つまり#overflow .container { width : 1880px }