仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 687|回复: 9
打印 上一主题 下一主题

[DIV+CSS] DIV教程之网页结构教程:CSS多列结构成绩复杂办理计划

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-15 23:37:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Table布局灵活性不大,你只能遵循tabletrtd的格式。而div你可以divulli也可以olli还可以ulli……但标准语法最好有序的写。
网页制造poluoluo文章简介:纯CSS打造多列等高其实不像设想中那末简单。本文侧重报告多列结构呈现的成绩,以后供应一个在一切扫瞄器都一般事情的复杂办理计划。这个办法100%无CSShack,无图片,无javascript,乃至能够用在最严厉编码的网站上。
纯CSS打造多列等高其实不像设想中那末简单。本文侧重报告多列结构呈现的成绩,以后供应一个在一切扫瞄器都一般事情的复杂办理计划。这个办法100%无CSShack,无图片,无javascript,乃至能够用在最严厉编码的网站上。
多列等高的成绩
上例中有包括分歧内容的3列,能够看出存在的成绩是列的背景致跟着其包括内容的高度而自顺应睁开。这是我们要办理的成绩。怎样使一切的列等高?或详细的说,怎样使一切列的高度即是最高列的高度?这很辣手,由于我们不分明每列将会多高,哪一列是最高的。不克不及复杂的给一切列一个流动的高度,假如内容很少将会招致页面底部有年夜片空缺;假如内容太多则会在笔墨显现完整前封闭。两种情况都不当。实践上,内容的长度是静态的,以是每列的高度也是静态的。必需意想到Web上没有流动的东东,乡平易近们有分歧的屏幕分辩率,扫瞄器中的笔墨也大概被设置为恣意巨细,一切这些城市影响内容的高度。
分别列内容与其背景致
办理等高成绩的第一步是把能分别的破开。办法是每列用两个div替换本来的一个。第一个div用来放内容,另外一个用来作背景致。分别使我们能够独自把持这些分外的元素,以后用更无效的办法把它们放在一同。谜底呼之欲出。
浮动的容器的高度一直取决于其浮动的内容(高度)
这是本文多列等高办法的中心。使一个div的高度即是最高列高度的独一办法是这个div包括一切的列。换句话说,经由过程把一切的列放在一个容器中,容器的高度就是最高列的高度。这是个十分有效的布局。
3列HTMLdiv布局
上例中3个内容列在一个div容器中。
  1. <divid="container1"><divid="col1">Column1</div><divid="col2">Column2</div><divid="col3">Column3</div></div>
复制代码
3列CSS
上面是使div容器等高于最高列的CSS。
  1. #container1{float:left;width:100%;}#col1{float:left;width:30%;background:red;}#col2{float:left;width:40%;background:yellow;}#col3{float:left;width:30%;background:green;}
复制代码
为了让这一布局在一切扫瞄器中准确事情,容器div必需浮动(左或右),同时每个内容列的div也要浮动,哪一种体例其实不主要。浮动内容div的历程使它们在页面中分列在一条程度线上。浮动容器使其自顺应到最高列的高度。假如不浮动容器,内容div将会沉着器底部溢出,容器不会具有准确的高度。现实上在此例中,容器不浮动的话其终极高度为0。
增添分外嵌套的容器
下一步是增添分外的容器,它们相互嵌套。我们必要容器的数目即是列的数目:3。这3个容器用作各列的背景。请注重,我们往除原始列的背景致,并将其加至容器上。
3列HTMLdiv布局
两个分外的容器加至上面的HTML中。
  1. <divid="container3"><divid="container2"><divid="container1"><divid="col1">Column1</div><divid="col2">Column2</div><divid="col3">Column3</div></div></div></div>
复制代码
3列CSS
一切元素左浮动,容器宽度设为100%,使他们占满页面的宽度。背景致从内容div移除并加至容器上。
  1. #container3{float:left;width:100%;background:green;}#container2{float:left;width:100%;background:yellow;}#container1{float:left;width:100%;background:red;}#col1{float:left;width:30%;}#col2{float:left;width:40%;}#col3{float:left;width:30%;}
复制代码
用绝对定位挪动容器
如今用绝对定位把容器移至新的地位。挪动后div以下图所示。即等高列背景容器的层叠和地位。为了显现右边的绿色列container2向左移了30%,为了显现两头的黄色列container1向左挪动了40%,与此同时白色部分仍然可见作为左边列。
绝对定位的CSS
上面是增加了绝对定位的CSS。
  1. #container3{float:left;width:100%;background:green;}#container2{float:left;width:100%;background:yellow;position:relative;right:30%;}#container1{float:left;width:100%;background:red;position:relative;right:40%;}#col1{float:left;width:30%;}#col2{float:left;width:40%;}#col3{float:left;width:30%;}
