HTML5一周总结

一、html5文档结构

<!-- h5文档头:告诉浏览器用什么方式编译代码 -->
<!DOCTYPE html>
<!-- 文档体 -->
<!-- 标签结构:<标签>内容</标签>或者<标签> -->
<html lang="en">
	<!-- 一般内容空格 -->
	<!-- head一般放置配置文件 -->
	<head>
		<!-- meta字符集:相当于字典。charset设置编码方式:UTF-8国际编码 -->
		<meta charset="UTF-8">
		<!-- 设置网站标题 -->
		<title>工具的使用</title>
		<!-- 可以引入ico图标 rel文件类型 href文件地址-->
		<link rel="shortcut icon" href="bitbug_favicon.ico" />
		<!-- 
			标题前小图标引入:
			第一步:ico图标在线制作:http://www.bitbug.net/
			第二步:按照说明书操作
		 -->
	</head>
	<!-- body放置自己书写的代码 -->
	<body>
		文字
	</body>
</html>
<!--html4文档结构 html:xt +tab-->

<!-- 注释:ctrl+/ -->
<!-- 
	创建文件的时候,
	1、新建文件
	2、保存文件。后缀 .html
	3、如果没有出现“文档结构”!+tab或者html5+tab
 -->

 <!-- 
	网站:一个一个的网页。
	网页:图片、文字、超链接。
	制作网页的技术:html/css/js。
	html:超文本标记语言。

二、常用标签

标签分类

第一种:单双标签
单标签:<标签名>img
双标签: <标签名></标签名>a p h1-h6 ul li ol
第二种:行内标签和块级标签
行内标签:可以和其他标签并排排列。设置宽高无效。上下padding不占位,左右padding占位。上下外边距无效,左右外边距有效。a span b u i
块级标签:独占一行。ul li ol div p h1-h6
网页布局中的标准流:行内标签水平排列,块级标签垂直排列**

小知识
 一个标签可以有多个类名,用空格隔开
	<p class="one bottom">段落</p>
<!-- img+tab 在页面中引入图片。src图片地址。alt图片不能正常显示的时候提示文字 title鼠标移入提示文字-->
<img src="mv.jpg" alt="">
<!-- 超链接。href放置的是跳转的页面地址。默认在当前页面打开。target="_blank"在新页面打开 -->
<a href="#">京东</a>
<!-- div用于排版 -->
  <div></div>
 <!-- 用来引入小元素 -->
		<span></span>
  <!-- 
		ol>li
		ol:ordered list
		li:list item
		有序列表,实现结构类似的布局
		 -->
		 <ol>
			<li></li>
		</ol>
		 <!-- 
			ul>li*4+tab
			无序列表:实现结构类似的布局
			ul:unordered list
			li:list item
		 -->
		<ul>
			<li></li>
		</ul>	

标签居中

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Document</title>
		<style>
			/* 清除样式 */
			*{
				margin: 0px;
				padding: 0px;
				list-style: none;
			}
			div{
				width: 100px;
				height: 100px;
				background: lime;
				margin:0px auto;
				text-align: center;
				line-height: 100px;
			}
		</style>
	</head>
	<body>
		<div>文字</div>
	</body>
</html>

<!--
	块级标签居中:水平居中:左右外边距同时auto
	文本类元素水平居中:text-align:center
	文字垂直居中:设置行高等于容器的高度
	真正行高的概念:从文字中心基线开始向上取留白的一半,向下取留白的一半,中间的距离就是行高。

 -->

标签嵌套

一般情况下。
	块级标签是可以任意嵌套的。
	行内标签一般只嵌套行内
	a一般可以嵌套任何标签。
	p内部只能放置文本类元素a  span b  u  i img 自身不能放置
	h1-h6一般只能放置文本类元素。不能放置自身
	ul/ol的子级只能是li li的父级只能是ul/ol

