HTML—css

css概述

C S S 是 C a s c a d i n g S t y l e S h e e t s ( 级 联 样 式 表 ) 。
C S S 是 一 种 样 式 表 语 言 , 用 于 为 H T M L 文 档 控 制 外 观 , 定 义 布 局 。 例 如 ,
C S S 涉 及 字 体 、 颜 色 、 边 距 、 高 度 、 宽 度 、 背 景 图 像 、 高 级 定 位 等 方 面 。
可 将 页 面 的 内 容 与 表 现 形 式 分 离 , 页 面 内 容 存 放 在 H T M L 文 档 中 , 而 用
于 定 义 表 现 形 式 的 C S S 在 一 个 . c s s 文 件 中 或 H T M L 文 档 的 某 一 部 分 。

基本语法

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
         /* 外部样式表是将所有的样式放在一个或多个以.CSS为扩展名的外部样式表文件中,通
过link标签将外部样式表文件链接到HTML文档中.  */
		<link href="css/index.css" rel="stylesheet" />
		<style>
			
			/* css注释 */
			/* 内嵌样式表,也可以叫类选择器 */
			.p1{
				color: black;
			}
			/* 标签选择器,这个html文件里面所有的a标签,优先级小于前面三种 */
			a{
				color: bisque;
				size: 800px;
				font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
			}
			/* 统配选择器 给所有标签修饰 优先级最低*/
			*{
				color: brown;
			}
			/* id选择器  唯一的*/
			#pp{
				color: crimson;
			}
			
		</style>
		
	</head>
	<body>
		<!--
		  选择器优先级
		  相同属性共同修饰一个标签,优先级高的修饰,如果属性不重复,优先级低的可以和优先级高的共同修饰标签
		  优先级由高到低
		  行内样式表-->id选择器-->类选择器-->标签选择器-->统配选择器
		  -->
		<!-- 行内样式表,只能对所在标签进行修饰,优先级最高 ,p1不能对其修饰-->
		<a href="" class="p1" style="color: aqua;size: 70px;font-family: 楷体;">元神</a>
		<a href="" class="p1">元神</a>
		
		<!-- 使用外部样式表修饰标签,首先在头标签里面书写link标签 <link href="css文件地址" rel="stylesheet风格表格" />-->
		<a href="" class="p2">元神</a>
		<a>123</a><br />
		<a id="pp">元神</a>
	</body>
</html>

 伪类

C S S 伪 类 专 门 用 来 表 示 标 签 的 一 种 的 特 殊 的 状 态 , 当 我 们 需 要 为 处 在 这 些 特 殊 状
态 的 标 签 设 置 样 式 时 , 就 可 以 使 用 伪 类 。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
		a{
			color: aqua;
		}
		/* 鼠标移入切换样式 */
		a:hover{
			color: purple;
		}
		/* 鼠标点击标签时自动切换样式 */
		a:active{
			color: black;
		}
		/* :focus鼠标聚集到这个标签,标签的样式切换到这个样式 */
		input:focus{
			background-color: purple;
		}
		img:hover{
			/* opacity透明度,1不透明,0.5半透明,0透明 */
			opacity: 0.5;
		}
		img:active{
			opacity: 0;
		}
			
		</style>
		
	</head>
	<body>
		<a href="">百度</a>
		<input type="button" class="p" value="保存"/><br />
		<input type="text" /><br />
		<input type="text" /><br />
		<img src="img/1.png" alt="" />
		
	</body>
</html>

