首页 > 其他分享 >第九章DIV+CSS布局

第九章DIV+CSS布局

时间:2024-11-14 19:45:11浏览次数:3  
标签:第九章 height width color background DIV div CSS left

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的宽高设置

9.1.2.1 宽高属性

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

9.1.2.2 div标签内直接设置宽高

<body>
	<div style="border: #0099ff solid 2px;width: 100px;height: 40px;">
        标签内直接设置宽高
    </div>
</body>

9.1.2.3 div使用选择器设置宽高

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.d1{
				width: 100px;
				height: 80px;
				border: #7711ff 2px solid;
			}
		</style>
	</head>
	<body>
		<div class="d1">设置宽高</div>
	</body>
</html>

9.1.2.4 div高度的百分比设置问题

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

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.d1{
				width: 100px;
				height: 80px;
				border: #7711ff 2px solid;
			}
			*{
				width: 100%;
				height: 100%;
			}
			#d2{
				width: 30%;
				height: 30%;
				border: #991133 2px solid;
			}
		</style>
	</head>
	<body>
		<div class="d1">设置宽高</div>
		<div id="d2">百分比设置宽高</div>
	</body>
</html>

9.2 DIV+CSS的应用

       标准流(normal flow)也叫常规流,文档流。在使用div、span、p标签进行布局时,默认就是使用标准流进行布局。 
       标准流是垂直布局,是由块元素及其行内元素构成的。从上到下、从左到右按顺序摆放好,默认情况下,互相之间不存在层叠现象。

9.2.1 DIV元素的布局技巧

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

9.2.2 DIV元素的宽度自适应

       有时会用到浮动效果,实现DIV元素的宽度自适应。宽度自适是指两个并排的dvw, 其中左边的div为固定宽度,右边div则根据浏览器的宽度自动调整,这种用法常用于文章列表和文章内容的页面布局。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			*{
				margin: 0;
				padding: 0;
			}
			#all{
				border: #0099ff 2px solid;
				height: 100px;
			}
			#left{
				border: #7711ff 2px solid;
				width: 100px;
				height: 100px;
				float: left;
			}
			#right{
				border: #991133 2px solid;
				height: 100px;
			}
		</style>
	</head>
	<body>
		<div id="all">
			<div id="left">左边固定</div>
			<div id="right">右边宽度自适应</div>
		</div>
	</body>
</html>

9.2.3 DIV内容的居中

       平时说的div内容居中,只是保持div内容的水平居中。但是很多网站需要用到的是水平和垂直居中。这里用行高(line -height)属性来实现,当行高的值等于容器的高度值,内容便垂直居中。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			#d4{
				border: #0099ff 2px solid;
				width: 300px;
				height: 100px;
				text-align: center;
				line-height: 100px;
			}
		</style>
	</head>
	<body>
		<div id="d4">DIV内容居中</div>
	</body>
</html>

9.2.4 DIV元素的嵌套

       传统的表格布局中,搜索引擎如果遇到多层表格嵌套时,可能抓取不到3层以上的内容,或者会跳过嵌套的内容直接放弃整个页面。 而DIV+CSS布局则不会存在这样的问题,为了实现复杂的布局结构,div元素也需要互相嵌套。但在布局页面时尽量少嵌套,否则将影响浏览器对代码的解析速度。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.all{
				width: 700px;
				height: 700px;
				border: 2px solid red;
				margin: 0px auto;
			}
			.top{
				width: 700px;
				height: 100px;
				background-color: lightcyan;
			}
			.main{
				width: 700px;
				height: 520px;
			}
			.main.left{
				width: 180px;
				height: 500px;
				background-color: yellow;
				float: left;
				margin: 10px;
			}
			.main.right{
				width: 480px;
				height: 500px;
				background-color: lightgreen;
				float: left;
				margin: 10px;
			}
			.footer{
				width: 700px;
				height: 80px;
				background-color: lightgray;
			}
		</style>
	</head>
	<body>
		<div class="all">
		<div class="top"></div>
		<div class="main"></div>
		<div class="left"></div>
		<div class="right"></div>		
		<div class="footer"></div>
		</div>
	</body>
