第九章 DIV+CSS布局

9.1  DIV+CSS概述

DIV+CSS是Web设计标准,它是一种网页的布局方法。与传统中通过表格(table)布局定位的方式不同,它可以实现网页页面内容与表现相分离。DIV组成了网页的格局,CSS 则装饰了格局,比如建一栋房子,开始的架子是DIV,架子搭建好后开始装饰,这个装饰就是CSS样式。使用了DIV+CSS布局的网页,它使HTML语言变得越来越复杂化、专用化, 源码容易扩展,并且更加规整。

9.1.1  认识DIV

div标签在Web标准的网页中使用非常频繁,属于块状元素。div标签是双标签,即以<div>/div>的形式存在,中间可以放置任何内容,包括其他的div标签。 

但是在没有CSS的影响下,每个div标签只占据一行,即一行只能容纳一个div标签。

9.1.2  DIV的宽高设置

对div设置宽高样式,即div宽度和高度同时设置

1.宽高属性

宽度:width

width:250px--设置宽值为250像素。 width:50%--设置宽值为父元素的百分之五十。 高度:height 

height:250px--设置高值为250像素。 height:50%--设置高值为父元素的百分之五十。

2.div标签内直接设置宽高

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<div style="width: 250px;height: 100px;border: 2px solid red;">
			此div宽度250px,高100px
		</div>
		<div style="width: 150px;height: 50px;border: 2px dashed green;">
			此div宽度150px,高度50px
		</div>
	</body>
</html>

fd3c2aee51f440e699c6cb7139dd3e23.png

3.div使用选择器设置宽高

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.na{
				width: 250px;
				height: 100px;
				border: 2px solid red;
			}
			#na{
				width: 150px;
				height: 50px;
				border: 2px dashed green;
			}
		</style>
	</head>
	<body>
		<div class="na">
			此div宽度250px,高100px
		</div>
		<div id="na">
			此div宽度150px,高度50px
		</div>
	</body>
</html>

f27c4369a3e54b4ab8bdc7918ade2b7e.png

4.div高度的百分比设置问题

如果div的宽度设置了百分之,则相对于其父元素相应改变宽度。但是div的高度则无法根据百分比相应改变

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<div style="width: 50%;height: 25%;border: 2px solid red;">
			此div宽度50%,高25%
		</div>
		<div style="width: 70%;height: 50%;border: 2px dashed green;">
			此div宽度70%,高度50%
		</div>
	</body>
</html>

548515033d624fcf9114dbf0c47c64d3.png 9.2 DIV+CSS的应用

标准流(normal flow)也叫常规流,文档流。在使用div、span、p标签进行布局时,默认就是使用标准流进行布局。 

标准流是垂直布局,是由块元素及其行内元素构成的。从上到下、从左到右按顺序摆放好,默认情况下,互相之间不存在层叠现象。

9.2.1  DIV元素的布局技巧

由于用户的计算机显示屏分辨率不同,因此在布局页面时,要充分考虑页面内容的布局宽度情况,并保证页面整体内容在页面居中。一旦内容宽度超过显示宽度,页面将出现水平滚动条。应尽量保证网页只有垂直滚条,才符合用户的习惯,所以高度不需要考虑,一般都是由页面内容决定网页高度即可。

又因为浏览器的兼容情况,所以在布局页面前,设计者一定要把页面的默认边距清除。 传统的表格布局时,可以使用属性"align:center;"设置表格居中问题,但是DIV的居中是没有属性可以设置的,只能通过CSS样式控制其位置。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			*{
				margin: 0;
				padding: 0;
			}
			#center{
				width: 50%;
				height: 100px;
				border: 2px dashed red;
				margin-left:auto;
				margin-right: auto;
			}
		</style>
	</head>
	<body>
		<div id="center">div页面布局水平居中,div内容不受影响。</div>
	</body>
</html>

820b3891a9e54234828263d4903dca1e.png 9.2

你正在学习 CSS 布局吗?是不是还不能完全掌握纯 CSS 布局?通常有两种情况阻碍你的学习: 第一种可能是你还没有理解 CSS 处理页面的原理。在你考虑你的页面整体表现效果前,你应当先考虑内容的语义和结构, 然后再针对语义、结构添加 CSS。这篇文章将告诉你应该怎样把 HTML 结构化。 另一种原因是你对那些非常熟悉的表现层属性(例如:cellpadding,、hspace、align="left"等等)束手无策,不知道该 转换成对应的什么 CSS 语句。当你解决了第一种问题,知道了如何结构化你的 HTML,我再给出一个列表,详细列出原来的表 现属性用什么 CSS 来代替。 结构化 HTML 我们在刚学习网页制作时,总是先考虑怎么设计,考虑那些图片、字体、颜色、以及布局方案。然后我们用 Photoshop 或者 Fireworks 画出来、切割成小图。最后再通过编辑 HTML 将所有设计还原表现在页面上。 如果你希望你的 HTML 页面用 CSS 布局(是 CSS-friendly 的),你需要回头重来,先不考虑“外观”,要先思考你的页面 内容的语义和结构。 外观并不是最重要的。一个结构良好的 HTML 页面可以以任何外观表现出来,CSS Zen Garden 是一个典型的例子。CSS Zen Garden 帮助我们最终认识到 CSS 的强大力量。 HTML 不仅仅只在电脑屏幕上阅读。你用 photoshop 精心设计的画面可能不能显示在 PDA、移动电话和屏幕阅读机上。但 是一个结构良好的 HTML 页面可以通过 CSS 的不同定义,显示在任何地方,任何网络设备上。 开始思考 首先要学习什么是"结构",一些作家也称之为"语义"。这个术语的意思是你需要分析你的内容块,以及每块内容服务的 目的,然后再根据这些内容目的建立起相应的 HTML 结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值