DIV+CSS完美布局
- 格式:pdf
- 大小:960.07 KB
- 文档页数:52
第一个例子只是告诉大家如何让页面居中,这个代码的用处一般用来做背景图,示例:http://www.smarter.co.jp/,外围是灰色的,当中页面的正文底是白色的,非常大气。
这个例子主要讲上下两列,这是最常见的,也是最简单的页面表现形式,头部放logo和banner,下面是主体内容。
CSS代码如下:body { font-family:Verdana; font-size:14px; margin:0;background:#E9E9E9;}#container {margin:0 auto; width:900px;background:#FFFFFF;padding:15px;}#header { height:100px; background:#6cf; margin-bottom:5px;}#mainContent { height:300px; background:#cff;}页面代码如下:<body><div id="container"><div id="header">这是头部</div><div id="mainContent"><p>这是身体</p></div></div></body>效果下图显示:点击看大图其中居中的关键是将“margin:0 auto;”写在最大的背景盒套中,宽度由#container决定。
第二个例子是告诉大家如何让页面居中,如何加上头部。
这个例子加上了尾部,这也是一种常见的页面表现形式,头部放logo和banner,中间是主体内容,尾部放copyright 等内容。
CSS代码如下:body { font-family:Verdana; font-size:14px; margin:0;background:#E9E9E9;}#container {margin:0 auto; width:900px;background:#FFFFFF;padding:15px;}#header { height:100px; background:#6cf; margin-bottom:5px;}#mainContent { height:300px; background:#cff; margin-bottom:5px;}#footer { height:60px; background:#6cf;}页面代码如下:<body><div id="container"><div id="header">这是头部</div><div id="mainContent"><p>这是主体</p></div><div id="footer">这是尾部</div></div></body>效果下图显示:点击看大图其中居中的关键是将“margin:0 auto;”写在最大的背景盒套中,宽度由#container决定。
DIV+CSS网页布局技巧实例1:设置网页整体居中的代码以前用表格布局时设置网页居中非常方便,把表格对齐方式设置为居中就行了,就这么简单,现在呢,用DIV+CSS样式表控制,好像不是那么容易了,其实也很简单,只不过方式不line-height:500px;<!D O CTY PE ht m l PU B LI C "-//W3C//D<ht m l xm l ns="ht t p://w w w.w3.or g/199<head><m et a ht t p-equi v="Cont ent-Type"co提示:可以先修改部分代码后再运行这是一种方法,另外和种方法就是设置的它内边距padding了,自己可以试试哟~~DIV+CSS网页布局技巧实例3:设置层的透明度有时候我们需要用到层的透明度,把下边的背景透出来,如下图:这种半透明的形式在blog上应用比较广泛,那么这种效果是怎么做出来的呢?用JS,NO, NO,既然我们是CSS布局教程,那么就尽量用CSS来解决问题!filter: alpha(opacity=70);opacity: 0.7;把这两句代码加入到要实现半透明层的CSS样式表里即可,简单吧!!注:70和0.7的值可改为你需要的<!D O CTY PE ht m l PU B LI C "-//W3C//D<ht m l xm l ns="ht t p://w w w.w3.or g/199<head><m et a ht t p-equi v="Cont ent-Type"co提示:可以先修改部分代码后再运行DIV+CSS网页布局技巧实例4:使用css缩写使用缩写可以帮助减少你CSS文件的大小,更加容易阅读。
css缩写的主要规则请参看《常用css缩写语法总结》,css缩写的主要规则如下:颜色16进制的色彩值,如果每两位的值相同,可以缩写一半,例如:#000000可以缩写为#000;#336699可以缩写为#369;注意:在同一个CSS配置节中,不要交错使用全写和缩写的颜色配置,在系统资源极低时,会导致浏览器渲染失败。
DIV+CSS布局使⽤的个⼈⼼得⽹站制作离不开⽹页布局就是说DIV+CSS都会涉及到的,以下是⼯作中总结的⼀些技巧,留下备⽤,也可以学习。
1、ul:默认的ul的margin和padding不是0,如果在导航中⽤到了左浮动的li,往往会把外部的div撑⼤,导致页⾯变形,改成:ul{margin:0px; padding:0px;}2、img:(1)这⾥牵涉的不同浏览器的问题,ie6⾥显⽰的图⽚height总是要⼤于准确值,这⾥就需要我们记住下⾯这⼀点 img{ display:block};(2)页⾯中最好不要⽤⼤块背景,能平铺的要平铺,否则加载起来会很慢,也不利于以后的优化和扩展,当然也有些⼤的⽹站,现在都尽量把背景统⼀放到⼀张图⽚上,⽤background-postion来取得背景。
(3)最好的格式就是gif格式,即确保了背景透明,在ie6中⼜不会有阴影,有时gif图⽚会有锯齿,这就需要我们保存成web格式,设置⼀下matter,matter的值⽤背景颜⾊的值越相近越好。
3、overflow:有时⼀些公司的注册协议都是很长,这就⽤到了overflow,可以把div的style⾥加上这个:overflow:auto4、float:有时候⼀些div会挤到页⾯的上⽅,这⾥可能就是浮动引起的,可以加上clear:both。
5、div:height等于1px的div,在ie6中可能并不是1px,在这个div的style⾥加上font-size:1px;这样就ok了。
6、id和class:当⼀个样式在页⾯中多次使⽤时,不要⽤id,要⽤class,要使⽤js的时候,样式最好不要⽤id,因为id要留给js使⽤。
7,link:.link:link{}、.link:visited{}、.link:hover{}、.link:active{}。
有⼀点,visited与hover的顺序⼀定不能倒换,否则ie6中会⼤⼤的问题。
D i v C S S布局的十六条技巧及详细用法-D i v C S S教程2009-12-0409:141、I E分不清继承关系和父子关系的差别,全部都是继承关系。
2、在给你的标签疯狂加选择符的时候,别忘了在C S S里给选择符加上注释。
等你以后修改你的C S S的时候就知道为什么要这么做了。
另外提醒您,不要太疯狂了。
3、如果你给一个标签设置了一个深色调的背景图片和亮色调的文字效果。
建议这个时候给你的标签再设置一个深色调的背景颜色。
因为图片丢失了,也可以保持文字的可读性。
4、定义链接的四种状态要注意先后顺序: L i n k V i s i t e d H o v e r A c t i v e5、与内容无关的图片请使用b a c k g r o u n d.时刻记住表现与内容分离。
7、u l标签在M o z i l l a中默认是有p a d d i n g值的,而在I E中只有m a r g i n有值。
8、同一个的c l a s s选择符可以在一个文档中重复出现,而i d选择符却只能出现一次。
对一个标签同时使用c l a s s和i d进行C S S定义,如果定义有重复,i d选择符做的定义有效,是因为i d的权重要比c l a s s大。
9、一个兼容性调整(I E和M o z i l l a)的笨办法:初学可能会碰到这样一个情况:同样一个标签的属性在I E设置成A显示是正常的,而在M o z i l l a里必须要设成B才能正常显示,或者两个倒过来。
临时解决方法:选择符{属性名:B!i m p o r t a n t;属性名:A}或许有时候并没有效果。
你可以在搜索更多的B U G解决方法。
10、如果一组要嵌套的标签之间需要些间距的话,那就留给位于里面的标签的m a r g i n属性吧,而不要去定义位于外面的标签的p a d d i n g11、l i标签前面的图标推荐使用b a c k g r o u n d-i m a g e,而不是l i s t-s t y l e-i m a g e.12、绝对定位时使用m a r g i n值定位可以达到相对于本身所在位置的定,这与t o p,l e f t等属性相对与窗口边缘的定位不同。
DIV+CSS常⽤的布局⽅式单⾏⼀列以下是引⽤⽚段:body { margin: 0px; padding: 0px; text-align: center; }#content { margin-left:auto; margin-right:auto; width: 400px; width: 370px; }两⾏⼀列以下是引⽤⽚段:body { margin: 0px; padding: 0px; text-align: center;}#content-top { margin-left:auto; margin-right:auto; width: 400px; width: 370px;}#content-end {margin-left:auto; margin-right:auto; width: 400px; width: 370px;}三⾏⼀列以下是引⽤⽚段:body { margin: 0px; padding: 0px; text-align: center; }#content-top { margin-left:auto; margin-right:auto; width: 400px; width: 370px; }#content-mid { margin-left:auto; margin-right:auto; width: 400px; width: 370px; }#content-end { margin-left:auto; margin-right:auto; width: 400px; width: 370px; }单⾏两列以下是引⽤⽚段:#bodycenter { width: 700px;margin-right: auto; margin-left: auto;overflow: auto; }#bodycenter #dv1 {float: left;width: 280px;}#bodycenter #dv2 {float: right;width: 410px;}两⾏两列以下是引⽤⽚段:#header{ width: 700px; margin-right: auto;margin-left: auto; overflow: auto;}#bodycenter { width: 700px; margin-right: auto; margin-left: auto; overflow: auto; }#bodycenter #dv1 { float: left; width: 280px;}#bodycenter #dv2 { float: right;width: 410px;}三⾏两列以下是引⽤⽚段:#header{ width: 700px;margin-right: auto; margin-left: auto; }#bodycenter {width: 700px; margin-right: auto; margin-left: auto; }#bodycenter #dv1 { float: left;width: 280px;}#bodycenter #dv2 { float: right; width: 410px;}#footer{ width: 700px; margin-right: auto; margin-left: auto; overflow: auto; }单⾏三列绝对定位以下是引⽤⽚段:#left { position: absolute; top: 0px; left: 0px; width: 120px; }#middle {margin: 20px 190px 20px 190px; }#right {position: absolute;top: 0px; right: 0px; width: 120px;}float定位⼀x:以下是引⽤⽚段:<div id="warp"> <div id="column"> <div id="column1">这⾥是第⼀列</div> <div id="column2">这⾥是第⼆列</div> <div class="clear"> </div> </div> <div id="column3">这⾥是第三列</div> <div class="clear"></div> </div>:以下是引⽤⽚段:#wrap{ width:100%; height:auto;}#column{ float:left; width:60%;}#column1{ float:left; width:30%;}#column2{ float:right; width:30%;}#column3{ float:right; width:40%;}.clear{ clear:both;}float定位⼆xhtml:以下是引⽤⽚段:<div id="center" class="column"> <h1>This is the main content.</h1> </div> <div id="left" class="column"> <h2>Thisis the left sidebar.</h2> </div> <div id="right" class="column"> <h2>This is the right sidebar.</h2> </div>CSS:以下是引⽤⽚段:body {margin: 0;padding-left: 200px;padding-right: 190px;min-width: 240px;}.column {position: relative;float: left;}#center {width: 100%;}#left {width: 180px; right: 240px;margin-left: -100%;}#right {width: 130px;margin-right: -100%;}两⾏三列xhtml:以下是引⽤⽚段:<div id="header">这⾥是顶⾏</div> <div id="warp"> <div id="column"> <div id="column1">这⾥是第⼀列</div> <div id="column2">这⾥是第⼆列</div> <div class="clear"></div> </P> <P></div> <div id="column3">这⾥是第三列</div> <divclass="clear"></div> </div>CSS:以下是引⽤⽚段:#header{width:100%; height:auto;}#wrap{ width:100%; height:auto;}#column{ float:left; width:60%;}#column1{ float:left; width:30%;}#column2{ float:right; width:30%;}#column3{ float:right; width:40%;}.clear{ clear:both;}三⾏三列xhtml:以下是引⽤⽚段:<div id="header">这⾥是顶⾏</div> <div id="warp"> <div id="column"> <div id="column1">这⾥是第⼀列</div> <div id="column2">这⾥是第⼆列</div> <div class="clear"></div> </div> <div id="column3">这⾥是第三列</div> <div class="clear"></div> </div> <div id="footer">这⾥是底部⼀⾏</div>CSS:以下是引⽤⽚段:#header{width:100%; height:auto;}#wrap{ width:100%; height:auto;}#column{ float:left; width:60%;}#column1{ float:left; width:30%;}#column2{ float:right; width:30%;}#column3{ float:right; width:40%;}.clear{ clear:both;}#footer{width:100%; height:auto;}。
DIV固定宽度居中显示-超级牛最详细的Div+C SS布局案例这个例子的主要内容是居中显示,现在的显示器的宽度都比较大,并且规格不统一,所以判断一个网页是不是专业,第一眼就是这个网站是不是居中,如果不居中,一般不是一个很老的没有人维护的网站就是一个技术很差的人写的。
CSS代码如下:body { font-family:Verdana; font-size:14px; margin:0;}#container {margin:0 auto; width:900px; height:500px; background:#CD5C5C;}页面代码如下:<div id="container"><p>1列固定宽度居中</p></div>效果下图显示:(点击看大图)其中居中的关键是“margin:0 auto;”代码例子由“标准之路”提供,感谢!序-经验之谈-超级牛最详细的Div+CSS布局案例最近有很多晚辈问我关于网站制作方面的问题,随着SEO的普及,DIV+CSS的网站制作理念成为了流行,但在实际操作中,DIV其实是很不好控制的。
大家会碰到很多问题,例如应该在左中右的,但却没有达到这样的效果。
在写大家最关心的Div+CSS布局案例前,让我先啰嗦几句,从事互联网工作已经快6年了,一个网站的产生,一般分为调研,策划,设计,制作,开发,内容、维护,如果是高级点的网站,会涉及到运营和推广的工作。
我有幸全部工作流程都涉及过,我想先说一点我自己从事页面构造时的经验和理解,当然在一定程度上可能存在局限性,但因为看到了很多失败的经历,所以想在说技术前,说点别的。
在制作网站前,一定要先构思网站的内容,很多人会说,我们当然是先构思的,不构思怎么会想到做网站,但很多人的构思都是表面的,在脑海里的,而不是形成文字的,其实有时,看上去很麻烦,很形式化的文字报告却可以帮助我们理清很多自己以为清楚却实际并不清楚的概念。
《Div+CSS 布局大全》整理者:Jesse Zhao网站:送给我最爱的女朋友蜜蜜,希望她可以永远快乐幸福!!!目录div+css布局入门 (4)XHTML下css+div布局总结 (6)网页设计DIV+CSS——第1天:选择什么样的DOCTYPE (9)第一天 (9)什么是DOCTYPE (10)我们选择什么样的DOCTYPE (10)补充 (10)网页设计DIV+CSS——第2天:什么是名字空间 (10)网页设计DIV+CSS——第3天:定义语言编码 (11)网页设计DIV+CSS——第4天:调用样式表 (11)外部调用样式表 (11)双表法调用样式表 (12)网页设计DIV+CSS——第5天:head区的其他设置 (12)收藏夹小图标 (12)为搜索引擎准备的内容 (12)网页设计DIV+CSS——第6天:XHTML代码规范 (12)1.所有的标记都必须要有一个相应的结束标记 (13)2.所有标签的元素和属性的名字都必须使用小写 (13)3.所有的XML标记都必须合理嵌套 (13)4.所有的属性必须用引号""括起来 (13)5.把所有<和&特殊符号用编码表示 (13)6.给所有属性赋一个值 (13)7.不要在注释内容中使“--” (13)网页设计DIV+CSS——第7天:CSS入门 (14)1.基本语法规范 (14)2.颜色值 (14)3.定义字体 (14)4.群选择器 (14)5.派生选择器 (14)6.id选择器 (14)6.类别选择器 (15)7.定义链接的样式 (15)网页设计DIV+CSS——第8天:CSS布局入门 (15)1.定义DIV (15)2.CSS2盒模型 (16)3.辅助图片一律用背景处理 (17)网页设计DIV+CSS——第9天:第一个CSS布局实例 (17)1.确定布局 (18)2.定义body样式 (18)3.定义主要的div (18)4.100%自适应高度? (20)网页设计DIV+CSS——第10天:自适应高度 (20)网页设计DIV+CSS——第11天:不用表格的菜单 (21)1.不用表格的菜单(纵向) (21)2.不用表格的菜单(横向) (22)网页设计DIV+CSS——第12天:校验及常见错误 (24)1.XHTML校验 (24)2.CSS2校验 (25)CSS的十八般技巧 (25)WEB打印实例教程 (30)Div+CSS布局入门教程 (37)div+css布局入门你正在学习CSS布局吗?是不是还不能完全掌握纯CSS布局?通常有两种情况阻碍你的学习:第一种可能是你还没有理解CSS处理页面的原理。
在你考虑你的页面整体表现效果前,你应当先考虑内容的语义和结构,然后再针对语义、结构添加CSS。
这篇文章将告诉你应该怎样把HTML结构化。
另一种原因是你对那些非常熟悉的表现层属性(例如:cellpadding,、hspace、align="left"等等)束手无策,不知道该转换成对应的什么CSS语句。
当你解决了第一种问题,知道了如何结构化你的HTML,我再给出一个列表,详细列出原来的表现属性用什么CSS来代替。
结构化HTML我们在刚学习网页制作时,总是先考虑怎么设计,考虑那些图片、字体、颜色、以及布局方案。
然后我们用Photoshop 或者Fireworks画出来、切割成小图。
最后再通过编辑HTML将所有设计还原表现在页面上。
如果你希望你的HTML页面用CSS布局(是CSS-friendly的),你需要回头重来,先不考虑“外观”,要先思考你的页面内容的语义和结构。
外观并不是最重要的。
一个结构良好的HTML页面可以以任何外观表现出来,CSS Zen Garden是一个典型的例子。
CSS Zen Garden帮助我们最终认识到CSS的强大力量。
HTML不仅仅只在电脑屏幕上阅读。
你用photoshop精心设计的画面可能不能显示在PDA、移动电话和屏幕阅读机上。
但是一个结构良好的HTML页面可以通过CSS的不同定义,显示在任何地方,任何网络设备上。
开始思考首先要学习什么是"结构",一些作家也称之为"语义"。
这个术语的意思是你需要分析你的内容块,以及每块内容服务的目的,然后再根据这些内容目的建立起相应的HTML结构。
如果你坐下来仔细分析和规划你的页面结构,你可能得到类似这样的几块:标志和站点名称主页面内容站点导航(主菜单)子菜单搜索框功能区(例如购物车、收银台)页脚(版权和有关法律声明)我们通常采用DIV元素来将这些结构定义出来,类似这样:<div id="header"></div><div id="content"></div><div id="globalnav"></div><div id="subnav"></div><div id="search"></div><div id="shop"></div><div id="footer"></div>这不是布局,是结构。
这是一个对内容块的语义说明。
当你理解了你的结构,就可以加对应的ID在DIV上。
DIV容器中可以包含任何内容块,也可以嵌套另一个DIV。
内容块可以包含任意的HTML元素---标题、段落、图片、表格、列表等等。
根据上面讲述的,你已经知道如何结构化HTML,现在你可以进行布局和样式定义了。
每一个内容块都可以放在页面上任何地方,再指定这个块的颜色、字体、边框、背景以及对齐属性等等。
使用选择器是件美妙的事id的名称是控制某一内容块的手段,通过给这个内容块套上DIV并加上唯一的id,你就可以用CSS选择器来精确定义每一个页面元素的外观表现,包括标题、列表、图片、链接或者段落等等。
例如你为#header写一个CSS规则,就可以完全不同于#content里的图片规则。
另外一个例子是:你可以通过不同规则来定义不同内容块里的链接样式。
类似这样:#globalnav a:link或者 #subnav a:link或者#content a:link。
你也可以定义不同内容块中相同元素的样式不一样。
例如,通过#content p和#footer p分别定义#content和#footer中p的样式。
从结构上讲,你的页面是由图片、链接、列表、段落等组成的,这些元素本身并不会对显示在什么网络设备中(PDA还是手机或者网络电视)有影响,它们可以被定义为任何的表现外观。
一个仔细结构化的HTML页面非常简单,每一个元素都被用于结构目的。
当你想缩进一个段落,不需要使用blockquote 标签,只要使用p标签,并对p加一个CSS的margin规则就可以实现缩进目的。
p是结构化标签,margin是表现属性,前者属于HTML,后者属于CSS。
(这就是结构于表现的相分离.)良好结构的HTML页面内几乎没有表现属性的标签。
代码非常干净简洁。
例如,原先的代码<table width="80%" cellpadding="3" border="2" align="left">,现在可以只在HTML中写<table>,所有控制表现的东西都写到CSS中去,在结构化的HTML中,table就是表格,而不是其他什么(比如被用来布局和定位)。
亲自实践一下结构化上面说的只是最基本的结构,实际应用中,你可以根据需要来调整内容块。
常常会出现DIV嵌套的情况,你会看到"container"层中又有其它层,结构类似这样:<div id="navcontainer"><div id="globalnav"><ul>a list</ul></div><div id="subnav"><ul>another list</ul></div></div>嵌套的div元素允许你定义更多的CSS规则来控制表现,例如:你可以给#navcontainer一个规则让列表居右,再给#globalnav一个规则让列表居左,而给#subnav的list另一个完全不同的表现。
用CSS替换传统方法下面的列表将帮助你用CSS替换传统方法:HTML属性以及相对应的CSS方法HTML属性 CSS方法说明align="left"align="right" float: left;float: right; 使用CSS可以浮动任何元素:图片、段落、div、标题、表格、列表等等当你使用float属性,必须给这个浮动元素定义一个宽度。
marginwidth="0" leftmargin="0" marginheight="0" topmargin="0" margin: 0; 使用CSS, margin可以设置在任何元素上, 不仅仅是body元素.更重要的,你可以分别指定元素的top, right, bottom和left的margin值。
vlink="#333399" alink="#000000" link="#3333FF" a:link #3ff;a:visited: #339;a:hover: #999;a:active: #00f;在HTML中,链接的颜色作为body的一个属性值定义。
整个页面的链接风格都一样。
使用CSS的选择器,页面不同部分的链接样式可以不一样。
bgcolor="#FFFFFF" background-color: #fff; 在CSS中,任何元素都可以定义背景颜色,不仅仅局限于body和table 元素。
bordercolor="#FFFFFF" border-color: #fff; 任何元素都可以设置边框(boeder),你可以分别定义top, right, bottom 和leftborder="3"cellspacing="3" border-width: 3px; 用CSS,你可以定义table的边框为统一样式,也可以分别定义top, right, bottom and left边框的颜色、尺寸和样式。