我有一个绝对定位的布局与三个主要的div:标题,左选项列和内容列。设计的行为是让页眉和左选项列始终保持在页面上,而内容列可以自由上下滚动(控制面板左侧图标和顶部标题栏)。CSS绝对定位元素溢出
问题是窗口大小调整和左右(x轴)内容div溢出。我期望的行为是具有约1000像素的最小宽度,此时水平滚动条出现在内容列中,并允许用户滚动。这可以防止窗口的大小调整到我的布局不再符合预期的程度。
我曾试图在我现有的CSS中使用min-width指令,但无济于事。最小宽度DOES实现我正在寻找的“截止”,但是,没有水平滚动条出现,我无法水平滚动。
有没有办法使用现有的范例来做到这一点,还是样式表需要以不同的方式完成?以下是我现有的实现(与最小宽度属性我一直在测试的content_column):
html {
overflow: hidden;
}
body {
margin: 0px;
padding: 0px;
background: #E5E5E5;
color: #000000;
font-family: 'Open Sans', sans-serif;
height: 100%;
max-height: 100%;
overflow: hidden;
border: 0px none;
}
#header {
position: absolute;
margin: 0px;
top: 0px;
left: 0px;
display: block;
color: #FFFFFF;
background: #146647;
font-size: 1.5em;
padding: 5px;
width: 100%;
overflow: hidden;
z-index: 3;
}
#option_column {
position: absolute;
left: 0px;
top: 40px;
bottom: 0;
background: #0F4C35;
color: #FFFFFF;
width: 155px;
padding: 3px;
z-index: 2;
overflow: auto;
}
#content_column {
position: absolute;
overflow: auto;
min-width: 1000px;
z-index: 1;
top: 40px;
left: 161px;
right: 0px;
bottom: 0px;
padding: 3px;
background: #E5E5E5;
color: #000000;
font-size: 14px;
}
这是我的HTML结构:
<body>
<div id="header">
Head
</div>
<div id="option_column">
Option Column
</div>
<div id="content_column">
<div class="header_text">Content Header</div>
<div id="subheader">
Content (content_column intended to stop resizing at 1000px)
</div>
</div>
</body>
起点小提琴:http://jsfiddle.net/4M43d/ – isherwood 2013-02-24 21:22:02
“我有一个绝对定位的布局(...)确实样式表需要以不同的方式做” 。我很想回答YES。 – FelipeAls 2013-02-24 23:31:38
是的,故意水平滚动是一个不错的主意。这对您的用户来说是一件麻烦事。另外,您的1000像素内容列加上侧边栏意味着大多数访问者将无法看到您的网站的全部宽度。除非你有一些奇怪的要求,否则我会重新考虑这个计划。 – isherwood 2013-02-24 23:50:16