HTML555 DIV+CSS布局

布局概述
(1)确定的页面的版心宽度
(2)分析页面中的模块
(3)控制网页的各个模块
布局常用属性
浮动:是指设置了浮动属性的标签会脱离标准文档流,(标准文档流是指内容元素排版布局过程中,会自动从左往右,从下往是进行流式排列)的控制移动到其父元素中指定位置的过程

选择器{float:属性值;}
left:标签向左浮动
right:标签向右浮动
none:标签不浮动(默认值)

清除浮动
由于浮动标签不再占用原文档流的位置,所以它会对页面中的其他标签的排版产生影响,在其他标签的选择器中使用
clear属性只能清除标签左右两侧浮动的影响

选择器{clear:属性值}
left:清除左侧浮动影响
right:清除右侧浮动影响
both:同时清除左右两侧浮动影响

(1)使用空标签清除浮动
在浮动标签之后添加空标签,并对该标签添加"clear:both"样式,可清除标签浮动所产生的影响,这个空标签可以是


等标签上述方法虽然可以清除浮动,但增加了毫无意义的结构标签,因此在实际生活中不建议使用
(2)使用overflow属性清除浮动
overflow:hidden;必须将该标签写在被影响的标签中
(3)使用after伪对象清除浮动
只适用于IE8及以上版本,和其他浏览器
注意:1.必须为需要清除浮动的标签伪对象设置"height:0"样式,否则该标签会比其实际高出若干像素2.必须在伪对象中设置content属性,属性值可以为空,如:“content:”"; "
标签的定位属性

定位属性选择器{position:属性值;}

常用属性值
static:自动定位(默认定位方式)
relative:相对定位,相对于原文档流的位置进行定位
absolute:绝对定位,相对于上一个已经定位的父标签进行定位
fixed:固定定位,相对于浏览器窗口进行定位

边偏移

常用属性值
top:顶部偏移量,定义标签相对于父标签上边线的距离
bottom:底部偏移量,定义标签相对于父标签下边线的距离
left:左部偏移量,定义标签相对于父标签左边线的距离
right:右部偏移量,定义标签相对于父标签右边线的距离

定位类型
(1)静态定位:各个标签在HTML文档流中默认的位置,所以当没有定义position属性时,并不是说明标签没有自己的位置,它会遵循默认值显示为静态变量,在静态定位状态下,无法通过边偏移属性改变标签的位置,但是它在文档流中的位置依然保存
(2)相对定位:标签相对与它在标准文档流中的位置进行定位,当positon属性的取值为relative时,可以将标签相对定位,对标签设置相对定位后,我们可以通过边偏移属性改变标签的位置,但是它在文档流中的位置仍然保留
(3)绝对定位
将标签根据最近的已经定位的父标签进行定位,若所有的父标签都没有定位,设置绝对定位的标签会依据body根标签(也可以看做浏览器窗口)进行定位,脱离了标准文档流,同时不在占用标准文档流的空间
补充:1,如果仅对标签设置绝对定位,不设置边偏移,则标签的位置不变,但该标签不再占用标准文档流中的空间,会与上移的后继标签重叠
2,定义多个边偏移属性时,如果left和right参数值冲突,以left参数为准,如果top和bottom参数值冲突,以ltop参数为准
(4)固定定位
以浏览器窗口为参照物定义网页标签,当positon属性的取值为fixed时,可以将标签固定定位

