我正在为我的网站创建一个布局,其中侧边栏固定在视口的右侧,宽度为 30%(内容在其左侧),直到浏览器窗口达到一定宽度,此时我想要内容和侧边栏居中,不再随浏览器窗口增长(因为在非常大的宽度下变得难以阅读)。这是正在使用的html的一个想法:
<body>
<div id=sidebar>sidebar content</div>
<div id=content>articles, images, etc</div>
以下是一些用于格式化的基本 HTML:
#sidebar {
width: 30%;
position: fixed;
right: 0;
top: 0;
background-color: gray;
}
#content {
width: 70%;
margin-right: 30%;
max-width: 49em;
}
此时,当内容宽度超过 49em 时,它会粘在页面的右侧,从而在它与固定侧边栏之间产生越来越大的间隙。我想要的是让它达到 49em 的最大宽度,让侧边栏达到 21em(所以它们仍然是 70:30)并保持固定,但是让整个 70em 的宽度位于视口的中心。
我还希望侧边栏的背景颜色从内容的边缘到屏幕右侧的整个路径(即包含 div 将侧边栏和内容居中,最大宽度为 70em工作,因为侧边栏的背景只会进入包含 div 而不是视口的边缘)。那个并不那么重要,因为在 body 元素上放置某种带纹理的背景可能看起来不错,以使其看起来好像页面“坐在”某个带纹理的表面上(不理想,但很好)。我只是无法在保持侧边栏固定位置的同时使侧边栏和内容居中。
谢谢!
更新:这是我正在寻找的非常粗略的示意图:
|A|B|C|D|
B 是最大宽度为 49em 的内容区域。C 是最大宽度为 21em 的侧边栏,它必须有固定的定位。A 和 D 将是边距(视口宽度和 70em 之间差异的一半)。D 的背景必须与侧边栏的颜色相同(灰色)。A的背景必须是白色的。