CSS基础

目录

一、CSS入门

二、CSS选择器 

1、普通选择器

 2、伪类选择器

 三、CSS文本样式、字体样式、边框样式、浮动样式属性

1、CSS文本样式

2、CSS字体样式

3、CSS边框样式

4、CSS背景样式

四、CSS浮动样式属性

 五、CSS盒子模型

六、CSS定位属性


一、CSS入门

Cascading Style Sheet :关联层叠样式表
我们想要给html标签进行渲染加入一些修饰,达到视觉效果,书写CSS样式!
样式一定是计算机上系统本身的样式表 ;
方式1:行内样式,在每一个html标签是都有style属性
            style="样式属性:样式属性值;样式属性2:样式属性值2...."
            弊端:一次只能控制某一个标签,如果有同名的标签需要被同时控制,就很麻烦!
                开发中,如果某个标签只设置一个样式属性,完全可以使用行内样式

方式2(后端人员习惯这种写法):
                内联样式(内部样式)
                在head标题书写 style标签
                    style标签体中 
                            选择器{
                                样式属性:样式属性值;
                                样式属性2:样式属性值2;
                                ...
                                
                            }
                如果有同名的标签,可以通过选择器来控制所有标签   
                弊端:
                    css的样式代码和html标签混合一块,不利于后期管理

方式3:外部方式(外联样式)
                前端开发人员用的方式,
                    将css代码单独放在文件名为.css文件中,放在指定css文件夹中
                    通过在当前html页面中 
                    link 标签  
                            属性 href="css文件" 
                            固定属性  rel="stylesheet"  关联样式表

二、CSS选择器 

1、普通选择器

 选择器种类:标签选择器、类选择器、id选择器、其他类型选择器(子元素选择器、并集选择器、通配选择器)

<!-- 1)标签选择器
			标签名称{
				样式属性:属性值;
				样式属性2:属性值2;
				...
			}
			
			2)类选择class 选择器
			在标签指定class属性="class属性值"
			在同一个页面下,class属性是可以同名的
			
			.class属性值{
				样式属性:属性值;
				样式属性2:属性值2;
				...
			}
			
			class选择器 >  标签选择器
			
			3)id选择器,(推荐)
			在标签指定id属性  id = "id属性值"
			在同一个页面下,id属性值必须唯一!
			后面javascript,dom编程,通过id获取标签对象,如果id值重复,获取不到!
			
			#id属性值{
				样式属性:属性值;
				样式属性2:属性值2;
				...
			}
			常用的选择器优先级
			
					id选择>class选择器>标签名称选择器
					
			其他选择器:
					子元素选择器(交集选择器)
					选择器1 选择器2 ...{
						样式属性:属性值;
						样式属性2:属性值2;
						...
					}
					选择器2选中的标签是选择器1里面的子元素
					
					
				   并集选择器
					   
					   选择器1,选择器2,选择器3...{
						   样式属性:属性值;
						   样式属性2:属性值2;
						   ...
					   }
					   
				通配选择器
						全部选中
						*{
							样式属性:属性值;
							样式属性2:属性值2;
							...
						}
		 -->
<style>
		/* a{
			color: red;
			font-size: 20px;
			text-decoration: none;
		} */
		/* div{
				font-size: 35px;
				color:skyblue
		} */
		
		/*class选择器*/
		/* .div{
			font-size: 40px;
			color:darkorange;
		} */
		/*id选择器*/
		#id1{
			font-size: 15px;
			color:darkgray; */
			/*文本修饰*/
			text-decoration: underline; 
			
		/*
		选择器1 选择器2 ...{
			样式属性:属性值;
			样式属性2:属性值2;
			...
		}
			
	   /* .div span{
		   color: green;
	   } */
	   
	   /*并集选择器*/
	 /*  span,.div,#myId{
		  color: darkorchid;
		  font-size: 20px;
	   } */
	   
	  /* *{
		   font-size: 20px;
		   /* 字体类型*/
		   font-family:"新宋体" ;
		   /* 字体粗细程度*/
		   font-weight: bold;
	   } */
	}
		
		</style>

 2、伪类选择器