</html>

9.3 DIV+CSS的典型布局

       设计者为了让页面外观与结构分离,就要用CSS样式来规范布局。使用CSS样式可以让代码更加简洁和结构化,使站点的访问和维护更加容易。 网页设计的第一步是版面布局的设计。通过前面的学习,我们已经对页面布局的技巧有了基本理解。本节将结合前面知识,展示目前较为常用的CSS布局样式。

9.3.1 左中右布局

       左中右布局在网页设计时最为常用,即div-left是导航菜单,div-main 是视觉集中点,放置主要内容,div一right是表单或链接等。而左中右三个区域一并被包含在一个大的div-all中。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			*{
				margin: 10px auto;
				padding: 0px auto;
				font-size: large;
			}
			.all{
				background-color: red;
				width: 700px;
				height: 500px;
			}
			.left,.main,.right{
				text-align: center;
				height: 480px;
				line-height: 480px;
				float: left;
			}
			.left{
				background-color: antiquewhite;
				width: 150px;
			}
			.main{
				background-color: lightcyan;
				width: 400px;
			}
			.right{
				background-color: antiquewhite;
				width: 150px;
			}
		</style>
	</head>
	<body>
		<div class="all">
			<div class="left">导航菜单</div>
			<div class="main">视觉集中区域,主要内容</div>
			<div class="right">表单或链接</div>
		</div>
	</body>
</html>

9.3.2 上中下布局

       上中下布局符合许多网站共同的特点,即div-top是导航或者横幅告,div-main是视觉集中点,放置主要内容,div-footer是版权信息等。而上中下三个区域一并被包含在一个大的div-all中。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			*{
				margin: 10px auto;
				padding: 0px auto;
				font-size: large;
			}
			.all{
				background-color: red;
				text-align: center;
				width: 700px;
				height: 500px;
			}
			.top{
				background-color: antiquewhite;
				width: 680px;
				height: 80px;
				line-height: 80px;
			}
			.main{
				background-color: lightcyan;
				width: 680px;
				height: 340px;
				line-height: 340px;
			}
			.footer{
				background-color: antiquewhite;
				width: 680px;
				height: 80px;
				line-height: 80px;
			}
		</style>
	</head>
	<body>
		<div class="all">
			<div class="top">导航或者横幅广告</div>
			<div class="main">视觉集中区域,主要内容</div>
			<div class="footer">版权信息</div>
		</div>
	</body>
</html>

9.3.3 混合布局

       在了解左中右和上中下布局之后,混合布局也就不难理解了,混合布局也可以叫综合型布局。混合布局可以在一列或一行布局的基础之上,分为多列或多行布局。网页布局的结构普遍都是一列布局或者可以根据实际需求,对网页再进行划分。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			*{
				margin: 10px auto;
				padding: 0px auto;
				width: 100%;
				height: 100%;
			}
			.all{
				border: 2px dashed red;
				width: 95%;
				height: 100%;
			}
			.top{
				background-color:pink;
				width: 100%;
				height: 15%;
			}
			.main{
				width: 100%;
				height: 75%;
			}
			.left{
				background-color: yellow;
				width: 20%;
				float: left;
			}
			.center{
				background-color: lightcyan;
				width: 60%;
				float: left;
			}
			.right{
				background-color: yellow;
			}
			.footer{
				background-color: pink;
				width: 100%;
				height: 10%;
			}
		</style>
	</head>
	<body>
		<div class="all">
			<div class="top"></div>
			<div class="main">
				<div class="left"></div>
				<div class="center"></div>
				<div class="right"></div>
			</div>
			<div class="footer"></div>
		</div>
	</body>
</html>

