DIVCSS网页布局初级入门系列教程.doc

上传人:飞****2 文档编号:52753957 上传时间:2022-10-23 格式:DOC 页数:53 大小:1.39MB
返回 下载 相关 举报
DIVCSS网页布局初级入门系列教程.doc_第1页
第1页 / 共53页
DIVCSS网页布局初级入门系列教程.doc_第2页
第2页 / 共53页
点击查看更多>>
资源描述

《DIVCSS网页布局初级入门系列教程.doc》由会员分享,可在线阅读,更多相关《DIVCSS网页布局初级入门系列教程.doc(53页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第三天 二列和三列布局今天学习十天学会web标准(div+css)的二列和三列布局,将涉及到以下内容和知识点 二列自适应宽度 二列固定宽度 二列固定宽度居中 xhtml的块级元素(div)和内联元素(span) float属性 三列自适应宽度 三列固定宽度 三列固定宽度居中 IE6的3像素bug一、两列自适应宽度下面以常见的左列固定右列自适应为例,因为div为块状元素,默认情况下占据一行的空间,要想让下面的div跑到右侧,就需要做助css的浮动来实现。首先创建html代码如下:此处显示 id side 的内容此处显示 id main 的内容按照如图所示的创建方法,把两个div都创建出来,或手工

2、写出代码。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-

3、left:120px;正好让出#side占去的120px宽度,如果这里设置为122px的话,中间将出现2px的空隙,大家可以试一下。#side background: #99FF99; height: 300px; width: 120px; float: left; #main background: #99FFFF; height: 300px; width: 70%; margin-left: 120px; 此处显示 id side 的内容此处显示 id main 的内容提示:可以先修改部分代码后再运行二、两列固定宽度有了前面的基础,两列固定宽度就容易多了,只需要把#main的宽度由百分

4、比改为固定值,如下图:三、两列固定宽度居中两列固定宽度居中,需要在两列固定宽度的基础上改进,在学一列固定宽度居中时,我们知道让它居中的方法,所以这里需要在这两个div之外再加一个父div:此处显示 id side 的内容此处显示 id main 的内容操作方法:在源代码里选中这两个div的代码后,点击工具栏上插入div按钮,填写id后确定,得到如上的代码下面就需要设置#content的样式了,我们知道,#side的宽度为120px,#main宽度为350px,那么#content的宽度应该为这两者之和,然后设置#content居中,那么整体就居中了:#content width:470px;

5、margin:0 auto;#side background: #99FF99; height: 300px; width: 120px; float: left; #main background: #99FFFF; height: 300px; width: 350px; margin-left: 120px; 此处显示 id side 的内容 此处显示 id main 的内容提示:可以先修改部分代码后再运行四、xhtml的块级元素(div)和内联元素(span)块级元素:就是一个方块,像段落一样,默认占据一行出现;内联元素:又叫行内元素,顾名思义,只能放在行内,就像一个单词,不会造成前后

6、换行,起辅助作用。一般的块级元素诸如段落、标题.、列表, 、表格、表单、DIV和BODY等元素。而内联元素则如: 表单元素、超级链接、图像、 . 块级无素的显著特点是:每个块级元素都是从一个新行开始显示,而且其后的无素也需另起一行进行显示。从上图的例子可以看出,块级元素默认占据一行,相当于在它之前和之后各插入了一个换行;而内联元素span没对显示效果造成任何影响,事实也是如此;em只是让字体变成了斜体,也没有单独占据一行。这就是块级元素和内联元素,正因为有了这些元素,才使我们的网页变得丰富多彩。如果没有css的作用,块元素会顺序以每次另起一行的方式一直往下排。而有了css以后,我们可以改变这种

7、html的默认布局模式,把块元素摆放到你想要的位置上去。而不是每次都愚蠢的另起一行。也就是说,可以用css的display:inline将块级元素改变为内联元素,也可以用display:block将内联元素改变为块元素。五、float属性回到我们的例子当中,理解了块级元素和内联元素,对理解浮动就容易多了。float是个重点,希望大家都能理解。上例中用float让元素向左浮动,在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素;且要指明一个宽度,否则它会尽可能地窄;另外当可供浮动的空间小于浮动元素时,它会跑到下一行,直到拥有足够放下它的空间。想必大家都用过wor

8、d排过版,当中有个图文混排功能,如下图:这个功能非常类似于css中的浮动,下面我们用css来实现这一功能: 标准之路提供DIV+CSS教程,DIV+CSS视频教程,web2.0标准,DIV+CSS布局入门教程,网页布局实例,css布局实例,div+css模板,div+css实例解析,网站重构,网页代码,水晶图标,幻灯广告图片.教程适合初学者循序渐进学习!创建完以上代码后,在浏览器中预览会显示如下结果:下面用css让side浮动,再看看效果body font-size:18px; line-height:200%; #side float:left;大家看看,是不是和word的效果已经很像相了,

9、但这里的文字和图片右侧贴的很近,怎么办呢?刚才已经说了,当元素浮动过之后,需要指定一个宽度,否则它会尽可能窄。那么把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:后,它就不会跑到#si

10、de的正文呢?如果你能想到这一点,你的确是太聪明了,事实确实是这样,在css样式表中加上下面一行#main margin-left:202px;这就是如何应用浮动实现两列布局的原理。那么三列呢?六、三列自适应宽度三列自适应宽度,一般常用的结构是左列和右列固定,中间列根据浏览器宽度自适应。下面在二列自适应宽度基础上修改一下此处显示 id side 的内容此处显示 id side1 的内容此处显示 id main 的内容增加以下css样式:#side1 background: #99FF99; height: 300px; width: 120px; float: right; 把原来#main样

11、式的width:70%去掉,然后设置左右外边距各120px,让出左右列的宽度#main background: #99FFFF; height: 300px; margin:0 120px; 预览一下效果如下:也许预览出来的效果和我的不一样,别急,还有一项设置,默认body是有外边距的,所以这里还得设置body的外边距为0;点击css面板上的新建按钮,然后在新建面板中选择:标签(重定义标签外观),然后选择body,设置body的边界为0即可。body margin:0;#side background: #99FF99; height: 300px; width: 120px; float:

12、left; #side1 background: #99FF99; height: 300px; width: 120px; float: right; #main background: #99FFFF; height: 300px; margin:0 120px; 此处显示 id side 的内容此处显示 id side1 的内容此处显示 id main 的内容提示:可以先修改部分代码后再运行七、三列固定宽度三列固定宽度可以在三列自适应基础上添加一个父div,并设置这个div的宽度即可,如下,添加一个id为content的父容器。在源代码里选中这三个div,然后点击工具栏上的“插入div标

13、签”按钮,这时弹出的窗口插入项会默认为:在选定的内容旁换行,输入id为content,然后给这个div定义个宽度三列固定宽度出来了,要想实现三列固定宽度居中就更方便了,只需设置#content margin:0 auto;即可body margin:0;#content width:470px; margin:0 auto;#side background: #99FF99; height: 300px; width: 120px; float: left; #side1 background: #99FF99; height: 300px; width: 120px; float: righ

14、t; #main background: #99FFFF; height: 300px; margin:0 120px; 此处显示 id side 的内容 此处显示 id side1 的内容 此处显示 id main 的内容提示:可以先修改部分代码后再运行八、IE6的3像素bug3像素bug是IE6的一个著名的bug,当浮动元素与非浮动元素相邻时,这个3像素的Bug就会出现。看下面这个左列固定,右列液态的例子,css代码如下:body margin:0;#side float: left; background:#99FF99; height: 300px; width: 120px;#mai

15、n background: #99FFFF; height: 300px;html代码如下:此处显示 id side 的内容此处显示 id main 的内容下面看看IE6和IE7中的显示效果:从截图中明显看出,IE6会在两个div中间加上3px的空隙,那么要解决这个问题,请在#side上加上_margin-right:-3px;记住,前边加上一下划线,这样这个样式专门针对IE6生效。IE7和FF下还会正常显示。body margin:0;#side float: left; background:#99FF99; height: 300px; width: 120px; _margin-rig

16、ht:-3px;#main background: #99FFFF; height: 300px; 看看,是不是问题已经解决了。但它不能通过W3C验证。当两列固定宽度时,最好把#main也固定宽度且向右浮动,这样就可以避免IE6的3像素bug了。第四天 纵向导航菜单及二级弹出菜单今天我们开始学习十天学会web标准(div+css)的纵向导航菜单及二级弹出菜单,包含以下内容和知识点: 纵向列表 标签的默认样式 css派生选择器 css选择器的分组 纵向二级列表 相对定位和绝对定位一、纵向列表纵向列表或称为纵向导航,在网站的产品列表中应用比较广泛,如淘宝网左侧的淘宝服务,今天我们就学习一下纵向导航

17、的制作先新建一个页面,然后插入一个ID为menu的div,然后在设计视图中选中文字,点击工具栏的ul图标,即会自动插入ul和li,然后修改文字内容为你需要的内容。首页网页版式布局div+css教程div+css实例常用代码站长杂谈技术文档资源下载图片素材从预览的效果上看,四周都有很大的空隙,而且每一行前边还有个点,这是因为标签的默认样式造成的,下面我们需要创建样式表把标签的默认样式给清除掉生成的css代码如下:#menu ul list-style: none; margin: 0px; padding: 0px; 下面我们定义一下全局的字体,字号,行距等,点击css样式面板上的新建按钮,在弹

18、出的窗口中选择器类型选择标签,名称选择body,然后在css编辑器中设置如下图所示属性body全局样式定义后,下面我们给#menu定义一个灰色的1px边框及宽度,然后把li定义下背景色和下边框及内边距等接下来定义li的背景色为浅灰色及下边框和内边距这些属性设置完后,一个简单的纵向列表菜单初具模型了。因为导航菜单,需要链接到其它页面,下边把这些导航加上链接,然后在定义a的状态和鼠标划过状态。要添加链接,先选择要添加链接的文字,然后在属性页面链接上输入要链接的页面址,我这里输入个#,是个虚拟链接,不指向任何页面。创建a的样式后,下面我们增加个交互效果,当鼠标划过链接文字时,让文字颜色变成红色,这时

19、就需要用到a:hover这个伪类了这里的a:hover属于伪类,在下一章节时会详细讲解,或者参看源代码如下:body font-family: Verdana; font-size: 12px; line-height: 1.5; a color: #000; text-decoration: none; a:hover color: #F00; #menu width: 100px; border: 1px solid #CCC; #menu ul list-style: none; margin: 0px; padding: 0px; #menu ul li background: #ee

20、e; padding: 0px 8px; height: 26px; line-height: 26px; border-bottom: 1px solid #CCC; 首页网页版式布局div+css教程div+css实例常用代码站长杂谈技术文档资源下载图片素材提示:可以先修改部分代码后再运行二、标签的默认样式大多数标签都有自己的默认样式,比如第二天课程中遇到的body默认外边距,另外本例中ul前的圆点及左侧的内边距,另h1-h6字体大小各不相同,em默认为斜体,strong表示粗体。正因为有这些默认样式,一个设计合理的页面,即使没有加载样式,也能让用户很容易阅读。但此时这些默认样式对我们没用

21、,所以需要清除掉,为了方便,建议用标签重定义方式,这样可以很简单地把全局的样式给统一起来。另外页面中的图片添加链接后会默认添加个边框,ul默认情况下会在列表前添加圆点,这些都是需要去掉的。body, ul, li, h1, h2, h3, h4, h5, h6, p, form, dl, dt, dd margin: 0px; padding: 0px; font-size: 12px; font-weight: normal; ul list-style: none; img border-style: none; 这里选择器类型选择复合内容,我用的是dw最新cs5版本,比之前章节用的cs3

22、版本中更合理了,把ID和伪类分开了。然后在选择器名称中输入我们常用的带默认样式的标签,中间以英文逗号分隔下面对img标签进行重定义,清除图片有链接时默认的边框下边设置全局ul标签默认的圆点为无这样就很简单把常用标签的默认样式给清除掉了,如果需要边距的话再重新定义,也避免了各个浏览器对标签默认样式解析差异造成页面显示不一样的问题。有关标签的默认样式更详细的讲解,请参看三、css派生选择器CSS初学者不知道使用子选择器是影响他们效率的原因之一。派生选择器可以帮助你节约大量的class定义。我上边的例子中应用了些派生选择器如下的css代码#menu ul list-style: none; marg

23、in: 0px; padding: 0px; #menu ul li background: #eee; padding: 0px 8px; height: 26px; line-height: 26px; border-bottom: 1px solid #CCC; #menu ul和#menu ul li即为派生选择器,如果我们把前边的#menu去掉,那么将是对ul标签重定义,重定义的属性将应用到全局,而前边加上#menu后,将是定义ID为menu元素内ul的样式,设置它的样式只对#menu下的ul生效,不对它之后的ul生效,这个有点像编程中的局部变量,而直接定义ul则相当于全局变量。#m

24、enu ul li 是定义ID为menu元素内ul下的li,派生选择器可以使我们不用再给每个li定义一个样式名来定义样式,只需使用派生选择器,从它的父元素处选择即可,这样能大大提高效率。四、css选择器的分组你可以对选择器进行分组,这样,被分组的选择器就可以分享相同的声明。用逗号将需要分组的选择器分开。在下面的例子中,我们对所有的标题元素进行了分组。所有的标题元素都是绿色的,p段落、div分区、span都是20像素字体。h1,h2,h3,h4,h5,h6 color: green;p,div,spanfont-size:20px;五、纵向二级列表二级菜单即指当鼠标放到一级菜单上后,会弹出相应的

25、二级菜单,移去鼠标后自动消失,我们接着上边的例子进行修改,代码如下:首页网页版式布局自适应宽度固定宽度div+css教程新手入门视频教程常见问题div+css实例常用代码站长杂谈技术文档资源下载图片素材接下来修改css样式表,先修改#menu ul li,给其增加一个 position:relative;属性然后定义ID为menu下ul下里内的ul样式如下:定义display:none后,默认状态下将隐藏定义#menu ul li ul的position: absolute; left: 100px; top: 0px;,那么它将以相对于它父元素li的上为0,左为100的位置显示。最后我们设置

26、当鼠标划过后显示下级菜单的样式#menu ul li:hover ul这个样式比较难理解,它的意思是定义ID为menu下ul下li,当鼠标划过时ul的样式,这里设置为display:block,指的是鼠标划过时显示这块内容,这也实现我们今天想要的效果。其中的:hover和前边说的链接一样,同属于伪类,但有一点注意,目前IE6只支持a的伪类,其它标签的伪类不支持,所以要想在IE6下也显示正确,需要借助js来实现,我们定义一个类.current (自己命名,需和JS中相同)的属性为display:block;然后当鼠标划过后,用JS给当前li添加上这个样式上,根据css的优先级:指定的高于继承的原

27、则,就实现了IE6下的正确显示。所以需要加上JS和样式#menu ul li.current ul display:block;。#menu ul li.current ul display:block;!-startList = function() if (document.all&document.getElementById) navRoot = document.getElementById(menu);var allli = navRoot.getElementsByTagName(li)for (i=0; ibody font-family: Verdana; font-size

28、: 12px; line-height: 1.5; img border-style: none; a color: #000; text-decoration: none; a:hover color: #F00; #menu width: 100px; border: 1px solid #CCC; border-bottom:none;#menu ul list-style: none; margin: 0px; padding: 0px; #menu ul li background: #eee; padding: 0px 8px; height: 26px; line-height:

29、 26px; border-bottom: 1px solid #CCC; position:relative; #menu ul li ul display:none; position: absolute; left: 100px; top: 0px; width:100px; border:1px solid #ccc; border-bottom:none; #menu ul li.current ul display:block;#menu ul li:hover ul display:block;首页网页版式布局自适应宽度固定宽度div+css教程新手入门视频教程常见问题div+c

30、ss实例常用代码站长杂谈技术文档资源下载图片素材提示:可以先修改部分代码后再运行最终显示效果如下:上节课讲解块级元素和内联元素时提到display,今天用到了display:block;和display:none;值为none时表示将这个元素隐藏,为block时表示将它的隐藏状态改为显示状态详细介绍请参考css手册六、相对定位和绝对定位 定位标签:position 包含属性:relative(相对) absolute(绝对)1.position:relative; 如果对一个元素进行相对定位,首先它将出现在它所在的位置上。然后通过设置垂直或水平位置,让这个元素相对于它的原始起点进行移动。(再一

31、点,相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其他框)2.position:absolute; 表示绝对定位,位置将依据浏览器左上角开始计算。 绝对定位使元素脱离文档流,因此不占据空间。普通文档流中元素的布局就像绝对定位的元素不存在时一样。(因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其他元素并可以通过z-index来控制它层级次序。z-index的值越高,它显示的越在上层。)3.父容器使用相对定位,子元素使用绝对定位后,这样子元素的位置不再相对于浏览器左上角,而是相对于父容器左上角4.相对定位和绝对定位需要配合top、right、bottom、left使用来定位具体位置,这四个属性只有在该元素使用定位后才生效,其它情况下无效。另外这四个属性同时只能使用相邻的两个,不能即使用上又使用下,或即使用左,又使用右更详细关于相对定位和绝对定位的介绍请参考本节讲解的知识点较多也较重要,希望大家认真学习,认真动手做一遍,加深印象。本文全部转载自:标准之路网站

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com