<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>上海SEO &#187; 布局实例</title>
	<atom:link href="http://www.seoweb-sh.com/tag/%e5%b8%83%e5%b1%80%e5%ae%9e%e4%be%8b/feed" rel="self" type="application/rss+xml" />
	<link>http://www.seoweb-sh.com</link>
	<description>上海SEO顾问专业服务团队,为上海地区公司与企业网站提供优质全方位的网站优化,SEO顾问,SEO培训服务,上海SEO咨询电话:18616593992</description>
	<lastBuildDate>Wed, 21 Dec 2011 08:50:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CSS布局实例</title>
		<link>http://www.seoweb-sh.com/34.html</link>
		<comments>http://www.seoweb-sh.com/34.html#comments</comments>
		<pubDate>Thu, 02 Oct 2008 03:22:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[DIV/CSS]]></category>
		<category><![CDATA[上海SEO 网站制作]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[布局实例]]></category>

		<guid isPermaLink="false">http://www.seoweb-sh.com/?p=34</guid>
		<description><![CDATA[查看更多网站制作文章请点击这里。

接下来开始要真正设计布局了。和传统的方法一样，你首先要在脑海里有大致的轮廓构想，然后用photoshop把它画出来。你可能看到有关web标准的站点大都很朴素，因为web标准更关注结构和内容，实际上它与网页的美观没有根本冲突，你想怎么设计就怎么设计，用传统表格方法实现的布局，用DIV也可以实现。技术有一个成熟的过程，把DIV看成和TABLE一样的工具，如何运用就看你的想象力了。
注：在实际应用过程中，DIV在有些地方的确不如表格方便，比如背景色的定义。但任何事情都有得有失，取舍在于你的价值判断。好，不罗嗦了，我们开始：
1、确定布局
w3cn的最初设计草图如下：
用表格的设计方法的话，一般都是上中下三行布局。用DIV的话，我考虑使用三列来布局,成为这样。
2、定义body样式
先定义整个页面的body的样式,代码如下：
body { MARGIN: 0px;
PADDING: 0px;
BACKGROUND: url(../images/bg_logo.gif) #FEFEFE no-repeat right bottom;
FONT-FAMILY: &#8216;Lucida Grande&#8217;,'Lucida Sans Unicode&#8217;,'宋体&#8217;,'新宋体&#8217;,arial,verdana,sans-serif;
COLOR: #666;
FONT-SIZE:12px;
LINE-HEIGHT:150%; }
以上代码的作用在上一天的教程有详细说明，大家应该一看就明白。定义了边框边距为0；背景颜色为#FEFEFE，背景图片为bg_logo.gif，图片位于页面右下角，不重复；定义了字体尺寸为12px；字体颜色为#666;行高150%。
3、定义主要的div
初次使用CSS布局，我决定采用固定宽度的三列布局(比自适应分辨率的设计简单,hoho，别说我偷懒，先实现简单的，增加点信心嘛！)。分别定义左中右的宽度为200:300:280，在css中如下定义:
/*定义页面左列样式*/
#left{ WIDTH:200px;
MARGIN: 0px;
PADDING: 0px;
BACKGROUND: #CDCDCD;
}
/*定义页面中列样式*/
#middle{ POSITION: absolute;
LEFT:200px;
TOP:0px;
WIDTH:300px;
MARGIN: 0px;
PADDING: 0px;
BACKGROUND: #DADADA;
}
/*定义页面右列样式*/
#right{ POSITION: absolute;
LEFT:500px;
TOP:0px;
WIDTH:280px;
MARGIN: 0px;
PADDING: 0px;
BACKGROUND: #FFF; }
注意：定义中列和右列div我都采用了POSITION: absolute;，然后分别定义了LEFT:200px;TOP:0px;和LEFT:500px;TOP:0px;这是这个布局的关键，我采用了层的绝对定位。定义中间列距离页面左边框200px，距离顶部0px；定义右列距离页面左边框500px，距离顶部0px；。
这时候整个页面的代码是：
]]></description>
			<content:encoded><![CDATA[<p>查看更多<em><a href="http://www.seoweb-sh.com/web">网站制作</a></em>文章请点击这里。</p>
<p style="text-align: center;"><a href="http://www.code365.net/Learning/UploadFiles_9072/200610/20061005183603819.gif"></a><a href="http://www.code365.net/Learning/UploadFiles_9072/200610/20061005183546334.gif"><img class="alignnone" src="http://www.code365.net/Learning/UploadFiles_9072/200610/20061005183546334.gif" alt="" width="150" height="191" /></a></p>
<p>接下来开始要真正设计布局了。和传统的方法一样，你首先要在脑海里有大致的轮廓构想，然后用photoshop把它画出来。你可能看到有关web标准的站点大都很朴素，因为web标准更关注结构和内容，实际上它与网页的美观没有根本冲突，你想怎么设计就怎么设计，用传统表格方法实现的布局，用DIV也可以实现。技术有一个成熟的过程，把DIV看成和TABLE一样的工具，如何运用就看你的想象力了。<span id="more-34"></span><br />
注：在实际应用过程中，DIV在有些地方的确不如表格方便，比如背景色的定义。但任何事情都有得有失，取舍在于你的价值判断。好，不罗嗦了，我们开始：<br />
1、确定布局<br />
w3cn的最初设计草图如下：</p>
<p>用表格的设计方法的话，一般都是上中下三行布局<img class="aligncenter" src="http://www.code365.net/Learning/UploadFiles_9072/200610/20061005183603819.gif" alt="" width="50" height="50" />。用DIV的话，我考虑使用三列来布局,成为这样。<a href="http://www.code365.net/Learning/UploadFiles_9072/200610/20061005183624603.gif"><img class="alignnone" src="http://www.code365.net/Learning/UploadFiles_9072/200610/20061005183624603.gif" alt="" width="50" height="50" /></a><br />
2、定义body样式<br />
先定义整个页面的body的样式,代码如下：<br />
body { MARGIN: 0px;<br />
PADDING: 0px;<br />
BACKGROUND: url(../images/bg_logo.gif) #FEFEFE no-repeat right bottom;<br />
FONT-FAMILY: &#8216;Lucida Grande&#8217;,'Lucida Sans Unicode&#8217;,'宋体&#8217;,'新宋体&#8217;,arial,verdana,sans-serif;<br />
COLOR: #666;<br />
FONT-SIZE:12px;<br />
LINE-HEIGHT:150%; }<br />
以上代码的作用在上一天的教程有详细说明，大家应该一看就明白。定义了边框边距为0；背景颜色为#FEFEFE，背景图片为bg_logo.gif，图片位于页面右下角，不重复；定义了字体尺寸为12px；字体颜色为#666;行高150%。<br />
3、定义主要的div<br />
初次使用<span class='wp_keywordlink'><a href="http://www.seoweb-sh.com/34.html" title="CSS布局">CSS布局</a></span>，我决定采用固定宽度的三列布局(比自适应分辨率的设计简单,hoho，别说我偷懒，先实现简单的，增加点信心嘛！)。分别定义左中右的宽度为200:300:280，在<span class='wp_keywordlink'><a href="http://www.seoweb-sh.com/tag/css" title="css">css</a></span>中如下定义:<br />
/*定义页面左列样式*/<br />
#left{ WIDTH:200px;<br />
MARGIN: 0px;<br />
PADDING: 0px;<br />
BACKGROUND: #CDCDCD;<br />
}<br />
/*定义页面中列样式*/<br />
#middle{ POSITION: absolute;<br />
LEFT:200px;<br />
TOP:0px;<br />
WIDTH:300px;<br />
MARGIN: 0px;<br />
PADDING: 0px;<br />
BACKGROUND: #DADADA;<br />
}<br />
/*定义页面右列样式*/<br />
#right{ POSITION: absolute;<br />
LEFT:500px;<br />
TOP:0px;<br />
WIDTH:280px;<br />
MARGIN: 0px;<br />
PADDING: 0px;<br />
BACKGROUND: #FFF; }<br />
注意：定义中列和右列div我都采用了POSITION: absolute;，然后分别定义了LEFT:200px;TOP:0px;和LEFT:500px;TOP:0px;这是这个布局的关键，我采用了层的绝对定位。定义中间列距离页面左边框200px，距离顶部0px；定义右列距离页面左边框500px，距离顶部0px；。<br />
这时候整个页面的代码是：<br />
<!--CTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt--></p>
<p> </p>
<div id="left">页面左列</div>
<div id="middle">页面中列</div>
<div id="right">页面右列</div>
<p>这时候页面的效果仅仅可以看到三个并列的灰色矩形，和一个背景图。但是我希望高度是满屏的，怎么办呢？<br />
4、100%自适应高度?<br />
为了保持三列有同样的高度，我尝试在#left、#middle和#right中设置&#8221;height:100%;&#8221;，但发现完全没有预想的自适应高度效果。经过一番尝试后，我只好给每个div一个绝对高度:&#8221;height:1000px;&#8221;，并且随着内容的增加，需要不断修正这个值。难道没有办法自适应高度了吗？随着阿捷自己学习的深入，发现一个变通的解决办法。<br />
自适应高度<br />
如果我们想在3列布局的最后加一行页脚，放版权之类的信息。就遇到必须对齐3列底部的问题。在table布局中，我们用大表格嵌套小表格的方法，可以很方便对齐三列；而用div布局，三列独立分散，内容高低不同，就很难对齐。其实我们完全可以嵌套div，把三列放进一个DIV中，就做到了底部对齐。下面是实现例子(白色背景框模拟一个页面)：<br />
Body<br />
#header{ MARGIN: 0px; BORDER: 0px; BACKGROUND: #ccd2de; WIDTH: 580px; HEIGHT: 60px;}<br />
#mainbox { MARGIN: 0px; WIDTH: 580px; BACKGROUND: #FFF; }<br />
#menu{ FLOAT: right; MARGIN: 2px 0px 2px 0px; PADDING:0px 0px 0px 0px; WIDTH: 400px; BACKGROUND: #ccd2de; }<br />
#sidebar{ FLOAT: left; MARGIN: 2px 2px 0px 0px; PADDING: 0px; BACKGROUND: #F2F3F7; WIDTH: 170px; }<br />
#content{ FLOAT: right; MARGIN: 1px 0px 2px 0px; PADDING:0px; WIDTH: 400px; BACKGROUND: #E0EFDE;}<br />
#footer{ CLEAR: both; MARGIN: 0px 0px 0px 0px; PADDING: 5px 0px 5px 0px; BACKGROUND: #ccd2de; HEIGHT: 40px; WIDTH: 580px; }。<br />
这个例子的页面主要代码如下：</p>
<p>具体样式表都写在相应版块里了。重点在于#mainbox层嵌套了#menu,#sidebar和#content三个层。当#content的内容增加，#content的高度就会增高，同时#mainbox的高度也会撑开，#footer层就自动下移。这样就实现了高度的自适应。<br />
另外值得注意的是：#menu和#content都是浮动在页面右面&#8221;FLOAT: right;&#8221;,#sidebar是浮动在#menu层的左面&#8221;FLOAT: left;&#8221;，这是浮动法定位，还可以采用绝对定位来实现这样的效果。<br />
这个方法存在另一个问题，就是侧列#sidebar的背景无法百分之百。一般的解决办法就是用body的背景色来填充满。(不能使用#mainbox的背景色，因为在Mozilla等浏览器中#mainbox的背景色失效。)</p>
<div class="similarity"><ul><li>Unique Post</li></ul></div><!-- Cat -->]]></content:encoded>
			<wfw:commentRss>http://www.seoweb-sh.com/34.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

