CSS

image

CSS

CSS-->层叠样式表 就是给HTML标签修改样式

一、语法结构:

选择器{
属性名1:属性值1
属性名:属性值2
}

二、注释语法

/*注释内容*/

三、引入样式

1、style内部直接编写css内容-->平时学习,练习的时候推荐使用
2、link标签外引入外部css文件-->正式工作,实际生产环境推荐使用
3、标签内直接书写-->一般情况下不推荐使用
⚠️:单独开设的css文件内代码也是非常多的,可以借助于注释管理
/导航条样式/或者是/侧边栏样式/

四、基本选择器

1、标签选择器-->通过标签名直接查找
/\*查找所有的p标签\*/
p {
  color:red;
}
2、类选择器(关键符号为句点符.)-->通过class值查找标签
/\*查找所有含有c1样式类的标签\*/
.c1 {
  color:red;    
}
3、id选择器(关键符号为井号#)-->通过id值查找标签
/\*查找所有id为d1标签\*/
#d1 {
  color:red;
}
4、通用选择器(关键符号为*)
/\*选择器内所有的标签\*/
\* {
  color:red;
}

五、组合选择器

1、后代选择器(符号为空格)
/\*查找div内所有的后代span\*/
div span {
color:red;
}
2、儿子选择器(符号为>)
/\*查找div内部所有儿子span\*/
div>span {
color:green;
}
3、毗邻选择器(符号为+)
/\*查找同级别下面紧挨着的第一个span\*/
div + span {
color:pink;
}
4、弟弟选择器(符号为~)
/\*查找同一级别下所有的span(不需要紧挨着)\*/
div ~ span {
color:pink;
}

六、属性选择器-->标签可以有默认的属性也可以有自定义属性

(符号为[])

<p> id="d1" class="c1" name="judy" pwd="123</p>  
1、/\*查找含有的pwd属性的标签\*/
[pwd] {
color:pink;
}
2、/\*查找含有的pwd属性并且值为judy的标签\*/
[pwd="123"] {
color:red;
}
3、/\*查找含有的pwd属性并且值为judy的p标签\*/
p[pwd="123"] {
color:red;
}

七、分组和嵌套

1、多个相同的选择器并列使用
div,span,p {
/\*查找div或span或p标签\*/
}
2、多个不同选择器并列使用
div,#d1,.c1 {
/\*标签查找div,id查找d1,类查找c1\*/
}
3、不并列同样可以使用组合选择器
.c1 p{
/\*查找class为c1的后代标签p标签\*/
}
4、直接筛选
div#d1 {
/\*查找id为d1的div标签\*/
}

八、伪类选择器

1、/\*鼠标悬浮在上面\*/
a:hover {
color:orange;
}
a标签默认颜色是会发生变化的,第一次是蓝色,后面是紫色
2、/\*input框foucs状态的颜色\*/
input:foucs{
background-color:red;
}

-->我们将input狂被用户点击的即将录入数据的过程看成是foucs状态。

九、伪元素选择器

1、首字调整-->也是一种文档布局的方式

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>练习css</title>
	<style>
		p:first-letter # 调整首字{
			font-size: 48px; #这是自提大小
			color: pink; #这是自提颜色
	}

	</style>
</head>
<body>
<p>这是一个很厉害的网页</p>
</body>
</html>

2、在文本的前面通过css动态渲染文本-->特殊文本

   <style>
	p:before{
		content: "hey judy";
		color: blanchedalmond;
	}

	</style>

3、在文本的后面通过css动态添加,上面代码before改成after就可以了

十、选择器的优先级

1、相同选择器不同倒入方式:选择器遵循就近原则 从上往下谁离标签更近就采用哪个选择器
2、不同选择器的优先级是根据精确度而来的:
行内选择器>id选择器>类选择器>标签选择器

十一、字体相关

1、宽和高
只有块儿级标签可以设置,行内标签无法设置

	<style>
   p{
	   height: 100px;
	   width: 100px;
   }
	</style>

2、字体大小

 <style>
   p{
	   font-size: 50px;
   }
	</style>

3、字体粗细

   <style>
   p{
	   font-weight: bolder;
	   /*font-weight: lighter ;*/
   }
	</style>

4、文本颜色

	<style>
   p{
	   color: darkred; /*第一种*/
	   /*color: #b02929; /*第二种*/
	   /*color: rgb(176,41,41);*/ /*第三种*/
	   /*color: rgba(176,41,41,0.2);*/ /*最后一个参数调整透明度(0-1)*/
   }
	</style>

5、文字对齐

 p{
	  text-align: center; /*居中展示*/
   }
	</style>

6、文字装饰

	<style>
   p{
	  text-align: center; /*居中展示*/
   }
   a{
	   text-decoration: none; /*主要用于去a标签的下划线*/
   }
	</style>
</head>
<body>
<p>这是一个很厉害的网页</p>
<a href="https://www.baidu.com">我是百度</a>
</body>

7、首行缩进

	<style>
		p{
			text-indent: 30px;
		}
	</style>

十二、背景属性

	<style>
	   body{
		   /*background-color: blanchedalmond;*/
		   /*background-image: url("图片地址");*/
		   /*background-repeat: no-repeat; */ /*是否铺满*/
		   /*background-position: left;*/
		   /*多个属性名前缀相同的话,那么是可以简写的*/
		   /*background: orangered url(""); !*一个个编写即可*!*/
	   }
	</style>

⚠️ 如何实时修改图片的位置
-->浏览器找到标签的css代码,然后方向键上下按住即可动态调整

