DIV+CSS 页面布局--固定宽度且居中的版式

本文详细介绍了一种常用的网页布局方法——固定宽度且居中的版式设计。通过具体的代码实例,展示了如何使用CSS实现这一布局效果,并解释了每段代码的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

排版思路:固定宽度且居中的版式是网络中最常见的排版方式之一,首先将所有页面内容用一个大<div>包裹起来,指定该<div>的ID为container,这个ID在整个页面中是唯一的。部分代码如下:

body{
    margin:0px;
    padding:0px;
    text-align:center;
    background:#e9fbff;
}

解释:margin:0px;指定页面四周的空隙都为0。text-align:center;这是整个排版的关键语句,将页面<body>中的所有元素都设置为居中。

#container{
    position:relative;
    margin:0 auto;
    padding:0px;
    width:700px;
    text-align:left;
    background:url(container_bg.jpg)  repeat-y;
}

解释:position:relative,相对定位,设置块相对于原来的位置。由于<body>已经设置了居中,因此这里不需要在调整,只是考虑到浏览器的兼容性,加上这句代码。

margin:0 auto; 非常关键的一句,它使得该块与页面的上下边界距离为0,左右则自动调整。这一句代码的完整写法为margin:0 auto 0 auto; 这里采用了简写。

width:700px;设定固定宽度为700px;

text-align:left;用来覆盖<body>中设置的对齐方式,使得#container中的所有内容恢复左对齐。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title>固定宽度且居中的格式</title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <style type="text/css">
	body{
		margin:0px;
		padding:0px;
		text-align:center;
		background:#e9fbff;
	}
	#container{
		position:relative;
		margin:0 auto;
		padding:0px;
		width:900px;
		text-align:left;
		background:url(container_bg.jpg)  repeat-y;
	}
	#banner{
		margin:0px;
		padding:0px;
		width:900px;
	}
	#banner img{
		height:50px;
		width:900px;
	}
	#links{
		font-size:20px;
		margin:-15px 0px 0px 0px;
		padding:0px;
		position:relative;
		background-color:#afdcff;
	}
	#links li{
		list-style:none;/*无列表符号*/
		float:left;/*向右伸展*/
		margin:0px 60px 0px 0px;/*相邻列表之间的距离*/
	}
	/*左侧部分之超链接*/
	#links a:link, #nav a:visited{
		text-decoration:none;
		color:#2a4f6f;
		background-color:transparent;
	}
	#content{
		margin:50px 0px 0px 0px;
		width:900px;
	}
	#content_left{
		width:150px;
		position:absolute;
		top:80px;
		left:0px;
		background-color:#afdcff;
	}
	#content_left img{
		width:100px;
		height:100px;
		
		border:1px solid #0073cc;
		margin-bottom:5px;
		text-align:center;
	}
	#content_left h3{
		text-align:center;
		margin-top:0px;
	}
	#content_left p{
		text-align:justify;
		padding:0px 10px 0px 10px;
	}
	#content_right{
		position:absolute;
		top:80px;
		right:0px;
		width:750px;
		background-color:#afdcff;
	}
	#content_right h3{
		margin-top:10px;
		text-align:left;
	}
	#footer{

		width:900px;
		text-align:center;
	}
  </style>
 </head>

 <body>
  <div id="container">

	<div id="banner">
	 <img src="images/b.jpg" border="0">
	</div>

	<div id="links">
	 <ul>
	  <li><a href="#">首页</a></li>
	  <li><a href="#">心情日记</a></li>
	  <li><a href="#">放松</a></li>
	  <li><a href="#">一起走</a></li>
	  <li><a href="#">从明天起</a></li>
	  <li><a href="#">纸飞机</a></li>
	  <li><a href="#">下一站</a></li>
	 </ul>
	</div>
	
	<div id="content">
		<div id="content_left">
			<p><img src="images/g1.jpg"><br/><b>我的日记本</b></p>
			<p>过完整个夏天,忧伤并没有好一些。开车行驶在公路无际无边。唱不完一首歌,疲倦还剩下黑眼圈,感情的世界的伤害在所难免...</P>
			<p><img src="images/g2.jpg"><br/><b>心情轨迹</b></p>
			<p>带走美好的一天,风吹过大地。炫美的世界,霞光点亮星辰,燃起辽远的梦幻,流星划过夜空,忆起逝夜的歌声。</p>
		</div>
		<div id="content_right">
			<h3>依然爱你</h3>
			<p>过完整个夏天,忧伤并没有好一些。开车行驶在公路无际无边。唱不完一首歌,疲倦还剩下黑眼圈,感情的世界的伤害在所难免...过完整个夏天,忧伤并没有好一些。开车行驶在公路无际无边。唱不完一首歌,疲倦还剩下黑眼圈,感情的世界的伤害在所难免...</p>
			<h3>旅程</h3>
			<p>带走  美好的一天<br/>风  吹过大地<br/>炫美的世界<br/><br/>
	 霞光 点亮星辰<br/>燃起 辽远的梦幻<br/>流星 划过夜空<br/>忆起 逝夜的歌声<br/></p>
			<h3>诗歌</h3>
			<p>带走  美好的一天<br/>风  吹过大地<br/>炫美的世界<br/><br/>
	 霞光 点亮星辰<br/>燃起 辽远的梦幻<br/>流星 划过夜空<br/>忆起 逝夜的歌声<br/></p>
		</div>	
	</div>
	<div id="footer">版权所有   @一别经年</div>
  </div>
 </body>
</html>

201345_J3hs_1014520.png

转载于:https://my.oschina.net/u/1014520/blog/222161

一、遇顶固定的例子 我一直以为是某个div或层随屏幕滚动,遇顶则固定,离开浏览器顶部又还原这样的例子其实不少,其实它的名字叫“层的智能浮动效果”。目前我们在国内的商业网站上就常常看到这样的效果了。例如淘宝网的搜索结果页的排序水平条,在默认状态时,该工具条是跟随页面滚动的,如下图: 而当我们下拉滚动条,随着页面向下滚动,当此工具条接触到浏览器的上边缘时,这时就会独立出来固定在顶部,不跟随页面滚动而滚动了,如下图: 类似的例子效果我们在别的网站上都有看到过,例如腾讯微博首页上,当我们下拉屏幕浏览最新微博时,工具条也会出现这个效果,如下图: 这个效果看上去方便,贴心,也许还带推动广告的促销呢。原理其实很简单,本文展示两种方法。 二、智能浮动效果的实现原理 它分两种状态,一是默认状态,二是浮动固顶状态。 默认状态就是默认状态,什么也不用做,保持原有的CSS就好。无论有没有对它做定位,做了absolute也好,没做也好,都行。 关键是当浏览器屏幕滚动时,该对象div层要移除浏览器界面视区的时候,是要修改它的position属性,让它浮动在窗口的上沿显示就行了。最好的position属性是fixed,可以在IE6+和其他浏览器浮动层平滑的固定定位,由于IE6老大哥不支持fixed属性,所以可以另外赋予它absolute属性。当然也会产生副作用——滚动不平滑。不过也无所谓了,在微软公布不再修补更新XP漏洞,在中国360安全卫士的帮助下虽然大家仍然使用XP,但IE的用户已经是少之又少了。 那接下来,如何判断当前div层与浏览器窗口的上边缘接触了呢?遇到浏览器顶部了呢? 当浮动层div与浏览器窗口上边缘接触的一瞬间,其页面垂直偏移值与页面的滚动高度是一致的,所以我们就用这个进行判断。那如何获得页面上元素距离页面的垂直距离呢? 这里则是使用javaScript库实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值