display

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Document</title>
		<style>
			*{
				margin: 0px;
				padding: 0px;
				list-style: none;
			}
			div{
				width: 100px;
				height: 100px;
				background: lime;
				/* 转变为行内元素 */
				display: inline;
			}
			span{
				width: 100px;
				height: 100px;
				background: red;
				/* 转变为块级元素 */
				display: block;
			}
			ul{
				background: pink;
				height: 100px;
			}
			li{
				width: 100px;
				height: 100px;
				
				background: lime;
				/* 转变为行内块。浏览器有空白折叠现象,不论有多少留白,都只能识别一个 。*/
				/* display: inline-block垂直对象方式改变了,以重心对齐。通过vertical-align */
				/* 浮动以后的标签相互贴靠 */
				display: inline-block;
				/* float: left; */
				/* 垂直对齐方式,顶部对齐 */
				vertical-align: top;
				/* display: none; */

			}
		</style>
	</head>
	<body>
		<div>
			
		</div>
		<span></span>
		<span></span>
		<ul>
			<li>文字文字</li>
			<li>字文字字文字字文字字文字</li>
			<li>字文字字文字字文字字文字字文字</li>
		</ul>
	</body>
</html>
<!-- 
	网页布局标准流:行内标签水平,块级标签垂直。不浮动,不定位,不转换

	display:只是为了工作方便,转变以后语义不变。任何标签都可以使用
	display:inline
	display:inline-block;
	display:block
	display:none标签隐藏
	div:大区域、大面积的块状排版。
	span、b、u、i引入小元素
 -->

常用样式

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Document</title>
		<style>
			input{
				width: 200px;
				height: 30px;
				/* 去除蓝色框 */
				outline: none;
				border: 1px solid #000;
				/* input去某一边边框的时候,一般先重写边框。要不内置的样式会出问题 */
				border-right: none;
				/* float: left; 可以通过浮动去除留白*/
			}
			span{
				width: 200px;
				height: 200px;
				line-height: 40px;
				text-align: center;
				background: skyblue;
				display: inline-block;
				/* 鼠标移入增加小手  wait  */
				cursor: pointer;
				/* 增加圆角 值越大圆角越明显。50%为圆形或者椭圆形*/
				border-radius: 4px;
			}
			/* 
				鼠标移入标签修改样式:
				选择标签:hover{
					鼠标移入的时候生效
					书写样式
				};
				
			 */
			 span:hover{
			 	background: lime;
			 	color: red;
			 }
			 p{
			 	background: lime;
			 	/* 文本类元素水平居中a img span b u i */
			 	text-align: center;
			 }
		</style>
	</head>
	<body>
		<p><img src="images/camera_new_5606e8f.png" alt=""></p>
		<span>搜索</span>
		<!-- 搜索框 -->
		<input type="text">
		<input type="text">
		
	</body>
</html>

z-index

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Document</title>
		<style>
			*{
				margin: 0px;
				padding: 0px;
			}
			div{
				width: 100px;
				height: 100px;
				background: lime;
				position: relative;
			}
			p{
				background: red;
				position: absolute;
				top: 0px;
				left: 0px;
				
			}
			a{
				background: blue;
				position: absolute;
				top: 0px;
				left: 0px;
				z-index: -1;
			}
		</style>
	</head>
	<body>
		<div>
			<p>这是一段话</p>
			<a href="#">百度</a>
		</div>
	</body>
</html>

<!-- 
	定位的标签,后写的在上面
	z-index只有定位的标签使用,调整图层顺序。默认值0,值越大越靠上,可以是负值(不建议)-->

路径问题

		<!-- 文件命名一把是英文或者_。最好不要有别的字符 -->
		<!-- 
			相对路径:相对当前文件寻找。
			向下寻找images/  向下两级iamges/my/
			向上寻找:一级../ 二级../../

			绝对路径:类似于C:\ F:\
		 -->
		<img src="images/moon.jpg" alt="">
		<img src="C:\Users\me\Desktop\前端课程\html5&&css3\第一天\images\mv.jpg" alt="">