十三 边框属性

	<style>
	p{
		/*border-left-color: darkred;*/
		/*border-left-style: solid;*/
		/*border-left-width: 4px;*/
		/*多个属性有相同前缀的时候,一般可以简写*/
		/*border-left: 4px darkred solid*/ /*是没有顺序的哦*/
		/*border-bottom-color: orangered;*/
		/*border-bottom-style: dashed;*/
		/*border-bottom-width: thin;*/
		/*border-bottom: thin orangered dashed*/ /*是没有顺序的哦*/
		/*其他两边也是一样的*/
	}
	div{
		/*height: 500px;*/
		/*width: 500px;*/
		/*border: 5px solid orangered;*/
		/*画圈-->要注意的是长和高必须是一样的不然没办法画出正圆*/
		/*border-radius: 50%;*/
	}
	</style>

十三、display属性

display属性属于定义建立布局时元素生成的现实狂类型,inline是行内元素,block是块元素,display属性可以定义显示狂是行内元素还是块元素

🌼 第一个例子 块元素显示成行内元素

<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>小练习</title>
	<style>
	p{
		display: inline; /*将p这个块标签变成了行内标签*/
	}
	</style>
</head>
<body>
<p>本例子是把块元素变成行内元素</p>
<p>我本来应该在下一行显示但是我在上一行显示了</p>
</body>
</html>

🌹 结果
image

🌼 第二个例子-->把行内元素变成块状元素

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>小练习</title>
	<style>
	span{
		border: orangered solid 1px;
		display: inline; /*将span这个行内标签变成了块标签*/
	}
	</style>
</head>
<body>
<p>本例子是把行内元素变成块状元素</p>
<span>我在第一行</span>
<span>本来我应该在第一行,我却在第二行</span>
</body>
</html>

🌹 结果
image
🌼 第三个例子-->隐藏标签:页面上看不见也不再占用页面位置,但是通过浏览器查找标签是可以看到的

<!--<!DOCTYPE html>-->
<!--<html lang="en">-->
<!--<head>-->
<!--    <meta charset="UTF-8">-->
<!--    <title>小练习</title>-->
<!--    <style>-->
<!--    p{-->
<!--        display: none;-->
<!--    }-->
<!--    </style>-->
<!--</head>-->
<!--<body>-->
<!--<p>行内块状标签就是我</p>-->
<!--</body>-->
<!--</html>-->

🌼 第四个例子-->行内块状元素

<!DOCTYPE html>-->
<!--<html lang="en">-->
<!--<head>-->
<!--    <meta charset="UTF-8">-->
<!--    <title>小练习</title>-->
<!--    <style>-->
<!--    span{-->
<!--        display: inline-block;-->
<!--        height: 100px;-->
<!--        width: 100px;-->
<!--        font-size: 36px;-->
<!--        text-align: center;-->
<!--        color: goldenrod;-->

<!--    }-->
<!--    #s1{-->
<!--        background: orange;-->
<!--    }-->
<!--    #s2{-->
<!--        background: orangered;-->
<!--    }-->
<!--    #s3{-->
<!--        background: darkred;-->
<!--    }-->
<!--    </style>-->
<!--</head>-->
<!--<body>-->
<!--<span id="s1">新</span>-->
<!--<span id="s2">年</span>-->
<!--<span id="s3">好</span>-->
<!--</body>-->
<!--</html>

🌹 结果
image

十四、盒子模型

亿快递盒为例
1、快递盒与快递盒之间的苦力-->外边距(标签之间的距离)
2、快递盒的厚度-->边框
3、内部物品到盒子的距离-->内边距(文本到边框的距离)
4、物品本身的大小->文本大小

⚠️ body比奥秋安默认自带8px的外边距,在编写的时候应该提前距掉

<!--<!DOCTYPE html>-->
<!--<html lang="en">-->
<!--<head>-->
<!--    <meta charset="UTF-8">-->
<!--    <title>小练习</title>-->
<!--    <style>-->
<!--        /*body标签默认自带8px的外边距 在编写的时候应该提前去掉*/-->
<!--    body{-->
<!--      margin: 0;-->
<!--    }-->
<!--    span{-->
<!--        display: inline-block;-->
<!--        height: 100px;-->
<!--        width: 100px;-->
<!--    /*外边距(标签之间的距离)*/-->
<!--    /*margin简写*/-->
<!--  	/*margin:0px;  # 上下左右都一致*/-->
<!--    /*margin:10px 10px;  # 第一个控制上下 第二个控制左右*/-->
<!--    /*margin:20px 10px 20px;  # 上 左右 下*/-->
<!--    /*margin:10px 2px 3px 5px;  # 上 右 下 左*/-->

<!--    /*2.内边距(文本内容到边框的距离)*/-->
<!--	/*padding简写*/-->
<!--  	/*padding:0px;  # 上下左右都一致*/-->
<!--    /*padding:10px 10px;  # 第一个控制上下 第二个控制左右*/-->
<!--    /*padding:20px 10px 20px;  # 上 左右 下*/-->
<!--    /*padding:10px 2px 3px 5px;  # 上 右 下 左*/-->
<!--    }-->
<!--    #s1{-->
<!--        background: orange;-->
<!--    }-->
<!--    #s2{-->
<!--        background: orangered;-->
<!--    }-->
<!--    #s3{-->
<!--        background: darkred;-->
<!--    }-->
<!--    </style>-->
<!--</head>-->
<!--<body>-->
<!--<span id="s1">新</span>-->
<!--<span id="s2">年</span>-->
<!--<span id="s3">好</span>-->
<!--</body>-->
<!--</html>-->
posted @ 2022-01-21 20:04  JudyJU  阅读(95)  评论(0)    收藏  举报