首页 >web前端 >html教程 >【div+css网页布局详解】_html/css_WEB-ITnose

【div+css网页布局详解】_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-24 12:04:131684浏览

前言:

网页布局是制作一个网页的第一步也是最重要的一步,今天来详细谈一下使用div+css布局的方法。

用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>


二、多列布局 因为div为块级元素,故名思议,一块一块的,而且一块占一行,如果要一行中有多个块,就要用css调成多列布局

显示如下效果:


代码:

<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>

好了,前面说了div+css的单栏布局和多栏布局,布局基本就差不多了,因为div是可嵌套的,所以一个div里面细分的话还是脱离不了这两种。




声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn