DIV CSS基础教程.docx
- 文档编号:25817187
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:16
- 大小:25.16KB
DIV CSS基础教程.docx
《DIV CSS基础教程.docx》由会员分享,可在线阅读,更多相关《DIV CSS基础教程.docx(16页珍藏版)》请在冰豆网上搜索。
DIVCSS基础教程
DIVCSS基础教程
DIV+CSS基础教程
第一节了解DIV+CSS
一、什么是DIV+CSSDIV元素是html(超文本语言)中的一个元素,是标签,用来为HTML文档内大块(block-level)的内容提供结构和背景的元素。
DIV的起始标签和结束标签之间的所有内容都是用来构成这个块的,其中所包含元素的特性由DIV标签的属性来控制,或者是通过使用样式表格式化这个块来进行控制。
css是英语CascadingStyleSheets(层叠样式表单)的缩写,它是一种用来表现HTML或XML等文件式样的计算机语言。
DIV+CSS是网站标准(或称"WEB标准")中常用术语之一,通常为了说明与HTML网页设计语言中的表格(table)定位方式的区别,因为XHTML网站设计标准中,不再使用表格定位技术,而是采用DIV+CSS的方式实现各种定位。
HTML语言自HTML4.01以来,不再发布新版本,原因就在于HTML语言正变得越来越复杂化、专用化。
即标记越来越多,甚至各个浏览器生产商也开发出只适合于其特定浏览器的HTML标记,这显然有碍于HTML网页的兼容性。
于是W3C组织进而重新从SGML中获取营养,随后,发布了XML,XML是一种比HTML更加严格的标记语言,全称是可扩展标记语言。
但是XML过于复杂,且当前的大部分浏览器都不完全支持XML。
于是XHTML这种语言就派上了用场,XHTML语言就是一种可以将HTML语言标准化,用XHTML语言重写后的HTML页面可以应用许多XML应用技术。
使得网页更加容易扩展,适合自动数据交换,并且更加规整。
二、DIV+CSS的优势
1、符合W3C标准。
这保证您的网站不会因为将来网络应用的升级而被淘汰。
2、对浏览者和浏览器更具亲和力。
由于CSS富含丰富的样式,使页面更加灵活性,它可以根据不同的浏览器,而达到显示效果的统一和不变形。
这样就支持浏览器的向后兼容,也就是无论未来的浏览器大战,胜利的是什么,您的网站都能很好的兼容。
3、使页面载入得更快。
页面体积变小,浏览速度变快,由于将大部分页面代码写在了CSS当中,使得页面体积容量变得更小。
相对于表格嵌套的方式,DIV+CSS将页面独立成更多的区域,在打开页面的时候,逐层加载。
而不像表格嵌套那样将整个页面圈在一个大表格里,使得加载速度很慢。
4、保持视觉的一致性。
以往表格嵌套的制作方法,会使得页面与页面,或者区域与区域之间的显示效果会有偏差。
而使用DIV+CSS的制作方法,将所有页面,或所有区域统一用CSS文件控制,就避免了不同区域或不同页面体现出的效果偏差。
5、修改设计时更有效率。
由于使用了DIV+CSS制作方法,使内容和结构分离,在修改页面的时候更加容易省时。
根据区域内容标记,到CSS里找到相应的ID,使得修改页面的时候更加方便,也不会破坏页面其他部分的布局样式,在团队开发中更容易分工合作而减少相互关联性。
6、搜索引擎更加友好。
相对与传统的table,
采用DIV+CSS技术的网页,由于将大部分的HTML代码和内容样式写入了CSS文件中,这就使得网页中代码更加简洁,正文部分更为突出明显,便于被搜索引擎采集收录。
三、CSS+DIV网站设计的缺陷
尽管DIV+CSS具有一定的优势,不过现阶段CSS+DIV网站建设存在的问题也比较明显,主要表现在:
1、对于CSS的高度依赖使得网页设计变得比较复杂。
相对于HTML4.0中的表格布局(table),CSS+DIV尽管不是高不可及,但至少要比表格定位复杂的多,即使对于网站设计高手也很容易出现问题,更不要说初学者了,这在一定程度上影响了XHTML网站设计语言的普及应用。
2、CSS文件异常将影响整个网站的正常浏览。
CSS网站制作的设计元素通常放在一个或几个外部文件中,这些文件有可能相当复杂,甚至比较庞大,如果CSS文件调用出现异常,那么整个网站将变得惨不忍睹。
3、对于CSS网站设计的浏览器兼容性问题比较突出。
虽然说DIV+CSS解决了大部分浏览器兼容问题,但是也有在部分浏览器中使用出现异常,CSS+DIV还有待于各个浏览器厂商的进一步支持。
4、CSS+DIV对搜索引擎优化与否取决于网页设计的专业水平而不是CSS+DIV本身。
CSS+DIV网页设计并不能保证网页对搜索引擎的优化,甚至不能保证一定比HTML网站有更简洁的代码设计。
因为对于搜索引擎而言,网站结构、内容、相关网站链接等因素始终是网站优化最重要的指标。
如何更有效、更合理的运用WEB2.0设计标准,这需要很长时间的学习和锻炼。
而如何将DIV+CSS运用的更好,需要通过不断的实践和体检,积累丰富的设计经验,才能很好的掌握这门技术。
第二节CSS布局标签
一、什么时候应该用DIV?
DIV元素是一个标签,但多层嵌套的DIV会严重影响代码的可阅读性。
什么时候应该用DIV虽然没有什么硬性的规定,但DIV更适用于大体框架的定位。
例如我们要定义一块头部的区域,一般会这样定义一个DIV:
ulid="navbar"
liid="articles"
Articles/liliid="topics"
Topics/liliid="about"
About/liliid="contact"
Contact/liliid="contribute"
Contribute/liliid="feed"
Feed/li
/ulh1id="masthead"
ahref="/"
imgsrc="/pix/alalogo.gif"alt="ALISTApart:
ForPeopleWhoMakeWebsites"
/
/h1No.214
这个例子定义了最上面的导航(ul部分),左边的logo和No.214的标记.
二、最常用的布局标签
h1:
这个标签表达的意思就如同它原先的作用一样明显(大标题)。
h2:
使用最多的地方应该不是布局上,而是副标题,但有些地方需要定义栏目样式的话,用这个标签比较合适,栏目内容就使用pUl:
这个标签很多情况是用来定义导航部分的,当然也可以用ol来代替,但导航连接没有什么顺序之分,所以还是用ul来的比较确切。
b:
这个已经不再推荐使用的标签,但因为短小,在布局上却能带来不少的方便,有些时候(比如细小地方的布局定义)还是不错的选择。
CSS放入网页的方式,可以在HTML文件内直接宣告样式,也可以在外部连接套用。
外部连接套用时,所有的CSS样式都存在另外一个文件中,文件名称为.css。
第三节页面布局设计
在网页制作设计中,第一步就是构思,可以用PhotoShop或FireWorks等图片处理软件将需要制作的页面布局简单的构画出来,然后根据布局图设计。
一般来说,页面包括:
顶部部分,其中又包括了LOGO、MENU和一幅Banner图片;内容部分,又可分为侧边栏、主体内容;底部,包括一些版权信息。
可以命名为:
顶部层Header、内容层PageBody、侧边栏层SideBar、主体内容层MainBody、底部层Footer。
层的嵌套关系DIV结构设计为:
│body{}├#Header{}
├#PageBody{}│├#Sidebar{}│└#MainBody
{}└#Footer{}接下来就可以书写HTML代码和CSS了。
第四节写入整体层结构与CSS
新建一个文件夹,命名为"DIV+CSS布局练习",在文件夹下新建两个空的记事本文档。
将一个记事本文档命名为index.htm,输入以下内容:
!
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"
htmlxmlns="
headmetahttp-equiv="Content-Type"content="text/html;charset=gb2312"/
title无标题文档/titlelinkhref="css.css"rel="stylesheet"type="text/css"/
/headbody
/body
/html
这是XHTML的基本结构。
下面,我们在body/body标签对中写入DIV的基本结构,为了使以后阅读代码更简易,我们添加相关注释:
divid="container"[color=#aaaaaa]!
--页面层容器--[/color]
divid="Header"[color=#aaaaaa]!
--页面头部--[/color]
/divdivid="PageBody"[color=#aaaaaa]!
--页面主体--[/color]
divid="Sidebar"[color=#aaaaaa]!
--侧边栏--[/color]
/divdivid="MainBody"[color=#aaaaaa]!
--主体内容--[/color]
/div
/divdivid="Footer"[color=#aaaaaa]!
--页面底部--[/color]
/div
/div
将另一个记事本文档命名为css.css,写入CSS信息,代码如下:
body{font:
12pxTahoma;margin:
0px;text-align:
center;background:
#FFF;}
#container{width:
100%}
#Header{width:
800px;margin:
0auto;height:
100px;background:
#FFCC99}
#PageBody{width:
800px;margin:
0auto;height:
400px;background:
#CCFF00}
#Footer{width:
800px;margin:
0auto;height:
50px;background:
#00FFFF}
把以上文件保存,用浏览器打开,这时我们已经可以看到基础结构了,这个就是页面的框架了。
温馨提示:
1、请养成良好的注释习惯,这是非常重要的;
2、body是一个HTML元素,页面中所有的内容都应该写在这标签对之内;
3、一些常用的CSS代码的含义:
font:
12pxTahoma;这里使用了缩写,说明字体为12像素大小,字体为Tahoma格式。
完整的代码是:
font-size:
12px;font-family:
Tahoma;
margin:
0px;使用了缩写,完整的是:
margin-top:
0px;margin-right:
0px;margin-bottom:
0px;margin-left:
0px,也可以写成margin:
0px0px0px0px,顺序是上/右/下/左,还可以书写为margin:
0(缩写);这个样式说明body部分对上右下左边距为0像素,如果使用auto则是自动调整边距,另外还有以下几种写法:
margin:
0pxdauto;说明上下边距为0px,左右为自动调整;以后使用到的padding属性和margin有许多相似之处,他们的参数是一样的,只不过各自表示的含义不相同,margin是外部距离,而padding则是内部距离。
text-align:
center文字对齐方式,可以设置为左、右、中,这里设置为居中对齐。
background:
#FFF设置背景色为白色,这里颜色使用了缩写,完整的应该是background:
#FFFFFF。
background可以用来给指定的层填充背景色、背景图片,以后会用到这个格式:
background:
#ccc:
url('bg.gif')topleftno-repeat;表示使用#CCC(灰度色)填充整个层,使用bg.gif做为背景图片,topleft表示图片位于当前层的左上端,no-repeat表示仅显示图片大小而不填充满整个层。
top/right/bottom/left/center用于定位背景图片,分别表示上/右/下/左/中;还可以使用background:
url('bg.gif')20px100px;表示X座标为20像素,Y座标为100像素的精确定位;repeat/no-repeat/repeat-x/repeat-y分别表示填充满整个层/不填充/沿X轴填充/沿Y轴填充。
height/width/color分别表示高度(px)、宽度(px)、字体颜色(HTML色系表)。
4、可以看到,整个页面是居中显示的,因为我们在#container中使用了以下属性:
margin:
0auto;
这个表示上下边距为0,左右为自动,因此该层就会自动居中了。
如果要让页面居左,则取消掉auto值就可以了,因为默认就是居左显示的。
第五节页面顶部制作
当我们写好了页面大致的DIV结构后,我们就可以开始细致地对每一个部分进行制作了。
我们把css.css中的样式全部清除掉,重新写入以下样式代码:
body{font:
12pxTahoma;margin:
0px;text-align:
center;background:
#FFF;}
a:
link,a:
visited{font-size:
12px;text-decoration:
none;}
a:
hover{}
#container{width:
800px;margin:
10pxauto}
以上样式说明如下:
a:
link,a:
visited{font-size:
12px;text-decoration:
none;}
a:
hover{}
这两项分别是控制页面中超链接的样式。
#container{width:
800px;margin:
10pxauto}
指定整个页面的显示区域。
width:
800px指定宽度为800像素,这里根据实际所需设定。
margin:
10pxauto,则是页面上、下边距为10个像素,并且居中显示。
接下来,开始制作TOP部分,TOP部分包括了LOGO、菜单和Banner,首先在FW下对设计好的图片进行切片,第一部分
为LOGO部分,由于LOGO图片并没有太多的颜色,这里我于是将这一部分保存为GIF格式(这样能使页面载入的速度更快,当然使用此格式之前必须确定图片并没有使用太多的颜色),调色板选择为精确,选择Alpha透明度,色版为白色(此处颜色应与背景色相同),导出为logo.gif,图像宽度为800px。
第二部分为Banner部分,因为Banner部分是一个细致的图片,如果使用GIF格式颜色会有太大的损失,所以必须使用JPEG格式,将文件导出为banner.jpg。
然后我们在css.css中再写入以下样式:
#header{background:
url(logo.gif)no-repeat}
这个样式给页面头部分加入一个背景图片LOGO,并且不作填充。
这里,我们没有指定header层的高度,因为header层中还有菜单和banner项,所以层的高度暂时是未知的,而层的属性又可以让层根据内容自动设定调整,因此我们并不需要指定高度。
下面我们制作菜单,代码如下:
divid="menu"
ulliahref="#"首页/a/liliclass="menuDiv"/liliahref="#"博客/a/liliclass="menuDiv"/liliahref="#"设计/a/liliclass="menuDiv"/liliahref="#"相册/a/liliclass="menuDiv"/liliahref="#"论坛/a/liliclass="menuDiv"/liliahref="#"关于/a/li
/ul
/divdivid="banner"
/div
以上ul/ul、li/li这两个HTML元素主要的作用就是在HTML中以列表的形式来显示一些信息。
对菜单使用列表li形式,可以在以后方便对菜单定制样式。
liclass="menuDiv"/li这一段代码是可以方便地对菜单选项之间插入一些分隔样式,例如预览图中的竖线分隔。
需要分清楚的是,当在HTML中定义为id="divID"时,在CSS对应的设置语法则是#divID{}存,如果在HTML中定义为class="divID"时,则在CSS中对应的设置语法是.divID。
如果id="divID"这个层中包括了一个img/img,则这个img在CSS中对应的设置语法应该是#divIDximg{},同样,如果是包含在class="divID"这个层中时,则设置语法应该是.divIDimg{}。
另外,HTML中的一切元素都是可以定义的,例如table、tr、td、th、form、img、input.等等,如果你要在CSS中设置它们,则直接写入元素的名称加上一对大括号{}就可以了。
所有的CSS代码都应该写在大括号{}中。
然后我们在css.css中再写入以下样式:
#menuul{list-style:
none;margin:
0px;}
#menuulli{float:
left;}
第一个样式list-style:
none,这一句是取消列表前点,因为我们不需要这些点。
margin:
0px,这一句是删除UL的缩进,这样做可以使所有的列表内容都不缩进。
第二个样式使用了浮动属性(float),float:
left是让内容都在同一行显示。
我们在#menuulli{}再加入代码margin:
010px,改成:
#menuulli{float:
left;margin:
010px}
margin:
010px的作用是让列表内容之间产生一个20像素的距离(左:
10px,右:
10px)。
明白了这些,我们再来固定菜单的位置,把代码改成如下:
#menu{padding:
20px20px00}
#menuul{float:
right;list-style:
none;margin:
0px;}
#menuulli{float:
left;margin:
010px}
这样,位置就确定了。
下面在菜单间加入竖线,对留好的空的liclass="menuDiv"/li,再添加以下代码:
.menuDiv{width:
1px;height:
28px;background:
#999}
保存预览一下,竖线已经出来。
不过,菜单选项的文字却在顶部,我们再修改成以下代码:
#menuulli{float:
left;margin:
010px;display:
block;line-height:
28px}
效果基本上已经实现了,剩下的就是修改菜单的超链接样式,在css.css中添加以下代码:
#menuullia:
link,#menuullia:
visited{font-weight:
bold;color:
#666}
#menuullia:
hover{}
第六节页面顶部的完整代码
下面给出本例页面顶部的完整代码,供学习参考:
index.htm的内容:
!
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"
htmlxmlns="
headmetahttp-equiv="Content-Type"content="text/html;charset=gb2312"/
title无标题文档/titlelinkhref="css.css"rel="stylesheet"type="text/css"media="all"/
/headbodydivid="container"
divid="header"
divid="menu"
ulliahref="#"首页/a/liliclass="menuDiv"/liliahref="#"博客/a/liliclass="menuDiv"/liliahref="#"设计/a/liliclass="menuDiv"/liliahref="#"相册/a/liliclass="menuDiv"/liliahref="#"论坛/a/liliclass="menuDiv"/liliahref="#"关于/a/li
/ul
/divdivid="banner"
/div
/div
/div
/body
/htmlcss.css的代码:
body{font:
12pxTahoma;margin:
0px;text-align:
center;background:
#FFF;}
a:
link,a:
visited{font-size:
12px;text-decoration:
none;}
a:
hover{}
#container{width:
800px;height:
600px;margin:
10pxauto}
#header{background:
url(logo.gif)no-repeat}
#menu{padding:
20px20px00}
#menuul{float:
right;list-style:
none;margin:
0px;}
#menuulli{float:
left;display:
block;line-height:
30px;margin:
010px}
#menuullia:
link,#menuullia:
visited{font-weight:
bold;color:
#666}
#menuullia:
hover{}
.menuDiv{width:
1px;height:
28px;background:
#999}
#banner{background:
url(banner.jpg)030pxno-repeat;width:
730px;margin:
auto;height:
240px;border-bottom:
5pxsolid
#EFEFEF;clear:
both}
#pagebody{width:
800px;margin:
0auto;height:
400px;background:
#CCFF00}
#footer{width:
800px;margin:
0auto;height:
50px;background:
#00FFFF}
第七节Div+CSS的border和clear属性
如果你曾用过table制作网页,你就应该知道,如果要在表格中绘制一条虚线该如何做,那需要制作一个很小的图片来填充,其实我们还有更简单的办法,只要在td/td中加入这么一段就可以了,你可以试试:
divstyle="border-bottom:
1pxdashed#ccc"/div
其实利用dashed、solid、dotted.等可以制作出许多效果来,实线、虚线、双线、阴影线等等。
divid="banner"/div
以上代码便可以实现banner,在css.css中加入以下样式:
#banner{
background:
url(banner.jpg)030pxno-repeat;
width:
730px;
margin:
auto;
height:
240px;
border-bottom:
5pxsolid#EFEFEF;
clear:
both
}
通过border很容易就绘制出一条实线了,并且减少了图片下载所占用的网络资源,使得页面载入速度变得更快。
再看看clear:
both,表示清除左、右所有的浮动,在接下来的布局中我们还会用这个属性:
clear:
left/right。
在这里添加clear:
both是由于之前的ul、li元素设置了浮动,如果不清除则会影响banner层位置的设定。
divid="pageb
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DIV CSS基础教程 CSS 基础教程