3

我在具有动态加载内容的网页上有一个 DIV。如果内容太长(或浏览器窗口被用户缩小),DIV 上会出现一个垂直滚动条。当然,DIV 的宽度会缩小以适应滚动条。到目前为止一切正常。

有没有办法为滚动条保留空间,这样无论滚动条的可见性如何,内容的宽度都不会改变?理想情况下只使用 CSS。

在 IE8+ 和最新的 Chrome、FF、Safari、Android、OSi 中工作

http://jsfiddle.net/spiderplant0/VUhDt/

#content{
    position: absolute;
    left:10px; top:10px; bottom:10px;
    width: 150px;
    background: yellow;
    overflow: auto;
}
4

2 回答 2

2

不确定这是否正是您想要的,但您可以将 div 放入容器中并将包含的 div 设置为溢出:自动吗?例如。

CSS:

#container {
  position: absolute;
  left:10px; top:10px; bottom:10px;
  overflow: auto;
  width: 170px;
  background: blue;
}

#content {
  width: 150px;
  background: yellow;
  overflow: none;
}

HTML:
<div id="container">
  <div id="content">
    Content here
  </div>
</div>

这里的js小提琴示例:http: //jsfiddle.net/SC3bg/

于 2013-04-19T16:07:40.413 回答
0

You actually can use this Javascript code to detect if the div height is "higher" than the clientHeight :

div = document.getElementById('content');
var hasVerticalScrollbar = div.scrollHeight>div.clientHeight;

And then do whatever you want with this boolean (Edit CSS width according to it ...), I don't know any CSS rule which could responds your need

于 2013-04-19T15:56:22.267 回答