CSS的伪类:是描述元素的一种状态
            状态分类 
                1)link状态:鼠标没有访问过的状态
                2)hover状态:鼠标悬停在元素上的一种状态(经过)
                3)active状态:获取元素焦点状态(点击元素了,但是没有松开)
                4)visited状态:鼠标访问过的状态,点击了并且松开了

<!--
						书写写法:
							选择器:状态名称(不区分大写){
								样式属性:属性值;
								样式属性2:属性值2;
								...
								
							}
							
		想不断的出现效果:必须先后顺序
							注意:a:hover 必须在 CSS 定义中的 a:link 和 a:visited 之后,
							才能生效!a:active 必须在 CSS 定义中的 a:hover 之后才能生效!
							伪类名称对大小写不敏感。
							
				前端里面css样式,鼠标经过状态使用最多:hover状态			
		 -->
		 <style>
			/*link状态:没有访问的状态*/
			a:link{
				font-size: 15px;
				color: orange;
				text-decoration: none;
				
			}
			/* visited状态:鼠标访问状态:点击了之后,松开了的状态 */
			a:visited{
				font-size: 35px;
				color: darkgray;
				text-decoration: none;
			}
			
			/* hover状态:鼠标经过状态 */
			a:hover{
				font-size: 20px;
				color: greenyellow;
				/* 去掉下划线 */
				text-decoration: none;
			}
			/* active状态:激活状态(点击了,但是没有松开) */
			a:active{
				font-size: 25px;
				color: blue;
				/* 下划线加上 */
				text-decoration: underline;
			}
			
		 </style>

 三、CSS文本样式、字体样式、边框样式、浮动样式属性

1、CSS文本样式

<style>
			body{
				/* 
					color,text-decoration,text-aling,line-height
				 */
				/*color:文本颜色
						颜色名称:  英文单词
						十进制进制数据 :#FF0000  红色   
										#00FF00 绿色
										#0000FF 蓝色
				*/
			   color: red;
			   /*text-align 属性用于设置文本的水平对齐方式。
						left:左对齐
						right:右对齐
						center:中间对齐
			   */
			  text-align: left;
			  /*text-decoration 属性用于设置或删除文本装饰。
							none:不设置任何修饰
							underline:设置下划线
							overline:上划线
							line-through:中划线
			  */
			 
			 text-decoration: underline;	
			 
			 /*text-indent 属性用于指定文本第一行的缩进*/
			 text-indent: 30px;
			 /* letter-spacing 属性用于指定文本中字符之间的间距 (字符间距)*/
			 
			 letter-spacing: 10px;
			 /* word-spacing:单词间距
					浏览器解析:中文来说,两个字组成一个单词,单词和单词之间空格
			 
			 */
			 word-spacing: 20px;
			 /* 行高:行和行之间的距离 line-height*/
			 line-height: 10px;
			}
			.pClass{
				/*text-transform:文本转换
						lowercase:小写
						uppercase:大写
				*/
				text-transform: lowercase;
			}
			
		
		</style>

2、CSS字体样式

<style>
			body{
				
				/* font-family:设置字体文本效果:
						新宋体,楷体,黑体,宋体...谷歌字体(关联谷歌字体样式)
				*/
			  /* font-family: "楷体"; */
				/*font-size:字体大写*/
				/* font-size: 40px; */
				/* font-style:设置字体样式:
					默认值:normal 字体不会倾斜(正常体)
					italic:斜体 (推荐)
					oblique:倾斜,跟上面很相似
				 */
				/* font-style: italic; */
				/* font-weight 属性指定字体的粗细
						normal:默认不加粗
						bold:适当加粗
						可以指定像素,---700px
				 */
				/* font-weight:bold ; */
				
				/* 字体的简写属性 */
				/* 将所有的字体属性在一个样式代码中写好,方便 */
			/* 必须优先顺序 */
				/**
				 * font:
				 * 	font-style
					font-weight
					font-size/line-height
					font-family
				 */
				font:italic bold 30px "楷体" ;
			}
		</style>