9.4 综合案例——众成远程教育

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>众成远程教育</title>
		<style>
			*{
				margin: 0px auto;
			}
			.all{
				width: 1000px;
				height: 840px;
				background-image: url(img/9-bg.jpg);
			}
			.top{
				width: 1000px;
				height: 150px;
			}
			.main{
				background-color: aliceblue;
				width: 1000px;
				height: 630px;
			}
			.left{
				padding-top: 30px;
				padding-left: 20px;
				width: 200px;
				height: 570px;
				float: left;
				line-height: 60px;
			}
			.center{
				border-left: 2px dashed blue;
				border-right: 2px dashed blue;
				padding-top: 50px;
				width: 500px;
				height: 580px;
				float: left;
			}
			.right{
				padding-left: 20px;
				width: 250px;
				height: 630px;
				float: left;
			}
			.footer{
				width: 1000px;
				height: 60px;
				font-family: "楷体";
				font-size: 18px;
				text-align: center;
				line-height: 30px;
			}
			a,span{
				color: red;
				font-weight: 700;
				text-align: center;
			}
			p{
				font-family: "黑体";
				font-weight: 700px;
				color: brown;
				font-size: 28px;
				text-align: center;
			}
			table{
				font-family: "黑体";
				font-weight: 700px;
				color: blue;
				font-size: 20px;
				line-height: 55px;
			}
		</style>
	</head>
	<body>
		<div class="all">
			<div class="top">
				<img src="img/9-logo.jpg" width="708px" height="150px"/>
			</div>
			<div class="main">
				<div class="left">
					<p><img src="img/but2.jpg"/></p>
					<p><img src="img/but3.jpg"/></p>
					<p><img src="img/but4.jpg"/></p>
					<p><img src="img/but5.jpg"/></p>
					<p>相关信息</p>
					<a href="#">4 大学历提升方案</a><br>
					<a href="#">新报考政策解读击</a><br>
					<a href="#">6 大专专业报考指南</a><br>
					<a href="#">更多信息请点击</a><br>
				</div>
				<div class="center">
					<p>入学报名表</p>
					<form id = " form2" name = " form2" method=" post" action="" >
						<table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
							<tr>
								<td width="158" align="right">
									姓名:<label for="textfield"></label>
								</td>
								<td width="242">
									<input type="text" name="textfield" id="textfield"/>
								</td>
							</tr>
							<tr>
								<td align="right">联系电话:</td>
								<td>
									<input type="text" name="textfield2" id="textfield2"/>
								</td>
							</tr>
							<tr>
								<td align="right">邮箱:</td>
								<td>
									<input type="text" name="textfield3" id="textfield3"/>
								</td>
							</tr>
							<tr>
								<td align="right">邮寄地址:</td>
								<td>
									<input type="text" name="textfield4" id="textfield4"/>
								</td>
							</tr>
							<tr>
								<td align="right">最高学历:</td>
								<td>
									<select name="select2" id="select2">
										<option>大学本科</option>
										<option>大专</option>
										<option>高中</option>
										<option>初中</option>
										<option>小学</option>
									</select>
								</td>
							</tr>
							<tr>
								<td align="right">选择课程:</td>
								<td>
									<input type="text" name="textfield6" id="textfield6"/>
								</td>
							</tr>
							<tr>
								<td align="right">学习方式:</td>
								<td>
									<label for="select2"></label>
								</td>
								<td>
									<select name="select" id="select">
										<option>网络授课</option>
										<option>周末班</option>
										<option>全日制</option>
									</select>
								</td>
							</tr>
							<tr>
								<td colspan="2" align="center">
									<input type="image" name="imageField" id="imageField" src="img/but1.jpg"/>
								</td>
							</tr>
						</table>
					</form>
				</div>
				<div class="right">
					<img src="img/pho1.jpg"/>
					<img src="img/pho2.jpg"/>
					<img src="img/pho3.jpg"/>
					<img src="img/pho4.jpg"/>
				</div>
			</div>
			<div class="footer">
				<span>免费电话:</span>400-XXX-XXX(18条线)||
				<span>(北京校区)</span>北京路XX大厦一楼 0000号;||
				<span>(上海校区)</span>上海路XX科技园7栋 9999 号<br>
				此网站信息最终解释权&copy;众成远程教育
			</div>
		</div>
	</body>
</html>

 

