CSS实战篇十天学会Web标准DIVCSS网页标准布局实例教程IT168文库.docx
- 文档编号:5683837
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:50
- 大小:155.58KB
CSS实战篇十天学会Web标准DIVCSS网页标准布局实例教程IT168文库.docx
《CSS实战篇十天学会Web标准DIVCSS网页标准布局实例教程IT168文库.docx》由会员分享,可在线阅读,更多相关《CSS实战篇十天学会Web标准DIVCSS网页标准布局实例教程IT168文库.docx(50页珍藏版)》请在冰豆网上搜索。
CSS实战篇十天学会Web标准DIVCSS网页标准布局实例教程IT168文库
第一天 XHTMLCSS基础知识
欢迎大家学习《十天学会web标准》,也就是我们常说的DIV+CSS。
不过这里的DIV+CSS是一种错误的叫法,建议大家还是称之为web标准。
学习本系列教程需有一定html和css基础,也就是指您之前做过网页,会用表格布局。
如果您刚开始学习网页制作,不知道什么是表格布局及html和css,建议您先去充电,否则学习本教程会非常吃力或者根本就听不懂。
由于时间关系,本教程只讲解一些基础知识,让您从原来的表格布局跨入到web标准(div+css)布局,会使用web标准制作出常见的页面,这也达到了本教程的目的。
本教程多以实例形式循序渐进讲解,实例涉及到哪些关键点或难点就讲解什么,较少讲解概念。
因为概念这些东西很难说明白,或者说明白你也不一定能听懂,听懂了也不一定能理解。
所以把概念留给大家以后再深入研究。
由于章节关系,没有把css和csshack单独分出,只是在用到的时候穿插入讲解了。
html基础和css基础只在第一节中介绍了几点重要的。
下面我们开始第一天的学习
一、xhtmlcss基础知识
首先说一下我们这节课的知识点
1.文档类型
2.语言编码
3.html标签
4.css样式
5.css优先级
6.css盒模型组成
1)文档类型
当我们用dreamweaver新建一下html格式文档时,查看源代码,会发现代码最上部有如下这句话:
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/xhtml1/DTD/xhtml1-transitional.dtd">
这句话标明本文档是过渡类型,另外还有框架和严格类型,目前一般都采用过渡类型,因为浏览器对XHTML的解析比较宽松,允许使用HTML4.01中的标签,但必须符合XHTML的语法。
许多朋友在制作页面时,往往喜欢把这句删除掉,在这里建议大家一定要保留这句话,删除它后可能引起某些样式表失效或其它意想不到的问题。
2)语言编码
接下来我们还会发现这样一句话:
它标示文档的语言编码。
就像我们平时所说的汉语、英语一样。
这里的gb2312告诉浏览器,本文档采用简体中文编码;还有一种常用的编码是UTF-8编码,它是国际通用的编码。
不管我们采用哪种编码,有一点就是包含的css样式表和其它文件也必须和本文档的编码一样,要不就会出现乱码。
3)html标签
html标签在页面中都必须结束。
成对的标签以“/标签名”结束,有些单一的标签在本身的结尾打上/来结束,这是xhtml代码编写的规范。
成对的标签:
{...}{...}{...}
{...}
......
单一的标签:
.......
还需说明一点的是按xhtml规范,标签必须用小写。
4)css样式
加载css样式有以下四种
∙外部样式
∙内部样式
∙行内样式
∙导入样式
这种形式是把css单独写到一个css文件内,然后在源代码中以link方式链接。
它的好处是不但本页可以调用,其它页面也可以调用,是最常用的一种形式。
h2{color:
#f00;}
这种形式是内部样式表,它是以结尾,写在源代码的head标签内。
这样的样式表只能针对本页有效。
不能作用于其它页面。
18px;">内部样式
这种在标签内以style标记的为内部样式,内部样式只针对标签内的元素有效,因其没有和内容相分离,所以不建议使用。
@importurl("/css/global.css");
链接样式是以@importurl标记所链接的外部样式表,它一般常用在另一个样式表内部。
如layout.css为主页所用样式,那么我们可以把全局都需要用的公共样式放到一个global.css的文件中,然后在layout.css中以@importurl("/css/global.css")的形式链接全局样式,这样就使代码达到很好的重用性。
5)css优先级
∙id优先级高于class
∙后面的样式覆盖前面的
∙指定的高于继承
∙行内样式高于内部或外部样式
∙总结:
单一的(id)高于共用的(class),有指定的用指定的,无指定则继承离它最近的
6)css盒模型组成
css盒模型是本节教程的重点。
前面几个知识点,如果您会用表格布局的话,就非常好理解和掌握了。
这里的盒模型是和table布局的一个不同点。
学习web标准,首先要弄懂的就是这个盒模型,这就是DIV排版的核心所在。
传统的表格排版是通过大小不一的表格和表格嵌套来定位排版网页内容,改用CSS排版后,就是通过由CSS定义的大小不一的盒子和盒子嵌套来编排网页。
这种排版方式的网页代码简洁,表现和内容相分离,维护方便,能兼容更多的浏览器,比如PDA设备也能正常浏览。
那么它为什么叫盒子呢?
先说说我们在网页设计中常听的属性名:
内容(content)、填充(padding)、边框(border)、边界(margin),CSS盒子模式都具备这些属性。
我们可以把它想像成现实中上方开口的盒子,然后从正上往下俯视,边框相当于盒子的厚度,内容相对于盒子中所装物体的空间,而填充呢,相当于为防震而在盒子内填充的泡沫,边界呢相当于在这个盒子周围要留出一定的空间,方便取出。
是不是这样就很容易理解盒模型了。
所以整个盒模型在页面中所占的宽度是由左边界+左边框+左填充+内容+右填充+右边框+右边界组成,而css样式中weight所定义的宽度仅仅是内容部分的宽度,这是许多朋友容易搞混的地方
这里的边界我们也称之为:
外边距、外补丁;填充也叫:
内边距、内补丁。
如果现在您对CSS盒模型理解还不够透彻,继续往下看,后来的章节会都会应用到盒模型实例。
二、如何开始学习web标准?
1)有HTML和CSS基础
学习本系列教程前,要求您有一定的html和css基础,制作过网页,会用表格进行网页布局,这样学习起来才会很轻松。
如果您对这些还不懂,建议先学习这些知识,然后再来学习本教程。
2)转变观念
在以前我们制作网站时,总是习惯于先考虑外观、颜色、字体及布局等所有表现在页面上的内容。
但外观并不是最重要的,相反最终用户在访问网页时的体验才是优先要考虑的。
一个由div+css布局且结构良好的页面可以通过css定义成任何外观,在任何网络设备上(包括手机、PDA和计算机)上以任何外观表现出来,而且用div+css布局构建的网页以够简化代码,加快显示速度。
所以要想学好div+css,首先要转变观念,需要抛弃传统的表格(Table)布局方式,采用层(DIV)布局,并且使用层叠样式表(CSS)来实现页面的外观。
给网站浏览者更好的体验。
3)多动手、多动脑
说到这点,有点小儿科了,就像我们上小学时老师常常教我们的那样。
为什么我在这里也做为一点列出来呢,我是通过评论发现,有些同学提的问题太没水平了,稍微动下脑筋就明白了,或者自己动手一试就知道了,但他就懒得试。
举个简单的例子,拿浏览器兼容来说吧,你写个样式之后,在IE和火狐分别打开看一下不就明白了,但就是不去做。
还有一个同学留言要我把一个实例中的图片打包发给他,我一看代码,就用到一张图片,无语了,有你留言的这个时间,自己也早把图片下载下来了。
所以在这里告诫大家,一定要多动手、多动脑,不要怕麻烦。
另外在学习完一节教程后,一定要自己做一遍实例,这样能更快掌握。
第二天一列布局
今天我们开始学习《十天学会web标准(div+css)》的一列布局,包含以下几种形式:
∙一列固定宽度
∙一列固定宽度居中
∙一列自适应宽度
∙一列自适应宽度居中
∙一列二至多块布局
前一节我们回顾了xhtml基础和css基础部分,今天我们正式开始使用网页制作软件——adobe公司出品的dreamweaver来开始网页设计之旅。
相信之前您已经用过这个软件了,具体怎么使用我就不讲了。
为了照顾部分朋友,今天课程的css部分我们是以可视化生成方式,不过建议大家能手写的尽量还是手写,这样有助于提高效率。
一、一列固定宽度
我们先看一下一列固定宽度,首先要新建一个页面:
注意:
这里的文档类型是过渡型,目前我们采用这种宽松验证方式。
接下来在页面中插入一个div标签,我们可以点击工具栏的“插入DIV标签”按钮,在打开的对话框中ID项给这个div命一下名,我们给它起个名叫layout(名称根据自己需要命名)。
插入div后,在右侧的css样式面板中,定义id为layout的样式,确定后在打开的css编辑对话框的方框选项中设计宽度500,高度300。
为了看清楚起见,我们把这个div设置个背景色,这样就能预览出大小和位置了。
这里选择高级,然后在选择器中填写:
#layout,如果是选中div后,再点击添加,它会自动添加上。
因为是定义ID,所以前面需要加#,后面会有id和class的详细讲解
我们预览一下,看看在IE中的显示效果,一列固定宽度就这样做成了,简单吧!
CSS代码及在IE中显示如下:
#layout{height:
300px;width:
400px;background:
#99FFcc;}
标准之路提示:
可以先修改部分代码后再运行
二、一列固定宽度居中
一列固定宽度居中和一列固定宽度相比,我们要解决的问题就是居中。
这里我们用到css的外边距属性:
margin。
在IE6及以上版本和标准的浏览器当中,当设置一个盒模型的的margin:
auto;时,可以让这个盒模型居中。
我们下边在css样式表中加上这个属性看看效果:
#layout{height:
300px;width:
400px;background:
#99FFcc;margin:
auto;}
在dreamweaver的设计视图中我们选中看看,是不是已经居中了,我们再在IE下预览一下,同样居中。
标准之路提示:
可以先修改部分代码后再运行
三、一列自适应宽度
自适应宽度是相对于浏览器而言,盒模型的宽度随着浏览器宽度的改变而改变。
这时要用到宽度的百分比。
当一个盒模型不设置宽度时,它默认是相对于浏览器显示的。
我们把刚才的固定宽度例子中的宽度去掉看看:
#layout{height:
300px;background:
#99FFcc;}
有些朋友可能要问了,那为什么还有那么宽的白边呢?
这个是由body默认的外边距造成的。
当我们不用任何样式表进行定义时,body,h1-h6,ul等元素默认有外边距或其它样式的。
这里我们在css样式中增加一项:
body{margin:
0;},就可以把body默认的外边距去掉,这时再预览一下,白边就没了。
body{margin:
0px;}
#layout{height:
300px;background:
#99FFcc;}
这里的选择器类型是新手朋友最容易迷糊的地方,类:
是指定义一个class,可以多个对象引用;标签:
指对默认的html标签进行重新定义,如可以定义body{margin:
0},意思是 将body的外边距设置为0,h2{color:
#f00}是将所有h2标签的文字颜色设置为红色;高级它把ID和伪类放到一块了,是一个设置不合理的地方,在cs4版本中已经分开了。
ID是以#开始,id只能作用于一个对象,不能作用于多个对象,优先级高于class,这是id和class的区别。
伪类会在第九节时详细讲解
如果我们需要按浏览器的80%显示,那么设置宽度为80%,当改变浏览器窗口大小时,盒模型的宽度也会跟着改变。
标准之路提示:
可以先修改部分代码后再运行
四、一列自适应宽度居中
同样和固定宽度居中一样,我们只需要设置div的外边距为auto即可实现居中了。
body{margin:
0px;}
#layout{margin:
auto;height:
300px;background:
#99FFcc;width:
80%;}
标准之路提示:
可以先修改部分代码后再运行
五、一列二至多块布局
一般的网站整体可以分为上中下结构,即:
头部、中间主体、底部。
那么我们可以用三个div块来划分,分别给它们起名为:
头部(header)、主体(maincontent)、询问(footer)。
采用固定宽度居中的方式,代码如下:
body{margin:
0;padding:
0;}
#header{margin:
5pxauto;width:
500px;height:
80px;background:
#9F9;}
#main{margin:
5pxauto;width:
500px;height:
400px;background:
#9FF;}
#footer{margin:
5pxauto;width:
500px;height:
80px;background:
#9f9;}
为了便于区分,在背景项里设置了背景色,这里不在贴图。
依此类推,把另外两个div块给置好,整个效果就出来了。
这是一个大多数网站采用的上中下布局结构。
标准之路提示:
可以先修改部分代码后再运行
许多朋友在问:
为什么两个相邻的容器中间的间距不是10px,而是5px呢?
按照我们正常的理解,认为应该是两个值相加,其实这里是两个合并后取最大值。
用css手册中的话说:
块级元素的垂直相邻外边距会合并,而行内元素实际上不占上下外边距。
行内元素的的左右外边距不会合并。
同样地,浮动元素的外边距也不会合并。
允许指定负的外边距值,不过使用时要小心(有关块级元素和行内元素的概念在下一节讲到)。
六、小结
本节课涉及到以下知识点:
1、CSS可视化生成、格式化
本教程便于新手学习,采用dw的css可视化生成方式,熟练后的朋友尽量手写,这样可以提高工作效率。
目前来说,希望常用的大家都能记住。
关于css的格式化,指css的排版方式,细心的朋友已发现,我在这里贴出的css代码,每个类或ID都是写在一行的。
可能你的还是分成多行,怎么把它们弄到一行上呢?
请看下面的代码和图示:
body{
margin:
0;
padding:
0;
}
#header{
margin:
5pxauto;
width:
500px;
height:
80px;
background:
#9F9;
}
#main{
margin:
5pxauto;
width:
500px;
height:
400px;
background:
#9FF;
}
#footer{
margin:
5pxauto;
width:
500px;
height:
80px;
background:
#9f9;
}
经过以上三步之后,看看,你的代码是不是和我的一样了。
还
2、CSS缩写
css的许多属性是可以简写的,这样便于阅读和修改,减少代码量,设置方法如下:
把需要缩写的项目选中,再生成的css代码即为简写形式了。
这里所说的是多个属性合并到一块的简写方式,另外像颜色值了也可以简写的。
比如颜色值为#ff6600;可以简写为#f60;两位两位一样的才可以简写,像#c2c2c2是不可以简写的。
3、CSS语法
如图所示,CSS语法由如下三部分构成,选择器:
可以是ID、CLASS或标签;属性和值是用来定义这个物件的某一个特性。
如一张桌子的长120cm,宽60cm,套用css的格式为,桌子{长:
120cm;宽:
60cm;},这样是不是容易理解。
4、ID和CLASS选择器
id只能在页面中对应一个元素,就像我们的身份证号一样,每个人的都不一样;class为类,可以对应多个元素,比如说一年级三班的学生,它所对应的可能是10个20个学生。
id的优先级高于class,比如说今天三班的学生上体育课,小明留下来打扫卫生。
那么三班的学生上体育课这是一个类,而小明打扫卫生这是个id,虽然小明也是三班的学生,但id高于class,所以小明执行打扫卫生的任务。
第三天二列和三列布局
今天学习《十天学会web标准(div+css)》的二列和三列布局,将涉及到以下内容和知识点
∙二列自适应宽度
∙二列固定宽度
∙二列固定宽度居中
∙xhtml的块级元素(div)和内联元素(span)
∙float属性
∙三列自适应宽度
∙三列固定宽度
∙三列固定宽度居中
∙IE6的3像素bug
一、两列自适应宽度
下面以常见的左列固定右列自适应为例,因为div为块状元素,默认情况下占据一行的空间,要想让下面的div跑到右侧,就需要做助css的浮动来实现。
首先创建html代码如下:
按照如图所示的创建方法,把两个div都创建出来,或手工写出代码。
div创建完成后,开始创建css样式表,代码如下:
#side{background:
#99FF99;height:
300px;width:
120px;float:
left;}
#main{background:
#99FFFF;height:
300px;width:
70%;margin-left:
120px;}
先创建#side的样式,为了便于查看,设置了背景色。
注意,side的浮动设置为向左浮动;
然后创建#main样式,注意这里设置#main的左边距为120px。
预览结果如下:
当我们拖动浏览器窗口变大变小时,#main的宽度也会跟着改变。
这里设置margin-left:
120px;正好让出#side占去的120px宽度,如果这里设置为122px的话,中间将出现2px的空隙,大家可以试一下。
标准之路提示:
可以先修改部分代码后再运行
二、两列固定宽度
有了前面的基础,两列固定固定宽度就容易多了,只需要把#main的宽度由百分比改为固定值,如下图:
三、两列固定宽度居中
两列固定宽度居中,需要在两列固定宽度的基础上改进,在学一列固定宽度居中时,我们知道让它居中的方法,所以这里需要在这两个div之外再加一个父div: