CSS基础知识总结(一)

1、概述

CSS样式的基本操作,包含CSS基本语法、CSS选择器、CSS引入方式、CSS布局等,通过熟练掌握网页布局的基本操作,实现网页样式的设置。

CSS文件的后缀名为.CSS,HTML是网页的结构,CSS是网页的修饰,在实际开发过程中为了更好的扩展和项目的维护,一般都是将结构(HTML)和样式(CSS)分离,在页面通过引入的方式来调用。

2、CSS语法

在页面上使用CSS时,通常在head标签中通过style写入CSS样式,具体CSS基本语法:

例1:让段落标签内的文本内容都为红色字体、字体居中

<style type="text/css">
  p{
    color: tomato;
    text-align: center;
  }
</style>

        

3、CSS样式引用

3.1.外部样式表(外联式)

        html文件

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>初始css</title>
		<!--外联方式引入
		link:外联样式是通过link标签引入
		rel:加载方式,表示页面初始化时就加载样式文件
		href:引入CSS样式文件的路径
		type:指定文件类型,一般可以忽略
		-->
		<link rel="stylesheet" href="./main.css" />
			
	</head>
	<body>
		<p>初始CSS样式语法</p>
		<p>外部样式表的引用使用</p>
	</body>
</html>

CSS文件

p{
	color: red;
	font-size: 40px;
}

3.2.内部样式(内嵌式)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>初始css</title>
		<!-- 内联样式 -->
		<style type="text/css">
		label{
			font-weight: bolder;
			font-size: 30px;
		}
		</style>
	</head>
	<body>
		<label>内联样式</label>
	</body>
</html>

                

3.3.内联样式(行内式)

<!-- 行内样式 -->
<p style="color: #009688;">行内样式的使用</p>

3.4.样式优先级

CSS样式优先级采用:就近原则,最靠近相关标签的样式优先级越高

注:

  • 行内样式的优先级最高
  • 就近原则
  • 三种样式属性不冲突,其都会生效

3.5.CSS权重important

作用:提升指定样式的优先级

p{
	color: red !important; /*权重*/
	font-size: 40px;
}

4、CSS选择器

4.1.标签选择器

标签选择器就是使用html标签来定义的选择器称为标签选择器,标签选择器针对页面中所有的标签都有效。。

label{
  font-size: 18px;
  background-color: beige;
}

4.2.id选择器

4.3.class选择器

注意点:

  • 选择器名称小写,如果名称由多个单词组成,使用"-"连接,eg:.box-class
  • 选择器名称不要纯数字或中文命名,也不要使用数字或特殊符号开头
  • 选择器名称要做到见名知意

        在一个标签上可以使用多个类选择器,类选择器之间用空格分开

4.4.通配符选择器

CSS中通配符选择器使用"*"来定义

*{
  margin: 0 auto;
  padding: 0;
  background-color: antiquewhite;
}

4.5.子代选择器

子代选择器可以选择当前元素的所有儿子元素,CSS中使用">"隔开定义

语法:元素1>元素2{声明样式}

/* 子代选择器 */
div>span{
  color:red;
}

备注:子代(子元素)只能选择作为某元素的最近一级子元素(只能针对亲儿子元素)

4.6.后代选择器

后代选择器又称为包含选择器,可以选择父元素里面的所有子元素,CSS中使用空格定义。

语法:元素1 元素2{声明样式}

/* 后代选择器 
意思:相当于选择div元素里面的所有span元素
*/
div span{
  color:red;
}

注:

后代选择器定义是使用空格 Eg:元素1 元素2

后代选择器是选择元素选择元素1包含的所有元素2标签

4.7.并集选择器

并集选择器可以选择多标签,同时为它们定义相同的样式,通常用于集体声明,在CSS样式中并集选择器是各种选择器通过逗号(,)连接,任何形式的选择器都可以作为并集选择器的一部分。

<style type="text/css">
div>span,div>a
{
  color: #FF0000;
}
</style>

4.8.交集选择器

选择的元素必须同时满足多个条件才可以被选择,CSS中的定义:标签名.id/类名

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>CSS相邻兄弟选择器</title>
		<style type="text/css">
			/* 为所有p标签并且class="part"的段落添加颜色 */
			p.part
			{
				color: red;
			}
		</style>
	</head>
	<body>
		<div class="part">
			元素1
		</div>
		<p class="part">元素2</p>
		<p>元素3</p>
	
		
	</body>
</html>

4.9.相邻兄弟选择器

可选择紧接在另一个元素后的元素,二者有相同的父元素(兄弟关系),在CSS中使用"+"定义

语法:元素1+元素2{声明样式}

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>CSS相邻兄弟选择器</title>
		<style type="text/css">
			/* 针对相邻兄弟元素 */
			div>p+span
			{
				color: red;
			}
		</style>
	</head>
	<body>
		<div>
			<p>后代元素1</p>
			<span>
				<p>后代元素3</p>
			</span>
			<div>
				<p>后代元素4</p>
			</div>
		</div>		
	</body>
</html>

这个选择的就是div标签下的p标签的兄弟标签span标签

4.10.后继兄弟选择器

后继兄弟选择器选取所有指定元素之后的相邻兄弟元素,CSS中使用"~"定义

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>后继兄弟选择器</title>
		<style type="text/css">
			/* 为div之后的所有P标签设置字体颜色(针对所有兄弟元素) */
			div~p
			{
				color: red;
			}
		</style>
	</head>
	<body>
		<div>
			<p>后代元素1</p>
		</div>
		<p>后代元素2</p>
		<p>后代元素3</p>
	
		
	</body>
</html>

5、伪类选择器

5.1.a标签伪类选择器

CSS伪类选择器是用来添加一些选择器的特殊效果

常用的是a标签伪类选择器:

  • a:link:没有点击过的链接
  • a:visted:点击过的链接
  • a:hover:鼠标经过的链接
  • a:active:鼠标正在按下还没有弹起鼠标的那个链接

注意:为了确保a标签的伪类选择器生效,必须按照顺序声明:link-->visted-->hover-->active

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>CSS相邻兄弟选择器</title>
		<style type="text/css">
			a:link{
				color: aqua;
			}
			a:visited{
				color:gray;
			}
			a:hover{
				color: red;
			}
			a:active{
				color:green;
			}
		</style>
	</head>
	<body>
		<a href="text1.html">测试1</a>
		<a href="text2.html">测试2</a>
		<a href="text3.html">测试3</a>
		<a href="text4.html">测试4</a>
		
	</body>
</html>

5.2.属性选择器

通过实例进行属性选择器的说明

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>属性选择器</title>
		<style>
			div{
				font-weight: 100%;
				background-color: aquamarine;
				line-height: 40px; /*设置行高*/
				margin-top: 20px;/*上边框外间距*/
			}
		</style>
	</head>
	<body>
		<div>1</div>
		<div>2</div>
		<div>3</div>
		<div>4</div>
		<div>5</div>
		<div>6</div>
		<div>7</div>
	</body>
</html>

在页面添加了6个不同的层(div),并设置其基本样式,在网页布局中可以通过使用属性选择器实现样式的改变

5.2.1.[attr]选择器

说明:表示该选择器带有[attr]命名属性的元素

该选择器主要根据属性名称确定选择的标签(元素),并对其进行设置

Eg:改变前3个div背景颜色

[id]{
  background-color: tomato;
}

 

5.2.2.[attr=value]选择器

[id=box2]{
    background-color: tomato;
}

 

5.2.3.[attr~=value]选择器

[class~="cl3"]{
    font-size: 16px;
    color: #008000;
    background-color: aliceblue;
}	

 

5.2.4.[attr|=value]选择器

说明:表示选择器以attr命名属性,且属性值为value或以value-为前缀开头

[class|="part"]{
    font-size: 24px;
    color: red;
    font-weight: bolder;
}

5.2.5.[attr^=value]选择器

说明:表示选择器带有attr命名的属性,且属性值是以value开头的元素

[class^="part"]{
    background-color: blueviolet;
}

 

5.2.6.[attr*=value]选择器

说明:表示选择器带有attr命名的属性,且属性值包含有value的元素

[class*="part"]{
    font-size: 30px;
}

 

5.2.7.[attr$=value]选择器

说明:表示选择器带有attr命名的属性,且属性值是以value结尾的元素

[class$="part"]{
  color: antiquewhite;
}

5.3.input标签伪类选择器

input标签伪类选择器主要针对form表单的元素进行相关的修饰
 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>input伪类选择器</title>
		<style>
			.input1:focus{
				background-color: red;
			}
			.input2:hover{
				background-color: blueviolet;
			}
			.input3:disabled{
			background-color: gainsboro;
			}
			
		</style>
	</head>
	<body>
		<input class="input1" type="text"  value="获取焦点"/>
		<input class="input2" type="text"  value="鼠标经过改变背景色"/>
		<input class="input3" disabled="disabled" type="text"  value="只读的背景样式"/>
	</body>
</html>

 

 

5.4.常规伪类选择器

5.4.1针对全文匹配

  • :first-child:第一个子元素
  • :last-child:最后一个元素
  • :nth-child(n):选中第n个元素

注:关于:nth-child(n)的特殊值(括号内的内容可以有以下几种情况)

  1. 第n个:n的范围n到正无穷
  2. even或2n:选中偶数位的元素
  3. add或an+1:选中奇数位的元素

注意:以child结尾的是在所有元素中选择

5.4.2.针对局部匹配

  • :first-of-type:第一个子元素
  • :last-of-type:最后一个子元素
  • :nth-of-type(n):选中第n个元素

综合应用:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>常规伪类选择器</title>
		<style>
			/* box下的第一个字元素,也就是变元素1 */
			.box :first-child{
				background-color: antiquewhite;
			}
			.box :last-child{
				font-size: 20px;
			}
			.box p :first-child{
				color: blue;
			}
			/* box下面的第五个元素 */
			.box :nth-child(5){
				color: #aaaaff;
			}
			/* 所有奇数元素加粗 */			
			.box  :nth-child(odd){
				font-weight: bolder;
			}
			/* 局部操作 */
			li:first-of-type{
				background-color: red;
			}
			li:last-of-type{
				color: aquamarine;
			}
			/* 所有的偶数行改变背景色 */
			li:nth-child(even){
				background-color: aqua;
			}
		</style>
	</head>
	<body>
		<ul class="box">
			<p>元素1</p>
			<p>元素2</p>
			<li>L1</li>
			<p>元素3</p>
			<li>L2</li>
			<li>L3</li>
			<p>元素4</p>
			<li>L4</li>
			<p>元素5</p>
			<li>L6</li>
			<p>666</p>
		</ul>
	</body>
</html>

 

        注意:-child与type的区别

        child只看某个父元素下面的子元素,-type看的是某父元素下面的同类型子元素

        Eg:child就是问班级有多少人,type就是问班级有多少女生和多少男生

5.4.3.其他的伪类选择器

  1. E:only-child:选择仅有一个子元素并且类型为E的元素
  2. E:only-of-type:选择仅有一个子元素类型为E的元素
  3. E:empy:没有子元素的元素,不包含任何文本节点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值