标签:第九章,height,width,color,background,DIV,div,CSS,left
From: https://blog.csdn.net/2301_81614658/article/details/143728894

相关文章

  • 响应式Web设计:纯HTML和CSS实现技巧
    响应式Web设计是一种确保网页在不同设备和屏幕尺寸下都能良好显示的设计方法。以下是使用纯HTML和CSS实现响应式设计的关键技巧:流式布局(FluidLayouts):使用相对单位(如百分比)而非固定单位(如像素)来定义元素的宽度,使元素能根据容器宽度动态调整。媒体查询(MediaQueries):根据不同......
  • CSS DAY2
    盒子模型:盒子模型盒子模型介绍盒子的概念   页面中的每一个标签,都可看做是一个“盒子”,通过盒子的视角更方便的进行布局浏览器在渲染(显示)网页时,会将网页中的元素看做是一个个的矩形区域,我们也形象的称之为盒子。  CSS中规定每个盒子分别由:内容区域(content)、......
  • 检测 HTML5\CSS3\JAVASCRIPT 在浏览器的适应情况
    https://www.cnblogs.com/czhyuwj/p/4796690.html CSS3SelectorsTest:这是CSS3.INFO网站提供的css选择器测试页面,它能够详细显示当前浏览器对所有CSS3选择器的支持情况。启动测试,浏览器会自动测验,并已列表的方式显示当前浏览器对所有css3选择器的支持情况  http://tool......
  • CodeCraft-21 and Codeforces Round 711 (Div. 2) F. Christmas Game【阶梯博弈、换根
    这道题目是比较经典的树上阶梯博弈。设一个点的深度是\(dep_i\),如果两个点\(i,j\)满足\(dep_i\not\equivdep_j\modk\),则两个点对答案的影响是完全独立的。我们可以把图拆分为\(k\)部分,并且按照原图中的祖先关系把新图连接为\(k\)棵树。对于一个点\(i\),在新图中的深度为\(dep_......
  • 数据可视化CSS3
    可视化-解决方案2D动画-transform坐标系transform-origin3D动画-transform3D旋转-rotateZ、rotateX、rotateY3D旋转-rotate3d3D透视-perspective3D位移-translateX、translateY、translateZ3D位移-translate3d3D缩放-scaleX、scaleY、scaleZ3D缩放-scale3d......
  • 大学生网页设计制作作业实例代码 HTML+CSS+JS (1)
    文章目录......
  • 刷题答题脚本—>接入AI (python+css)
    刷题答题脚本———接入AIgithub地址:https://github.com/LY-zhang-yi-hao/do-homework-AI-python创作不易,github点个star,有时间分享更多实用代码,谢谢!本项目使得刷题的脚本的编写下限变低,利用阿里云模型回答问题,不需要进行题库的编写或网页搜索。将问题发送给AI,拿到答案后,进行......
  • 解读丨反向海淘模式客户案例:cssbuy南美市场淘宝代购集运系统搭建攻略
    淘宝代购集运系统是一种专门为跨境购物设计的电商服务系统,主要用于帮助海外消费者购买淘宝(中国最大的电商平台之一)上的商品,并将多个商品集中运输到消费者指定的海外地址。——在成长的路上,我们都是同行者。这篇关于搭建1688淘宝代购集运系统搭建的文章,希望能帮助到您。期待......
  • css2D变换用法
    文章目录CSS2D变换详解与代码案例一、CSS2D变换的基本属性二、transform属性的使用三、变换原点的设置四、代码案例1.移动元素2.旋转元素3.缩放元素4.倾斜元素5.多重变换五、CSS2D变换的应用场景CSS2D变换详解与代码案例CSS2D变换是CSS3引入的一组功能......
  • CSS 3
    1、CSS3简介1.1、CSS3概述CSS3是CSS2的升级版本,它在CSS2的基础上,新增了很多强大的新功能,从而解决一些实际面临的问题。CSS3在未来会按照模块化的方式去发展:https://www.w3.org/Style/CSS/current-work.htmlCSS3的新特性如下:新增了更加实用的选择器:动态伪类选择器、......