锚点

锚点:用户做的一个小标记。
第一步:找到所有点击的内容。用a包裹。 href="#锚点的name值"
第二步:找到所要跳转的内容。取锚点的name值 

三、CSS相关

html:超文本标记语言,只负责页面结构。样式和html一点关系都没有
css:层叠性样式表,负责页面样式
h1作用加粗加黑,这句话是错的。因为标签只是负责结构
 h2{
			 	/* 文字颜色 */
				color:red ;
				/* 文字大小 网页布局基本单位 */
				font-size: 19px;
				/* 字体 */
				font-family: "楷体";
				/* 文字倾斜 */
				font-style: italic;

			 }
			 p{
			 	color: blue;
			 	/* 文字缩进 em相对单位,相对的是当前文字大小*/
			 	text-indent: 2em;
			 	font-size: 20px;
			 	/* 文字行高:从一行文字,到下一行文字。中间的距离 */
			 	line-height: 40px;
			 	/* 文字加粗 */
			 	font-weight: bold;
			 	/* 增加下划线 */
			 	text-decoration: underline;
			 }
				
			b{
				/* 文字不加粗 */
				font-weight: normal;
			}
			i{
				/* 文字不倾斜 */
				font-style: normal;
			}
			u{
				/* 去除下划线 */
				text-decoration: none;
			}
			a{
				text-decoration: none;
				/* 颜色可以是英文,也可以是十六进制表示 */
				color: #df5301;
			}

四、盒子模型

/* 盒子模型:指的标签的占位。content(width/height) border margin padding */
			div{
				/* 宽高指得是内容的宽高不包含padding margin border */
				/* 宽度 */
				width: 100px;
				/* 高度 */
				height: 100px;
				/* 边框:三个值,值与值之间使用空格隔开。
					第一个值: 线的粗细;
					第二个值:线的类型solid实线 dashed虚线 dotted点线(各别浏览器识别的是虚线)
					第三个值:线的颜色 英文表示或者十六进制(可以简写三位表示,三个色值都有重叠的时候) #222222简写#222
				 */
				/* border: 10px dashed #4d1e4a; */

				/* 可以单独只设置一个方向 top right left right*/
				border-top: 4px solid red;
				border-right: 10px dotted yellowgreen;

				/* 外边距 */
				/* margin:30px; */

				/* margin可以单独只设置一个方向top right left right */
				/* margin-top: 20px; */
				/* margin的值可以书写不同情况,值与值之间用空格隔开
					一个值:四个方向
					两个值:第一个值上下,第二个值左右
					三个值:第一个值上,第二个值左右,第三个值下
					四个值:上右下左顺时针
				 */
				 margin: 100px 20px 40px 200px;
				/* 内边距:内容和边框的留白 */
				/* padding和margin同理 */
				padding: 20px;
			}
			p{
				width: 100px;
				height: 100px;
				border: 1px solid #000;
			}

五、背景

background img

p{
				height: 500px;
				border: 1px solid #000;
				/* css样式如果重复,值取决于后写的 */

				/*背景颜色 */
				/* background: #ff4600; */
				/* 背景:
				   第一个值: 地址;
				   第二个值:平铺方式。默认平铺 no-repeat repeat-x repeat-y
				   第三个值:水平坐标 left center right 可以书写具体的值,也可以使用特殊值
				   第四个值:垂直坐标 top center bottom 可以书写具体的值,也可以使用特殊值
				   第五个值:色值
			     */
				background: url('#') no-repeat left top ;
				/* background: red; */
				/* 背景尺寸 要放在背景样式的后面 
					一个值:宽度为该值,高度自适应
					两个值:auto 自定义   宽度自适应,高度为该值
					也可以两个值都固定

					尺寸可以设置百分比:参照物是盒子的大小
				*/
				background-size:auto 20%;
			}
			/* background与image的区别
				background不占位,一般引入装饰性图片。
				img占位的,引入重要的图片。	
			 */

