一、内部样式表
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>CSS</title>
<!--
内部样式表
也可以将CSS样式编写到head中的style标签里
将样式表编写的style标签中,然后通过CSS选择器选中指定元素
然后可以同时为这些元素一起设置样式,这样可以使样式进一步的复用
将样式表编写到style标签中,也可以使表现和结构进一步分离它也是我们推荐的使用方式
<style type="text/css">
p{
color:red;
font-size:40px;
}
</style>
-->
<!--
还可以将样式表编写到外部的CSS文件中,然后通过link标签来将外部的CSS文件引入到当前页面中,
这样外部文件中的css样式表将会应用到当前页面中。
将CSS样式统一编写到外部的样式表中,完全使结构和表现分离,可以是样式表可以在不同的页面中使用,
最大限度的使样式可以进行复用,将样式统一写在样式表中,然后通过link标签引入,可以利用浏览器的缓存
加快用户访问的速度提高了用户体验,所以在开发中我们最推荐使用的方式就是外部的CSS文件
-->
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<!--
可以将CSS样式编写到元素的style属性当中
将样式直接编写到style属性中,这种样式我们称为内联样式
内联样式只对当前的元素中的内容起作用,内联样式不方便复用
内联样式属于结构与表现耦合,不方便后期的维护,不推荐使用的
<p style="color:red;font-size:40px;">锄禾日当午,汗滴禾下土</p>
<p style="color:red;font-size:40px;">谁知盘中餐,粒粒皆辛苦</p>
-->
<p>谁知盘中餐,粒粒皆辛苦</p>
<p>谁知盘中餐,粒粒皆辛苦</p>
<p>谁知盘中餐,粒粒皆辛苦</p>
<p>谁知盘中餐,粒粒皆辛苦</p>
<p>谁知盘中餐,粒粒皆辛苦</p>
<p>谁知盘中餐,粒粒皆辛苦</p>
</body>
</html>
二、CSS注释和选择器和声明块
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>CSS</title>
<style type="text/css">
/*
CSS的注释,作用和HTML注释类似,只不过它必须编写在style标签中,或者是css文件中
CSS的语法:
选择器 声明块
选择器:
- 通过选择器可以选中页面中指定的元素,
并且将声明块中的样式应用到选择器对应的元素上
声明块:
- 声明块紧跟在选择器的后边,使用一对{}括起来,
声明块中实际上就是一组一组的名值对结构,
这一组一组的名值对我们称为声明,
在一个声明块中可以写多个声明,多个声明之间使用;隔开,
声明的样式名和样式值之间使用:来连接
*/
p{
color:red;
font-size:50px;
}
</style>
</head>
<body>
<p style="color:red">今天天气真不错,PM2.5也就500</p>
</body>
</html>
三、块和内联元素
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--
块元素和内联元素
div就是一个块元素,
所谓的块元素就是会独占一行的的元素,无论他的内容有多少
他都会独占一整行。
p h1 h2 h3 ...
div这个标签没有任何语义,就是一个纯粹的块元素,
并且不会为它里边的元素设置任何的默认样式,
div元素主要用来对页面进行布局的
span是一个内联元素(行内元素)
所谓的行内元素,指的是只占自身大小的元素,不会占用一行
常见的内联元素:
a img iframe span
span没有任何的语义,span标签专门用来选中文字,
然后为文字来设置样式
块元素主要用来做页面中的布局,内联元素主要用来选中文本设置样式,
一般情况下只使用块元素去包含内联元素,而不会使用内联元素去包含一个块元素
a元素可以包含任意元素,除了他本身
p元素不可以包含任何块元素
-->
<p><div>我是一个span</div></p>
<a href="#"><a href="#">我是一个超链接</a></a>
<a href="#">
<div style="background-color:red ; width: 200px;">
我是一个div
</div>
</a>
<div style="background-color:yellow ; width: 200px;">
我是一个div
</div>
<p>我是一个p标签</p>
<p>我是一个p标签</p>
<hr />
<span>我是一个span</span>
<span>我是一个span</span>
<span>我是一段文字</span>
</body>
</html>
四、常用的选择器
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>常用选择器</title>
<style type="text/css">
/*为页面中的所有的p元素,设置一个字体颜色为红色*/
/*
* 元素选择器
* 作用:通过元素选择器可以选则页面中的所有指定元素
* 语法:标签名 {}
*/
/*p{
color: red;
}
h1{
color: red;
}*/
/*
* id选择器
* - 通过元素的id属性值选中唯一的一个元素
* - 语法:
* #id属性值 {}
*/
/*#p1{
font-size: 20px;
}*/
/*
* 类选择器
* - 通过元素的class属性值选中一组元素
* - 语法:
* .class属性值{}
*/
/*.p2{
color: red;
}
.hello{
font-size: 50px;
}*/
/*
* 为id为p1的元素,class为p2的元素,还有h1,同时设置一个背景颜色为黄色
*/
/*
* 选择器分组(并集选择器)
* - 通过选择器分组可以同时选中多个选择器对应的元素
* - 语法:选择器1,选择器2,选择器N{}
*/
/*#p1 , .p2 , h1{
background-color: yellow;
}*/
/*
* 通配选择器
* - 他可以用来选中页面中的所有的元素
* 语法:*{}
*/
/**{
color: red;
}*/
/*
* 为拥有class p3 span元素设置一个背景颜色为黄色
*
* 复合选择器(交集选择器)
* - 作用:
* - 可以选中同时满足多个选择器的元素
* - 语法:
* - 选择器1选择器2选择器N{}
*/
span.p3{
background-color: yellow;
}
/*
* 对于id选择器来说,不建议使用复合选择器
* p#p1{
background-color: red;
}*/
</style>
</head>
<body>
<h1>悯农</h1>
<p>锄禾日当午</p>
<p>锄禾日当午</p>
<p id="p1">锄禾日当午</p>
<!--
我们可以为元素设置class属性,
class属性和id属性类似,只不过class属性可以重复
拥有相同class属性值的元素,我们说他们是一组元素
可以同时为一个元素设置多个class属性值,多个值之间使用空格隔开
-->
<p class="p2 hello">锄禾日当午</p>
<p class="p2">锄禾日当午</p>
<p class="p2">锄禾日当午</p>
<p>锄禾日当午</p>
<p>锄禾日当午</p>
<p>锄禾日当午</p>
<p class="p3">锄禾日当午</p>
<span class="p3">汗滴禾下土</span>
</body>
</html>