<!DOCTYPE html>
<html>
	
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.father{
				background: firebrick;
				border: aqua 1px dashed;
				overflow: hidden; /* 使用overflow属性清除浮动,对父标签使用 */
			}
			/*after伪类清除浮动*/
			.father:after{
			    display: block; 
				clear: both;
				content:"";
				height:0;
			    visibility: hidden;
			}
			.box1,.box2,.box3{
				height: 50px;
				line-height: 50px;
				border: #00FFFF 1px dashed;
				padding: 15px;
				margin: 10px;
				float: left;
			}
			.box1{
				background:forestgreen;
			}
			.box2{
				background: darkblue;
			}
			.box3{
				background: fuchsia;
			}
			/*空标签清除浮动*/
			/* .box4{
				clear;both;
			} */
			p{
				background: salmon;
				border: #00FFFF 1px dashed;
				padding: 15px;
				margin: 10px;
				clear: left;
			}
		</style>
	</head>
	<body>
	<div class="father">
		<div class="box1">box1</div>
		<div class="box2">box2</div>
		<div class="box3">box3</div>
		<div class="box4">
		<!-- 空标签清除浮动 -->
		</div>
		<p>陪我长大的愿望,陪着我一起飞翔,陪着我一起到多远的地方,
		我们没有故事了...............
		世界盛大灿烂,欢迎回家
		陪我长大的愿望,陪着我一起飞翔,陪着我一起到多远的地方
		感谢吃过的苦,受过的伤,让会议更难忘,青春有快乐,也有悲伤,才是最好的模样
		</p>
	</div>
	</body>
</html>

 

实现效果
在这里插入图片描述
布局类型
单列两列三列布局

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
		body{margin: 0px;padding: 0px;text-align: center;font-size: 24px;}
		/*所有模块的宽度为980px,居中显示*/
		div{
			width: 980px;
			margin: 5px auto;
			background:deepskyblue;
		}
		/*分别给每个模块设置高度*/
		#top{height:40px;}
		/* topbar为导航栏的通栏模式,始终平铺于浏览器窗口,将宽度设为100% */
		#topbar{width: 100%;height:60px;background-color:forestgreen;}
		#nav{height: 60px;}
		#banner{height: 100px;}			
		#content{height: 200px;}
		#content-l{
		height: 195px;
		width: 300px;
		float: left;
		background-color:aqua;
		}
		#content-c{
		height: 195px;
		width: 400px;
		float: left;
		margin: 5px;
		background-color:aqua;
		}
		#content-r{
		height: 195px;
		width: 270px;
		float: right;	
		background-color:aqua;
		}
		#bottom{
		height: 50px;	
		}
		/*footer为页面底部的通栏模式,始终平铺于浏览器窗口,将宽度设为100% */
		#footer{width: 100%;height: 50px;background-color:forestgreen;}
		</style>
	</head>
	<body>
		<div id="top">头部</div>
		<div id="topbar">
		<div id="nav">导航</div>	
		</div>
		<div id="banner">焦点图</div>
		<div id="content">
			<div id="content-l">内容左</div>
			<div id="content-c">内容中</div>
			<div id="content-r">内容右</div>
		</div>
		<div id="footer">
		<div id="bottom">底部</div>			
		</div>
	</body>
</html>

实现效果在这里插入图片描述
全新的HTML5结构元素
①header标签:一种具有引导和导航作用的结构标签,该标签包含所有通常放在页面头部的内容,也可以包含网站logo图片、搜索单或者其他内容
②nav标签;用于定义导航链接,是HTML5新增的标签。可以用于传统导航条、侧边栏导航、页内导航、翻页导航,nav标签也可以用于其他导航链接组中,并不是所有的链接都要放在nav标签,只需要将主要的和基本的链接放进nav标签即可
③footer标签:用于定义一个页面或者区域的底部,可以包含所有放在页面底部的内容
④article标签:代表文档、页面或者应用程序中与上下文不相关的独立部分
⑤section标签:表示一段标题性的内容,一般会带有标题,主要应用在文章的章节中
section不仅仅是一个普通的容器标签,当只是为了样式化或者方便脚本使用时,应该使用div标签。
如果article标签、aside标签或者nav标签更符合使用条件,那么不要使用section标签
没有标题的内容模块不要使用section标签定义。
⑥aside标签:用来定义当前页面或者文章的附属信息部分,它可以包含与当前页面或者主要内容相关的引用、侧边栏、广告、导航条等有别于主要内容的部分。主要用法为:
被包含在article标签内作为主要内容的附属信息
在article标签之外使用,作为页面或者网站的附属信息部分。最常用的使用形式是侧边栏

<!DOCTYPE html>
<html>
	
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
	<article>
		<header>
			<h2>小杜的个人介绍</h2>
		</header>
		<p>小杜是一个有趣的人,是个美女</p>
		<section>
			<h2>评论</h2>
			<article>
				<h3>评论者:张</h3>
				<p>小杜很nice</p>
			</article>
			<article>
				<h3>评论者:冯</h3>
				<p>小杜很perfect</p>
			</article>
		</section>
	</article>	
	</body>
</html> 

在这里插入图片描述
课后案例
代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
		body{font-family: "楷体";font-size: 12px;color: #FFF;}
		@font-face {
			font-family:maobi;
			src: url(dqc.ttf);
		}
		#div1{
			width: 1500px;
			height:350px;
			margin: 13px auto ;
			background:navy;
		}			
		#one{		
			width: 700px;
			height: 350px;
			font-weight: 10px;
			margin-left: 150px;
			background: url(tupian/pic.gif);			
			float: left;
		}
		#p1{
			top: 75px;
			right: 45px;
			text-align: right;		
		}
		#yy{font-size: 14px;margin-top: 100px;padding-right: 50px;}
		#mb{
			font-family: maobi;font-size:35px;margin-top: 10px;	border-right: #FFFFFF 5px solid;margin-right: 50px;
		}	
		#gg{font-size:20px;padding-right: 50px;margin-top: -10px;}
		#ul1{
			margin-top:25px;
			margin-left: 370px;
			list-style-type: none;			
		}
		ul#ul1 li{
			margin-left: 10px;
			float: left;
		}		
		ul#ul1 a{
			background: #FFF;
			width: 46px;
			height: 3px;
			text-align: center;
			line-height: 22px;
			display: block;
			font-size: 18px;
			opacity: 0.3;
		}
			/* 	ul#ul1 li#a1 a{opacity: 0.8;} */
	/*其不透明度有多种写法,使用后代选择器时,注意父标签与子标签的嵌套关系*/
		#a1{background: #FFFFFF;}
		#two{
			width: 400px;
			height:350px;
      		margin-left: 820px;			
			background:skyblue;					
		}
		h4{padding-top:50px;}
		#ul2{margin-top:10px;list-style-type: none;margin-left: -50px;}
		ul#ul2 li{
			margin-left: 12px;
			float: left;		
		}	
		#p2{font-size: 15px;margin-left:50px;padding-top:1px;  }
		div#p2 p{margin-top: 55px;margin-right: 30px;line-height: 24px;}
		</style>
	</head>
	<body>
		<div id="div1">
			<div id="one">
				<div id="p1">
				<p id="yy">YOUDIANSHEJI</p>
				<p id="mb">有点设计</p>
				<p id="gg">以就业为导向<br>打造理论与实践相结合的实战性人才</p>							
				<ul id="ul1">
					<li id="a1"><a href="#"></a></li>																								
					<li ><a href="#"></a></li>
					<li ><a href="#"></a></li>
					<li ><a href="#"></a></li>
				</ul>	
				</div>
			</div>
			<div id="two">
				<div id="p2">
				<h4>课程介绍<br>INTRODUCTLON</h4>				
				<ul id="ul2">
					<li><a href="#"><input type="image" src="tupian/icon1.gif" /></a></li>
					<li><a href="#"><input type="image" src="tupian/icon2.gif" /></a></li>
					<li><a href="#"><input type="image" src="tupian/icon3.gif" /></a></li>
					<li><a href="#"><input type="image" src="tupian/icon4.gif" /></a></li><br>
				</ul>
					<p>掌握平面设计,网页设计,UI设计,FLASH设计四门主流技术,让你有点设计</p>
				</div>		
			</div>
		</div>
	</body>
</html>

实现效果图
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值