3、CSS边框样式

<!-- 
			div标签:块标签 四个边
			
			边框的颜色样式简写属性:
				border-color:
				
		    边框的宽度样式简写属性:
				border-width:
			
			前面两个不行,必须有边框的样式简写属性
				border-style:
				
				
				特点:
					1)这些简写属性默认方向:
						上  右 下 左 
					2)某一边如果没有设置边框的颜色,宽度,样式,会补齐对边的颜色,宽度,样式	
		 -->
		
		<style>
				div{
					/*设置四个边框的颜色*/
				/* 	border-top-color: red;
					border-bottom-color: #0000FF;
					border-left-color: #ADFF2F;
					border-right-color: #FF8C00; */
					/* border-color: #FF0000; */
					
					/*  设置四个边框的宽度*/
					/* border-top-width: 10px;
					border-bottom-width: 20px;
					border-left-width: 30px;
					border-right-width: 40px; */
					/* border-width: 10px; */
					
					/* 设置四个边框的样式
								solid:单实线
								double:双实线
								dotted:点
								dashed:虚线
					 */
				/* 	border-top-style:solid ;
					border-bottom-style: dashed;
					border-left-style: double;
					border-right-style: dotted; */
					/* border-style: solid ; */
					
					/* 边框的简写属性 
					border:border-width border-style border-color
					
					*/
				   border: 1px solid #000000 ;
				   /* 这种div的宽度和高度大小*/
				   width: 150px;
				   height: 150px;
				}
		</style>

4、CSS背景样式

<style>
			/* css背景属性 */
			
			body{
				/* background-image:设置图像
					如果这个图像跟屏幕分辨率不同,导致图片x轴和y轴都在重复
				 */
				/* background-image:url(img/aliyun-12.jpg) ; */
				/* background-image: url(img/bg.jpg); */
				/* background-repeat:设置背景图像是否重复以及如何重复 
						默认值:repeat:x轴和y轴重复
						no-repeat:不重复
						repeat-x:x轴重复
						repeat-y:y轴重复
				*/
			  /* background-repeat:no-repeat; */
			   /* background-position:设置图片的起始位置
					图片的位置   图片在浏览器中显示的位置
					默认值就是 top  left
					
			   */
				/* background-position: top left; */
				/* 背景颜色 background-color */
				/* background-color: orangered; */
				
				/* 背景的简写属性
				 background: background-color background-image background-repeat background-position
				 
				 */
				background: darkolivegreen url(img/aliyun-12.jpg) no-repeat top center;
				
				
			}

四、CSS浮动样式属性

CSS浮动:
                当为某个标签(div)设置浮动的时候,
                此时这个标签就表现的是块框不存在一样(脱离了这个文档流)
                它可以向左,向右浮动,直到碰到其它块狂就停止掉

<!--
				浮动属性:
					float:left/right
					left:左浮动
					right:右浮动
					
					
				清除浮动:clear: 
							left:左边不浮动
							right:右边不浮动
							both:两边都不浮动(推荐)
		 -->
		
		<style>
			#dl1{
				border: 1px solid #000000;
				background-color: red;
				width: 200px;
				height: 200px;
				/* 右浮动 */
				/* float: right; */
				/* 左浮动 */
				float:left;
			}
			#dl2{
				border: 1px solid #000000;
				background-color: green;
				width: 200px;
				height: 200px;
				/* float: right; */
				float:left;
			}
			#dl3{
				border: 1px solid #000000;
				background-color: blue;
				width: 200px;
				height: 200px;
				/* float:left; */
				float: left;
			}
			
			#adv{
				width: 220px;
				height: 180px;
			}
			#clear{
				/* 清楚浮动 */
				clear:both;
			}
		</style>

 五、CSS盒子模型