精灵图片

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Document</title>
		<style>
			span{
				display: inline-block;
				/* 标签转化为行内块。行内块在一行排列,设置宽高有效。 */
				/*行内标签没有宽高所以转成行内块*/
				width: 19px;
				height: 19px;
				background: url('images/icons_5859e57.png') no-repeat -68px -187px;
			}
		</style>
	</head>
	<body>
		<p>这是一段文字<span></span></p>
	</body>
</html>
<!-- 
	精灵sprite图片:把很多小图片整合到一张大图片上的技术。
	好处:减少服务器请求次数
	正常情况下,精灵图片一般使用background引入。
 -->

六、浮动

注意

浮动实现的效果:水平排列
浮动以后脱离标准流,变成行内块
行内块:在一行排列,设置宽高有效。

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Document</title>
		<style>
			/* 清除自带样式 */
			ul{
				margin: 0px;
				padding: 0px;
				/* 清除列表样式 */
				list-style: none;
				background: wheat;
				/* overflow: hidden; */
				height: 400px
			}
			li{
				margin: 0px;
				padding: 0px;
			}
			li{
				width: 300px;
				height: 200px;
				background: lime;
				float: left;
			}
		</style>
		<!-- 
			浮动塌陷:子级浮动,父级检测不到子级的高度。如果没有高度,结构不稳定
			第一种方式:给父级加overflow:hidden
			第二种方式:直接给父级加高度
			标签父子关系,一层嵌套就是一层父子关系。
			一般一个标签浮动,同级必须浮动。同级(同一个父级就是同级)
		 -->
	</head>
	<body>
		<div>
			<p>
				<!-- span的父级是p  span的父级的父级是div-->
				<span></span>
			</p>
		</div>
		<ul>
			<li></li>
			<li></li>
			<li></li>
		</ul>
		<p>jslfslf</p>
	</body>
</html>
/* 浮动实现的效果:水平排列。水平靠左或者水平靠右 浮动从上到下的
 <!-- 取类名 class="名字" 名字一般是英文表示 -->
<!-- 选择类名:.+类名 -->

七、选择器分类及权重

选择器:如何选择标签。 

选择器分类:

	基本选择器:
		*(通配符选择器)
		标签选择器:直接选择标签名。div  p  a  span
		类名选择器:通过类名选择标签。 .+类名  .one
		id选择器:通过id名选择标签。  #+id名字  #one

复合选择器(权重可以叠加):
		交集选择器:div.one  p.one .one.bottom  标签名为div类名为one
		并集选择器:a,b既选择a又选择了b
		后代选择器:div a选择div的后代a  用空格隔开  只要被某个标签包裹,都是该标签后代
		子代选择器:div>a选择div的子代a   第一级嵌套,子代

选择器权重:

	权重一样的情况,后写的生效。
	权重不一样,取决于权重高的。
	id名和行内样式和!important前期不推荐使用,不利于后期维护
	*<标签名选择器1g<类名选择器1kg<id名选择器1吨<行内样式<!important

定位

固定定位

不会随着窗口的滚动而滚动,不占位。脱离标准流,变成行内块
参照物是当前窗口。top right bottom left

相对定位

相对定位:
用来做微调(后期项目上线的时候或者维护的时候)
占位,占的是原来的位置。对其余标签影响最小
参照物是自身 top left right bottom
半脱离标准流:一方面行内标签块级标签的性质没有改变,一方面是有了四个坐标

绝对定位

绝对定位:
不占位,脱离标准流,变成行内块。
一般情况下实现的是放置在别的标签上的效果。
一般子级绝对定位,父级相对定位。可以让子级固定在父级的某个位置。参照物就是父级
(子绝父相)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值