DIV+CSS网页布局初级入门系列教程-2要点

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第三天二列和三列布局今天学习《十天学会web标准(div+css)》的二列和三列布局,将涉及到以下内容和知识点二列自适应宽度二列固定宽度二列固定宽度居中xhtml的块级元素(div)和内联元素(span)float属性三列自适应宽度三列固定宽度三列固定宽度居中IE6的3像素bug一、两列自适应宽度下面以常见的左列固定右列自适应为例,因为div为块状元素,默认情况下占据一行的空间,要想让下面的div跑到右侧,就需要做助css的浮动来实现。首先创建html代码如下:divid=side此处显示idside的内容/divdivid=main此处显示idmain的内容/div按照如图所示的创建方法,把两个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的空隙,大家可以试一下。!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//EN==Content-Typecontent=text/html;charset=gb2312/style#side{background:#99FF99;height:300px;width:120px;float:left;}#main{background:#99FFFF;height:300px;width:70%;margin-left:120px;}/style/headbodydivid=side此处显示idside的内容/divdivid=main此处显示idmain的内容/div/body/html提示:可以先修改部分代码后再运行二、两列固定宽度有了前面的基础,两列固定宽度就容易多了,只需要把#main的宽度由百分比改为固定值,如下图:三、两列固定宽度居中两列固定宽度居中,需要在两列固定宽度的基础上改进,在学一列固定宽度居中时,我们知道让它居中的方法,所以这里需要在这两个div之外再加一个父div:divid=contentdivid=side此处显示idside的内容/divdivid=main此处显示idmain的内容/div/div操作方法:在源代码里选中这两个div的代码后,点击工具栏上插入div按钮,填写id后确定,得到如上的代码下面就需要设置#content的样式了,我们知道,#side的宽度为120px,#main宽度为350px,那么#content的宽度应该为这两者之和,然后设置#content居中,那么整体就居中了:!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//EN==Content-Typecontent=text/html;charset=gb2312/style#content{width:470px;margin:0auto;}#side{background:#99FF99;height:300px;width:120px;float:left;}#main{background:#99FFFF;height:300px;width:350px;margin-left:120px;}/style/headbodydivid=contentdivid=side此处显示idside的内容/divdivid=main此处显示idmain的内容/div/div/body/html提示:可以先修改部分代码后再运行四、xhtml的块级元素(div)和内联元素(span)块级元素:就是一个方块,像段落一样,默认占据一行出现;内联元素:又叫行内元素,顾名思义,只能放在行内,就像一个单词,不会造成前后换行,起辅助作用。一般的块级元素诸如段落p、标题h1h2...、列表,ulolli、表格table、表单form、DIVdiv和BODYbody等元素。而内联元素则如:表单元素input、超级链接a、图像img、span........块级无素的显著特点是:每个块级元素都是从一个新行开始显示,而且其后的无素也需另起一行进行显示。从上图的例子可以看出,块级元素默认占据一行,相当于在它之前和之后各插入了一个换行;而内联元素span没对显示效果造成任何影响,事实也是如此;em只是让字体变成了斜体,也没有单独占据一行。这就是块级元素和内联元素,正因为有了这些元素,才使我们的网页变得丰富多彩。如果没有css的作用,块元素会顺序以每次另起一行的方式一直往下排。而有了css以后,我们可以改变这种html的默认布局模式,把块元素摆放到你想要的位置上去。而不是每次都愚蠢的另起一行。也就是说,可以用css的display:inline将块级元素改变为内联元素,也可以用display:block将内联元素改变为块元素。五、float属性回到我们的例子当中,理解了块级元素和内联元素,对理解浮动就容易多了。float是个重点,希望大家都能理解。上例中用float让元素向左浮动,在CSS中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素;且要指明一个宽度,否则它会尽可能地窄;另外当可供浮动的空间小于浮动元素时,它会跑到下一行,直到拥有足够放下它的空间。想必大家都用过word排过版,当中有个图文混排功能,如下图:这个功能非常类似于css中的浮动,下面我们用css来实现这一功能:divid=sideimgsrc==192height=142//divdivid=main标准之路[]提供DIV+CSS教程,DIV+CSS视频教程,web2.0标准,DIV+CSS布局入门教程,网页布局实例,css布局实例,div+css模板,div+css实例解析,网站重构,网页代码,水晶图标,幻灯广告图片.教程适合初学者循序渐进学习!/div创建完以上代码后,在浏览器中预览会显示如下结果:下面用css让side浮动,再看看效果body{font-size:18px;line-height:200%;}#side{float:left;}大家看看,是不是和word的效果已经很像相了,但这里的文字和图片右侧贴的很近,怎么办呢?刚才已经说了,当元素浮动过之后,需要指定一个宽度,否则它会尽可能窄。那么把side的宽度设置为大于图片的宽度,它们中间应该就有空隙了。图片的宽度是192px,设置side为202px,中间将会有10px的空隙了。body{font-size:18px;line-height:200%;}#side{float:left;width:202px;}细心的朋友已经发现,上例中#main的div还定义了margin-left:120px;而这里没有定义,但它多出的文字却跑到了图片(#side)的下方,是不是设置margin-left:后,它就不会跑到#side的正文呢?如果你能想到这一点,你的确是太聪明了,事实确实是这样,在css样式表中加上下面一行#main{margin-left:202px;}这就是如何应用浮动实现两列布局的原理。那么三列呢?六、三列自适应宽度三列自适应宽度,一般常用的结构是左列和右列固定,中间列根据浏览器宽度自适应。下面在二列自适应宽度基础上修改一下divid=side此处显示idside的内容/divdivid=side1此处显示idside1的内容/divdivid=main此处显示idmain的内容/div增加以下css样式:#side1{background:#99FF99;height:300px;width:120px;float:right;}把原来#main样式的width:70%去掉,然后设置左右外边距各120px,让出左右列的宽度#main{background:#99FFFF;height:300px;margin:0120px;}预览一下效果如下:也许预览出来的效果和我的不一样,别急,还有一项设置,默认body是有外边距的,所以这里还得设置body的外边距为0;点击css面板上的新建按钮,然后在新建面板中选择:标签(重定义标签外观),然后选择body,设置body的边界为0即可。!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//EN==Content-Typecontent=text/html;charset=gb2312/stylebody{margin:0;}#side{background:#99FF99;height:300px;width:120px;float:left;}#side1{background:#99FF99;height:300px;width:120px;float:right;}#main{background:#99FFFF;height:300px;margin:0120px;}/style/headbodydivid=side此处显示idside的内容/divdivid=side1此处显示idside1的内容/divdivid=main此处显示idmain的内容/div/body/html提示:可以先修改部分代码后再运行七、三列固定宽度三列固定宽度可以在三列自适应基础上添加一个父div,并设置这个div的宽度即可,如下,添加一个id为content的父容器。在源代码里选中这三个div,然后点击工具栏上的“插入div标签”按钮,这时弹出的窗口插入项会默认为:在选定的内容旁换行,输入id为content,然后给这个div定义个宽度三列固定宽度出来了,要想实现三列固定宽度居中就更方便了,只需设置#content{margin:0auto;}即可!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//EN

1 / 53
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功