CSS重点中的重点:盒子模型

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>css盒子模型的使用</title>
		<style>
		
		/* 
			border-radius设置圆角边框,指定像素
		 */
			/* 给外面id="formDiv"加入修饰 */
			#formDiv{
				border: 1px solid #000;
				border-radius: 10px;
				width: 420px;
				height: 320px;
				
				/* 外边距:margin :上 右 下 左 */
				margin: 130px 0 0 400px;
				
			}
			/* 设置背景 */
			body{
				background-image: url(img/bg.jpg);
			}
			/* id="userDiv"设置样式 */
			#userDiv{
				margin: 40px 0 0 80px;
			}
			/* 给id="pwdDiv"设置样式 */
			#pwdDiv{
				/*外边距*/
				margin: 25px 0 0 80px;
			}
			/* id="rePwdDiv"设置样式 */
			#rePwdDiv{
				margin: 25px 0 0 80px;
			}
			/*id="emailDiv"设置样式*/
			#emailDiv{
				margin: 25px 0 0 80px;
			}
			/* id="btnDiv" 设置样式*/
			
			#btnDiv{
				margin: 40px 0 0 150px;
			}
			
			
		</style>
	</head>
	<body>
		<div id="formDiv">
			<form action="#" method="get">
				<!-- 表单标签  label 标签 绑定一个表单元素,代表普通文本
					for属性是要和它绑定表单元素的name属性值一样
				 -->
				 <div id="userDiv">
					<label style="margin-right:30px ;" for="username">用户名</label>
					<input type="text" name="username" />
				</div>
				
				<div id="pwdDiv">
					<label for="password" style="margin-right: 30px;">密&ensp;&ensp;码</label>
					<input type="password" name="password" />
				</div>
				<div id="rePwdDiv">
					<label for="repassword">确认密码</label>
					<input type="password" style="margin-left: 15px;" name="repassword" />
				</div>
				<div id="emailDiv">
					<label style="margin-right:30px ;" for="email">邮&ensp;&ensp;箱</label>
					<input type="text" name="email"  />
				</div>
				
				<div id="btnDiv">
					<input type="submit" value="注册" /> <input style="margin-left: 30px;" type="button" value="登录" />
				</div>
				
				
			</form>
		</div>
		
	</body>
</html>

六、CSS定位属性

定位属性:position
                            absolute:绝对定位
                            当前这个元素根据父元素的位置进行移动
                            relative:相对定位
                            当前这个元素根据当前位置进行移动
                            fixed:固定定位
                            当前这个元素处在浏览器中的位置,永远处在这个位置
                            根据top/left设置向下,向右移动的距离(不会随着滚动条的滚动而滚动)
            结合left以及top属性进行移动

<style>
				#d1{
					width:150px;
					height: 150px;
					border:1px solid #000000;
					background-color: aquamarine;
				}
				#d2{
					width:150px;
					height: 150px;
					border:1px solid #000000;
					background-color: #00FF00;
				}
				#d3{	
					width:150px;
					height: 150px;
					border:1px solid #000000;
					background-color: #0000FF;
					
					/* 加入定位属性 */
					/* position: absolute ;
					top: 50px;
					left:30px; */
					/* position: relative;
					top:30px;
					left:50px; */
					
				}
				#advDiv{
					width: 590px;
					height: 470px;
					/* border: 1px solid #000000; */
					
					/*固定定位*/
					position: fixed;
					top:50px;
					left:400px;
				}
		</style>
		
		<script >
		
		
			//网页定时器 
			
			function myTest(){
				//setInterval:每经过这个毫秒值后,重复执行任务 (函数)
				//settimeout:经过毫秒值后,执行一次任务
				window.setTimeout("testMouserOver()",3000) ;
			}
			//js代码
			function testMouserOver(){
				
				window.open("adv.html","_self") ;
				
				
			}
		</script>
	</head>
	<body>
		<div id="d1">div1</div>
		<div id="d2">div2</div>
		<div id="d3">div3</div>
		
		<div id="advDiv">
				
			<img  onmouseover="myTest()" width="300px" height="300px" src="img/q.jpg" />
		</div>
	</body>
</html>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值