Rumah > Artikel > hujung hadapan web > 【div+css网页布局详解】_html/css_WEB-ITnose
用dw编写网页的时候是可以通过两种方法的,一是图形界面,二是代码,初学的话可以用图形界面,学的差不多的时候使用代码更能提高效率。
因为现在css3和之前css2有较大改动,咱们先从css2的说起吧。
(笔者采用的是dreamweaver cs6,破解版下载地址:http://www.aa25.cn/download/954.shtml)
一、单列布局一个网页编写手先要搭一个框架,就像下图样:
简单把网页分成了4部分,header标题部分,nav导航部分,article主体,footer注脚
这样的就是单列布局。
通过div建立这4中结构,然后css布局、添加样式
使用dw快速建立div如下图:
以往建立这种结构直接用div,通过id找到这个div进行布局,
点图右的新建按钮,建立css样式,注意中间的select Type ,选择样式的规则,这个是直接通过id选择的,id就想一个身份证,每个的都不一样,当然根据情况
也可以选择css类选择器,伪类选择器等等
在确定弹出的页面中设置css样式:
我们给刚才的布局添加颜色,并设置固定大小宽度高度结果如下:
发现上面和左面有两处白边,这中问题也是新手容易疑惑的,其实这是css的默认值,有很多类似这样的,
把所以一般在写网页时先把一些属性都进行初始化。像这样的写法:body { margin:0 auto; font-size:12px; font-family:Verdana; line-height:1.5;}
ul,dl,dd,h1,h2,h3,h4,h5,h6,form,p { padding:0; margin:0;}
而这里取消白边只需要写:body { margin:0}
所有代码如下:
<span style="font-size:18px;color:#006600;"><strong><meta charset="utf-8"> <title>Untitled Document</title> <style type="text/css">#header { background-color: #0F9; height: 100px; width: 500px;}#nav { background-color: #F00; height: 50px; width: 500px;}#article { background-color: #93C; height: 300px; width: 500px;}#footer { background-color: #F99; height: 50px; width: 500px;}</style> <div id="header">header</div> <div id="nav">nav</div> <div id="article">article</div> <div id="footer">footer</div></strong></span>上面是固定宽度,如要要让宽度浏览器大小变化而变化,采用%单位即可,如:width:70%
使div居中的属性:margin属性改为 auto
上面是html4和css2的写法。
在html5中因为加入了新的结构标签 很多地方不需要写div这个块级结构,而是直接用
<span style="font-size:18px;color:#006600;"><strong><header>header</header><nav>nav</nav><article>article</article><footer>footer</footer></strong></span>
显示如下效果:
代码:
<span style="font-size:18px;color:#006600;"><strong><meta charset="utf-8"> <title>Untitled Document</title> <style type="text/css">#left { background-color: #3FC; float: left; height: 400px; width: 100px;}#center { background-color: #9C0; float: left; height: 400px; width: 100px;}#right { background-color: #F9F; height: 400px; width: 100px; float: left;}</style> <div id="left">header</div> <div id="center">nav</div> <div id="right">article</div></strong></span>css2中的方法是:给div加浮动属性,
在box中将float属性设置为left
float: left;
这种方式有一个坏处:比如你发了一篇文章,用float把这篇文章分了3列,你在任意一列增加内容后,这一列就会长于其他列,这样修改的话就会十分麻烦。
css3中新加的多列布局和盒布局完美的解决了这个问题。
先使用盒布局来看下代码,效果和上图一样,可以自己实现一下:
<span style="font-size:18px;color:#006600;"><strong> <meta charset="utf-8"> <title>Untitled Document</title> <style type="text/css"> #layout{ display: -moz-box; display: -webkit-box; } #left { background-color: #3FC; height: 400px; width: 100px; } #center { background-color: #9C0; height: 400px; width: 100px; } #right { background-color: #F9F; height: 400px; width: 100px; } #left,#center,#right{ -moz-box-sizing:border-box; -wdbkit-box-sizing:border-box; } </style> <div id="layout"> <div id="left">header</div> <div id="center">nav</div> <div id="right">article</div> </div></strong></span>
以上的这种盒布局可以实现css2中float+position布局一样的效果,而且可以自动实现对齐不会出现float的那个问题。
下面来看一下多栏布局的实现:
就像例子中实现的一样,多栏布局主要适用于文章中,可以进行任意修改而不改变网页的美观。当然这种布局也有局限性 :每栏宽度都相等。
而且你要写出栏的总宽度,然后需要几栏它会自动平均分配。
代码如下:
<span style="font-size:18px;color:#006600;"><strong> <meta charset="utf-8"> <title>Untitled Document</title> <style type="text/css"> #article{ width:800px; -moz-column-count:3; -webkit-column-count:3; } </style> <div id="article"> (节省篇幅,文章内容略) </div></strong></span>