我正在尝试实现一个固定宽度居中的布局,其标题“拉伸”到用户浏览器的边缘。像这样......
我是如何实现这一目标的?
答案 0 :(得分:3)
这非常有效。它可以使用一些改进,但这个想法非常可靠。
<强> CSS:强>
html, body {
margin: 0;
padding: 0;
border: 0;
overflow-x: hidden
}
body {
background: #eee
}
#container {
width: 80%;
margin: 0 auto;
background: #bbb;
}
#menu {
overflow: auto
}
#menu li {
float: left;
width: 40px;
margin: 5px;
height: 24px;
background: #fff
}
h1, h1 span, h2, h2 span {
padding: 3px 0;
height: 25px;
}
h1, h2 {
position: relative;
margin: 9px 0
}
h1 span, h2.left span {
display: block;
position: absolute;
width: 100%;
left: -100%;
top: 0
}
h2.right span {
display: block;
position: absolute;
width: 102%;
left: 100%;
top: 0
}
h1 {
background: red;
width: 80%
}
h1 span {
background: blue /* blue for demonstration purposes */
}
h2.left {
background: red;
width: 30%;
float: left
}
h2.left span {
background: blue /* blue for demonstration purposes */
}
h2.right {
background: red;
width: 30%;
float: right
}
h2.right span {
background: blue /* blue for demonstration purposes */
}
#content {
clear: both
}
<强> HTML:强>
<div id="container">
<h1><span></span>Heading</h1>
<h2 class="left"><span></span>Sub-heading</h2>
<h2 class="right">Sub-heading<span></span></h2>
<div id="content">
Hi!
</div>
</div>
答案 1 :(得分:0)
也许你可以用幻觉来实现这个目标?您可以尝试使用宽度= 100%的蓝色条位于所有页面内容后面,这样它只会显示在蓝色“子标题”部分的右侧,但始终到达右边缘。你必须确保你蚀掉其余部分(蓝色“子标题”元素左边的任何东西)。
答案 2 :(得分:0)
如果您想在窗口中修复,则可以position:fixed
使用position:absolute
。然后使用left:0
和right:0
将它们放在左侧或右侧。使用top
,您可以设置从顶部开始的偏移量。
答案 3 :(得分:0)
也许这会起作用?
<h1 id="mainHeader">Heading</h1>
#mainHeader {
float:left;
clear:both;
width:800px;
background-color:#ff0000;
color:#fff;
}
答案 4 :(得分:0)
以下是我尝试使用JavaScript,维护固定宽度的中心:Demo
否则,我不认为你想要的是纯粹的CSS,但我可能会弄错。