复制代码
将每列的内容移回
下一步是把每列的内容移回到页面上,使之分列鄙人面的背景致上。再次利用复杂的绝对定位来完成它。
最初在最表面的容器container3上增加overflow:hidden,砍往超越容器的部分。
绝对定位的CSS
上面是增添了绝对定位和溢出的CSS划定规矩。请注重container3上分外的position:relative;这是为懂得决一个IEbug,制止overflow:hidden;事情。
  1. #container3{float:left;width:100%;background:green;overflow:hidden;position:relative;}#container2{float:left;width:100%;background:yellow;position:relative;right:30%;}#container1{float:left;width:100%;background:red;position:relative;right:40%;}#col1{float:left;width:30%;position:relative;left:70%;}#col2{float:left;width:40%;position:relative;left:70%;}#col3{float:left;width:30%;position:relative;left:70%;}
复制代码
对列增添padding
最初还需对列增添padding,如许每列边沿的笔墨不至于显得拥堵。假如我们增添padding,一些扫瞄器中大概一般显现,但不是一切。IE毛病的盒模子,招致其预算具有padding的元素宽度非常。一个200px宽20pxpadding的box在IE中被视为200px宽,在其他扫瞄器中则为准确的240px。padding应当加在元素的宽度上。凸微软!
不外不必忧虑...我们能够用完整不依附于padding的办法来办理这个成绩。相反,我们把列弄窄一点(列宽减往两侧的padding),以后用绝对定位把它们移至准确的地位。在我们的例子中我们用了2%的padding,则30%的列将减至26%,40%的列减至36%。用绝对定位移回列时需服膺,如今列变窄了,以是当它们一同像最后那样左浮动时,每个必要比上一个挪动更远的间隔。
完全的CSS
为了使结构坚持在小宽度我在每一个内容列增添了overflow:hidden;这将切往超越列宽的东东,并制止其搅扰其他结构。重申一下,这只是IE的成绩,其他一切扫瞄器会坚持准确的结构,不论列内是虾米。假如你真想如许做,能够用IE前提正文只对IE写划定规矩。
  1. #container3{float:left;width:100%;background:green;overflow:hidden;position:relative;}#container2{float:left;width:100%;background:yellow;position:relative;right:30%;}#container1{float:left;width:100%;background:red;position:relative;right:40%;}#col1{float:left;width:26%;position:relative;left:72%;overflow:hidden;}#col2{float:left;width:36%;position:relative;left:76%;overflow:hidden;}#col3{float:left;width:26%;position:relative;left:80%;overflow:hidden;}
复制代码
好了,就是如许。我但愿这篇文章对你有效。能够本人弄一下CSS看一下它是怎样事情的。你能够弄良多列,只需容器和内容列的数量相称。不要健忘看看我的demo:2列,3列,4列,和5列。

Div全称division意为“区分”使用DIV的方法跟使用其他tag的方法一样。
金色的骷髅 该用户已被删除
沙发
发表于 2015-1-17 23:39:46 | 只看该作者
AdobeDreamweaver(前称MacromediaDreamweaver)是Adobe公司的著名网站开发工具。
再现理想 该用户已被删除
板凳
发表于 2015-1-24 15:19:07 | 只看该作者
在刚开始接触网页的第一堂课上,听说网页制作会是一门很无聊并且很难听懂的过程,而事实却印证了这样一个事实。
admin 该用户已被删除
地板
发表于 2015-2-1 21:40:16 | 只看该作者
技术的学习如同长跑。只要越过极限,就会越跑越轻松。技术的学习其实并不像想象中那么可怕,任何技术都并不高深莫测。
分手快乐 该用户已被删除
5#
发表于 2015-2-7 17:30:38 | 只看该作者
学Dreamweaver技术的过程其实是一个增加信心的过程。
飘飘悠悠 该用户已被删除
6#
发表于 2015-2-22 21:51:34 | 只看该作者
HTML技术的不断发展和完善,随之而产生了众多网页编辑器,从网页编辑器基本性质可以分为所见即所得网页编辑器和非所见即所得网页编辑器(则原始代码编辑器)
若相依 该用户已被删除
7#
发表于 2015-3-7 04:39:12 | 只看该作者
不管老师做怎样的解释,而我却对它感到很是吃力,诸如里面有许多不知道的功能。
小妖女 该用户已被删除
8#
发表于 2015-3-14 13:46:43 | 只看该作者
俗话说:兴趣是最好的老师。做每一件事都离不开兴趣的驱动。兴趣是自学技术需要迈出的第一步。在学习的过程中,我们难免会遇到各种各样的问题。
不帅 该用户已被删除
9#
发表于 2015-3-21 10:10:18 | 只看该作者
运动)时间轴面板--拖动关键帧--单击整条--将鼠标移至中间一点--右击选择增加关键帧--移动中间关键帧的图层--勾选自动播放,循环
活着的死人 该用户已被删除
10#
发表于 2015-3-21 10:10:18 | 只看该作者
使用所见即所得的接口,亦有HTML编辑的功能。它现在有Mac和Windows系统的版本。原本由Macromedia公司所开发。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-6 02:36

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表