块级,行级,行级块标签

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<!-- 块级标签 无论内容多少都独占一行 可以设置宽高 主要用来网页布局
		 div块级标签,没有任何附加样式
		 -->
		<!-- 行级标签 只占内容的大小,由内容撑开,设置宽高没有用
		  span行级标签,没有任何附加内容
		  -->
		  
		  <!-- 常用标签
		   div span 表格 表单 a
		   -->
		   <!-- 行级块标签
			不占一行又可以设置宽高 例如:img input
			-->
			aaa
			<img src="img/1.png" width="100" height="100" alt="" />
			aaa <br />
			<!-- display 可以修改标签样式 inline可以改变为行级标签 block 可以变为块级标签 none 可以取消标签 inline——block变为行级快标签 -->
			<!-- 块级标签变行级标签 -->
			<div style="width: 100px; height: 100px; background-color: purple;display: inline;">aaa</div>
		<!-- 行级标签变块级标签 -->
		<span style="width: 100px;height: 100px;background-color: purple;display: block;">aaa</span>
		
		
	</body>
</html>

 

盒子模型 

 C S S 处 理 网 页 时 , 它 认 为 每 个 标 签 都 包 含 在 一 个 不 可 见 的 盒 子 里 。
如 果 把 所 有 的 标 签 都 想 象 成 盒 子 , 那 么 我 们 对 网 页 的 布 局 就 相 当 于 是 摆
放 盒 子 。
我 们 只 需 要 将 相 应 的 盒 子 摆 放 到 网 页 中 相 应 的 位 置 即 可 完 成 网 页 的 布 局 。

 盒子模型我们分为四个区域,内容区,内边距,边框,外边距。

盒子模型-内边距 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.p{
				width: 100px;
				height: 100px;
				background-color: purple;
				/* 设置内边距 */
				padding: 10px;
			}
		</style>
	</head>
	<body>
		<!-- 盒子模型 网页布局就是摆放一个个盒子 -->
		<!-- 每一个盒子分为四个区域
		 内容区
		 内边距
		 边框
		 外边距    每一个盒子大小=内容区+内边距+边框
		 -->
		 <div class="p">盒子模型</div>
		
		
		
		
	</body>
</html>

盒子模型-边框 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			div{
				background-color: purple;
				height: 100px;
			   padding: 20px 304px;
				border: 1px gray solid;
				/* 盒子模型边框设计 */
				border-radius: 50px;
				/* 边框原型 */
				
			}
			input{
				width: 600px;
				height: 30px;
				
				
			}
		</style>
	</head>
	<body>
		<!-- 边框 border:像素 颜色 样式 -->
		<div>
			<input type="text" class="p" />
		</div>
		
		
		
		
		
		
		
	</body>
</html>

盒子模型-外边距

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			div{
				width: 100px;
				height: 100px;background-color: purple;
				margin-left: auto;
				margin-right: auto;
				/* 设置div居中 ,注意高度不可以这样设置,会默认为0*/
				
				
				
			}
			.p{
				width: 100px;
				height: 100px;background-color: gray;
				margin: 10px;
				
			}
		</style>
	</head>
	<body>
		<!-- 外边距不影响大小,影响位置 -->
		<div class="p">
			
		</div>
		<div>
			
		</div>
		
		
		
	</body>
</html>

浮动

文档流

文 档 流 指 的 是 文 档 中 的 标 签 在 排 列 时 所 占 用 的 位 置 。 将 窗 体 自 上 而 下 分
成 一 行 行 , 并 在 每 行 中 按 从 左 至 右 的 顺 序 排 放 标 签 , 即 为 文 档 流 。
也 就 是 说 在 文 档 流 中 标 签 默 认 会 紧 贴 到 上 一 个 标 签 的 右 边 , 如 果 右 边 不
足 以 放 下 标 签 , 标 签 则 会 另 起 一 行 , 在 新 的 一 行 中 继 续 从 左 至 右 摆 放 。
这 样 一 来 每 一 个 块 标 签 都 会 另 起 一 行 , 那 么 我 们 如 果 想 在 文 档 流 中 进 行
布 局 就 会 变 得 比 较 麻 烦。

