这两个网站都有一个横跨页面的背景标题,而内容居中并覆盖了大约 80% 的宽度,并且与布局的其余部分完美对齐。
我对这两个站点特别感兴趣,因为标题有两种背景颜色,而不仅仅是一种。
我相信网上有很多教程,但我没有搜索关键字。
这两个网站都有一个横跨页面的背景标题,而内容居中并覆盖了大约 80% 的宽度,并且与布局的其余部分完美对齐。
我对这两个站点特别感兴趣,因为标题有两种背景颜色,而不仅仅是一种。
我相信网上有很多教程,但我没有搜索关键字。
它background-image
设置为body
带有属性background-repeat
:
background-repeat: repeat-x;
更多:http ://www.w3schools.com/css/pr_background-repeat.asp
编辑:至于使您的内容居中-<em>我是这样做的:
<body>
<div id="wrapper">
<!-- here is wrapper *everything* else -->
</div>
</body>
然后将width
包装器设置为值(主要是960px
)。然后,当您将其边距设置为 时0 auto
,它会自行居中。
#wrapper{
margin: 0 auto;
}
分析stumbleupon.com
:
“标题”实际上由两个div 组成:wrapperHeader
和wrapperNav
. 这两个有不同的背景颜色。这些 div 只有一个子元素,每个子元素都有 CSS 属性
margin: 0 auto
这导致水平居中。
此属性也分配给内容 div,因此标题、导航和内容始终居中。当然,这需要为这些元素设置一些宽度。
结构如下所示:
<div id="wrapperHeader">
<div class="" id="header">
<!-- mnore stuff here, like logo -->
</div> <!-- end header -->
</div>
<div id="wrapperNav">
<ul id="navMain">
<li class="discover first"><a href="/discover/toprated/">Discover</a></li>
<li class="favorites"><a href="/favorites/">Favorites</a></li>
<li class="stumblers"><a href="/stumblers/onlinenow/">Stumblers</a></li>
</ul> <!-- end navMain -->
</div>
<div id="wrapperContent">
<div class="clearfix" id="content">
</div> <!-- end content -->
</div>
如果您获得了Firebug for Firefox,您可以轻松地自己分析元素。
添加背景图像有两个缺点:
每次你想改变你的标题的颜色时,你必须打开你的 Photoshop 并在那里改变颜色,然后在你的 CSS 中再次改变它。
现在您希望页眉的背景颜色在页面上延伸,但如果您也想对页脚进行此操作怎么办?
最简单的解决方案是这个:
(您不仅创建了一种在页面上拉伸颜色的简单方法,能够在所有页眉内容和页脚中使用不同的颜色,而且还避免了 IE 的双边距问题(当您在相同的元素)。
索引.html:
<html>
<body id="body">
<div id="header">
<div class="container">
<!-- header's content here -->
</div><!-- .container -->
</div><!-- #header -->
<div id="content">
<div class="container">
<!-- main content here -->
<div id="footer">
<div class="container">
<!-- footer's content here -->
</div><!-- .container -->
</div><!-- #footer -->
</body>
</html>
样式.css:
.container {
margin: 0 auto;
overflow: hidden;
padding: 0 15px;
width: 960px;
}
#header {
background: #EEE;
}
#content {
background-color: #F9F9F9;
}
#footer {
background-color: #333;
color: #BBB;
clear: both;
}
在此示例中,div.container
将元素居中并赋予它们宽度,并且背景颜色可以跨越页面,因为 #header, #content
并且#footer
没有宽度。以后只需要对里面的div应用margin和padding,以后就.container
可以省去很多IE的问题了。
我不敢苟同,有一种简单的方法可以做到这一点。兼容 Google Chrome 和 Firefox,IE 未经测试。
在您的 CSS 文件中:
body{
overflow-x:hidden;
}
div#headerbg{
width:110%;
margin-left:-20px;
background-color:black;
}
现在只需在您的 HTML 文件中使用它。您可以为此添加定位和其他内容。
您可以使用 1px 宽度的背景图像,并在水平方向设置背景重复。
background-image:url('paper.gif');
background-repeat:repeat-x;
然后按照您喜欢的方式调整您的内容。
这只是一个固定宽度的布局,但具有自动的左右边距。如果页面大小比内容宽度宽,这样做的效果是使整个内容块居中。
背景只是设置为重复图像(repeat-x),以使其看起来像菜单元素实际上扩展了页面的整个宽度。
我认为您在谈论 100%/80% 宽度差异....
这应该可以帮助您入门:
<div id="header" style="width:100%; margin: 0px;">
<!-- header content -->
</div>
<div id="content" style="display: block; width: 80%; margin: 0px auto">
<!-- content -->
</div>
内容上的 margin: auto 使块居中。
Liike Adam 说,添加背景重复以使其具有图形上令人愉悦的元素。
使用 CSS 2,您无法拉伸背景图像。没有用于设置背景图像尺寸的属性。您可以在 X、Y 或两个轴上重复它。
CSS 3 将允许这种拉伸。
非常简单,没有一大堆喧嚣。
将其粘贴在 - body - 和 - div 容器之间 - 你也可以在其中拥有任何你想要的东西,但在我的页面上是这样的:(我试图让它包装,不行,只需复制和粘贴。)
<body>
<div id="bv_ImageMap1" style="margin:0;padding:0;position:absolute;left:0px; top:187px;width:100%;height:5px;text-align:left;z-index:0;"> <img src="files/IMG_2.jpg" id="ImageMap1" alt="" usemap="#ImageMapImageMap0" border="0" style="width:100%; height:5px;">
<map name="ImageMapImageMap0">
</map>
</div>
<div container>
然后更改顶部所需的信息:px 高度: _px img src="yourfile/yourimg.jpg 和重要不要忘记下一个高度:_ _px
任何地方都不需要其他任何东西。尝试一下。