自分の質問に答えるには(しかし、まだ代替案を探しています)、100%幅の "検出器"を使って差を計算してから、サイズを変更してください。私はこの問題を解決するためにJavascriptを使用して私の場合は問題ではありませんが、これはあなたがあなた自身のウェブサイトをスタイルする方法はおそらくないが、言ったように:)
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<style type="text/css">
#outer {
display: inline-block;
width: 200px;
height: 100px;
overflow: auto;
}
.detector {
width: 100%;
height: 0px;
}
.entry {
display: inline-block;
width: 200px;
}
</style>
<script type="text/javascript">
$(document).ready(function() {
var outer = $("#outer");
var detector = $("#outer .detector");
var scrollsize = 200 - detector.width();
outer.width(200 + scrollsize);
});
</script>
</head>
<body>
<div id="outer">
<div class="detector">
</div>
<div class="entry">
I'm a short entry
</div>
<div class="entry">
I'm an entry div but I'm very, very, very, very, very, very, very, very, very, very long
</div>
<div class="entry">
I'm an entry div but I'm very, very, very, very, very, very, very, very, very, very long
I'm an entry div but I'm very, very, very, very, very, very, very, very, very, very long
</div>
</div>
</body>
</html>
これは(その意志利用可能なスペースの間の差を計算します「200」)と「検出器」(例えば185px)によって使用された空間が表示されます。つまり、スクロールバーのサイズは15pxです。広い15ピクセル#outer作ること
隠された私は、それが唯一のCSS3だと思います。 –
とにかく試してみてください。 –