给标签添加浮动便可以摆脱文档流。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.p{
				padding: 10px 30px;
				background-color: purple;
				float: left;
			}
			.p:hover{
				background-color: aliceblue;
			}
			.p1{
				width: 368px;
				margin:  auto;
			}
		
			.main{
				width: 300px;
				margin: auto;
			}
			.main-box{
				float: left;
				width: 100px;
				background-color: papayawhip;
			}
		</style>
	</head>
	<body>
		<!-- 浮动: 浮动使原来的标签脱离文档流(二维平面),漂浮起来了
		 float:left
		 漂浮后会产生一个问题,浮动后的标签不会占用原来文档流的位置,下面的标签就会上移,影响布局
		 可以在浮动后的标签后面添加div设置风格为clear对应左浮动还是右浮动
		 -->
		 <div class="p1">
		 <div class="p">新闻</div>
		  <div class="p">体育</div>
		   <div class="p">娱乐</div>
		    <div class="p">游戏</div>
			<!-- 清除浮动 -->
				<div style="clear: left;"></div>  
			</div>
		
			
			
			
			<div>www</div>
			<div class="main">
				<div class="main-box">left</div>
				<div class="main-box">center</div>
				<div class="main-box">right</div>
				<div style="clear: left;"></div>
				<div style="width: 300px; background-color: azure;">bottom</div>
			</div>
		
	</body>
</html>

定位

相对定位

相对定位是一个非常容易掌握的概念. 相对于它
的起点进行移动,移动后原来的位置还被占用。
可以通过position:relative; 开启相对定位,
left right top bottom四个属性来设置标签的偏移量。

相对定位的特点
当标签的position属性设置为relative时,则开启了标签的相对定位
1.当开启了标签的相对定位以后,而不设置偏移量时,标签不会发生任何变化
2.相对定位是相对于标签在文档流中原来的位置进行定位
3.相对定位的标签不会脱离文档流

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.div1{
				background-color: aliceblue;
				width: 100px;
				height: 100px;
				position: relative;
				/* 相对定位 */
				left: 100px;
				/* 相对定位以自身位置为定位参照,不会让标签脱离文档流(二维平面) */
			}
			.div2{
				background-color: gray;
				width: 100px;
				height: 100px;
				position: relative;
				/* 相对定位 */
				top: 50px;
				/* 相对定位以自身位置为定位参照,不会让标签脱离文档流(二维平面) */
			}
			
		</style>
	</head>
	<body>
		<div class="div1">div1</div>

<div class="div2">div2</div>		
		
		
	</body>
</html>

绝对定位

绝对定位是不占空间的,运用了
绝对定位的标签会脱离原来的文档
流,浮动起来,因此视觉上会其他
的标签重叠。
可以通过position: absolute; 开启
绝对定位,
left right top bottom四个属性来
设置标签的偏移量

绝对定位的特点
1.开启绝对定位,会使标签脱离文档流
2.开启绝对定位以后,如果不设置偏移量,则标签的位置不会发生变化
3.绝对定位是相对于离他最近的开启了定位的祖先标签进行定位(一般情况,开启了子标签
的绝对定位都会同时开启父标签的相对定位)
如果所有的祖先标签都没有开启定位,则会相对于浏览器窗口进行定位

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.div1{
				background-color: aliceblue;
				width: 100px;
				height: 100px;
				position: absolute;
				/* 开启绝对定位标签立即脱离文档流 */
				left: 50px;
				/* 
				绝对定位的参照物,离他最近的开启了定位的父级标签,一般父级开相对定位 
				 */
			}
			.div2{
				background-color: gray;
				width: 100px;
				height: 100px;
				position: relative;
				/* 相对定位 */
				top: 50px;
				/* 相对定位以自身位置为定位参照,不会让标签脱离文档流(二维平面) */
			}
			.div3{
				background-color: aqua;
				width: 300px;
				height: 300px;
				position: relative;
			}
			
		</style>
	</head>
	<body>
		<div class="div3">
			div3
		<div class="div1">div1</div>
		</div>

<div class="div2">div2</div>		
		
		
	</body>
</html>

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值