2012-01-05 59 views
3

当垂直滚动条被隐藏时,我有一个固定宽度的3列css布局工作良好,但垂直滚动条出现时它会立即中断。当滚动条可见时页面布局会中断 - 是否有CSS修复?

我有2个问题,

  1. 我可以处理滚动条为定义的z-index使它在正确的div顶部的CSS元素?

  2. 因为我认为我的第一个问题的答案是“不,你不能这样做”,我问我能做些什么来避免这种情况?

例如这里:

http://www.mataborrao.eu/teste.html

+0

页面如何中断?你的第一个问题的答案是 – 2012-01-05 16:38:29

+0

你好,谢谢你的回复,分页符,因为右边的div,红色的下降。我想在添加滚动条时,dom会自动重新计算div的宽度,但现在我发现,在不同的浏览器中,在不同的os(mac/win)滚动条宽度上也不一样... – Pluda 2012-01-05 16:42:53

+2

Pluda,你应该接受一个答案,将鼓励人们回答你未来的问题。 – 2012-01-07 16:24:49

回答

0

此解决方案适合您吗?其中一列是流动的,但也许它会帮助:http://matthewjamestaylor.com/blog/ultimate-3-column-holy-grail-pixels.htm

的解决方案是有一个布局,看起来像这样:enter image description here

是微不足道的退出像素值,但把“div嵌套结构的注意事项”。要将其转换为固定布局,您可以查看http://matthewjamestaylor.com/blog/how-to-convert-a-liquid-layout-to-fixed-width - 我不确定它会如何工作 - 您可能遇到同样的问题。我建议液体布局,因为它会动态调整大小,当滚动条在那里...

+0

谢谢,需要试试这个,这似乎是解决这个问题的好方法。今天我没有在这里的代码,但明天我会让你知道,好吗?谢谢。 – Pluda 2012-01-07 12:44:05

+0

真棒 - 我认为这工作... – jcuenod 2012-01-08 19:55:17

2

你回答你的第一个问题是正确的;据我所知,你不能将样式附加到滚动条上。你的第二个问题有些宽泛,因为许多浏览器会以不同的方式处理滚动条。

例如,根据您的操作系统/浏览器,您网页上的内容将会移动以腾出位置,而其他浏览器(例如Windows上的FF,我相信)会将内容保留在原来的位置如果没有滚动条(如果有更多内容垂直添加/流动,这可以防止移动)。

或者,你可以尝试迫使巴总是在那里...这将适用于大多数情况:

html { 
overflow: -moz-scrollbars-vertical; 
overflow-y: scroll; 
} 

希望这有点帮助?