01-CSS层叠样式表导读
目标:
- 能够说出什么是CSS
- 能够使用CSS基础选择器
- 能够设置字体样式
- 能够设置文本样式
- 能够说出CSS的三种引入方式
- 能够使用Chrome调试工具调试样式
目录:
- CSS简介
- CSS基础选择器
- CSS字体属性
- CSS文本属性
- CSS的引入方式
- 综合案例
- Chrome调试工具
02-CSS简介
css的主要使用场景就是美化页面,页面布局的。
- CSS是层叠样式表(Cascading Style Sheets)的简称
- 有时我们也会称之为CSS样式表和级联样式表。
- CSS也是一种标记语言。
- CSS主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局和外观显示样式。
- CSS最大价值:由HTML专注去做结构呈现,样式交给CSS,即结构(HTML)与样式(CSS)相分离。
CSS语法规范
CSS规则由两个主要的部分构成:选择器以及一条或多条声明。
- 选择器是用于指定CSS样式的HTML标签,花括号内是对该对象设置的具体样式
- 属性和属性值以“键值对”的形式出现
- 属性是对指定的对象设置的样式属性,例如字体大小、文本颜色等
- 属性和属性值之间用英文“ :”分开
- 多个键值对之间用英文“ ;”进行区分
-----------练习
-----------书写规范:
代码最好采用展开式代码风格(一行写一个属性);
样式选择器、属性名、属性值关键字全部使用小写字母;
属性值前和冒号后加上一个空格;
选择器和大括号之前保留空格
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 选择器 {样式} */
/* 给谁改样式 {改什么样式} */
p {
color: blueviolet;
/* 修改字体颜色 */
font-size: medium;
/* 修改字体大小 */
}
</style>
<!-- style标签写在head标签里面 -->
</head>
<body>
<p>努力学习</p>
</body>
</html>
03-CSS基础选择器
1.CSS选择器的作用
选择器(选择符)就是根据不同需求把不同的标签选出来。简单来说,就是选择标签用的。
2.选择器分类
选择器分为基础选择器和复合选择器两个大类。
- 基础选择器是由单个选择器组成的
- 基础选择器又包括:标签选择器、类选择器、id选择器和通配符选择器
2.1标签选择器
标签选择器(元素选择器)是指用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式。
语法 :
标签名{
属性1: 属性值1;
属性2: 属性值2;
属性3: 属性值3;
...
}
作用:
标签选择器可以把某一类标签全部选出来。
优点:能快速为页面中同一类型的标签统一设置样式
缺点:不能设置差异化样式,只能选择全部的当前标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
p {
color: red;
}
div {
color: yellow;
}
</style>
</head>
<body>
<p>苹果</p>
<p>苹果</p>
<p>苹果</p>
<div>香蕉</div>
<div>香蕉</div>
<div>香蕉</div>
</body>
</html>
2.2类选择器
如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以使用类选择器。
语法:
.类名{
属性1: 属性值1;
属性2: 属性值2;
...
}
注 :
- 类选择器使用“:”(英文符号)进行标识,后面紧跟类名(自定义,我们自己命名的)
- 长命称或词组可以使用中横线来为选择器命名
- 不要用纯数字、中文等命名、尽量使用英文字母来表示。
结构需要class属性来调用class类的意思
<!--sytle标签里面写类选择器、属性和属性值--> .red { color: red; } <!--body里面写标签,使用class属性调用class类--> <div class="red">变红色</div>
-----------练习
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 类选择器口诀: 样式点定义 结构类(class)调用 一个或多个 开发最常用 */
.yanse {
color: blue;
}
</style>
</head>
<body>
<ul>
<li class="yanse">蓝天</li>
<li>草地</li>
<li class="yanse">大海</li>
<li>白云</li>
</ul>
<div class="yanse">蓝玫瑰</div>
</body>
</html>
--------练习案例-----使用类选择器画三个盒子
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>使用类选择器画盒子</title>
<style>
.red {
/* 背景颜色 background-color */
background-color: red;
width: 100px;
height: 100px;
}
.green {
background-color: green;
width: 100px;
height: 100px;
}
</style>
</head>
<body>
<div class="red"></div>
<div class="green"></div>
<div class="red"></div>
</body>
</html>
类选择器特殊使用-多类名
可以给标签指定多个类名,从而达到更多的选择的目的。
1.多类名使用方式
- 在标签class属性中写多个类名
- 多个类名中间必须用空格分开
2.多类名开发中使用场景
(1)可以把一些标签元素相同的样式(共同的部分)放到一个类里面
(2)这些标签都可以调用这个公共的类,然后再调用自己独有的类。
(3)从而节省CSS代码,统一修改也非常方便
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
<style>
.size {
font-size: 35px;
}
.red {
color: red;
}
.yellow {
color: yellow;
}
</style>
</head>
<body>
<div class="red size">草莓</div>
<div class="yellow size">香蕉</div>
</body>
</html>
2.3 id选择器
id选择器可以为标有特定id的HTML元素指定特定的样式。
HTML元素以id属性来设置id选择器,CSS中id选择器以“#”来定义。
语法:
#id名{
属性1: 属性值1;
...
}
注:id属性只能在每个HTML文档中出现一次。口诀:样式#定义,结构id调用,只能调用一次,别人切勿使用。
id选择器和类选择器的区别
1.类选择器和id选择器最大的不同在于使用次数上
2.类选择器在修改样式中用的最多,id选择器一般用于页面唯一性的元素上,经常和JavaScript搭配使用。
-------练习
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* id选择器口诀:样式#定义,结构id调用,只能调用一次,别人切勿使用 */
#pink {
color: pink;
}
</style>
</head>
<body>
<div id="pink">迈克尔·杰克逊</div>
</body>
</html>
2.4通配符选择器
在CSS中,通配符选择器使用“ * ”定义,它表示选取页面中所有元素(标签)。
语法:
* {
属性1: 属性值1;
}
- 通配符选择器不需要调用,自动就给所有的元素使用样式
- 特殊情况才使用,后面讲解使用场景(以下是清除所有的元素标签的内外边距,后面讲)
* {
margin: 0;
padding: 0;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
color: green;
}
</style>
</head>
<body>
<div>西瓜</div>
<span>黄瓜</span>
<ul>
<li>甜瓜</li>
</ul>
</body>
</html>
基础选择器总结:
04-CSS字体属性
CSS Fonts(字体)属性用于定义字体系列、大小、粗细和文字样式(如斜体)。
1.字体系列
CSS使用font-family属性定义文本的字体系列。
如果写了多种字体,如果电脑用户未安装第一种字体,就执行第二种字体,以此类推,实在没有就执行浏览器默认字体。
<style>
h2 {
font-family: 'Microsoft Yahei';
}
p {
font-family: '宋体','Microsoft Yahei',tahoma,arial;
/* 如果写了多种字体,如果电脑用户未安装第一种字体,就执行第二种字体,以此类推,实在没有就执行浏览器默认字体 */
}
</style>
2.字体大小
CSS使用font-size属性定义字体大小。
标题标签比较特殊,需要单独指定文字大小。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
body {
font-size: 15px;
}
/* 标题标签比较特殊,需要单独指定文字大小 */
h2 {
font-size: 20px;
}
</style>
</head>
<body>
<h2>静夜思</h2>
<p>床前明月光</p>
<p>疑是地上霜</p>
<p>举头望明月</p>
<p>低头思故乡</p>
</body>
</html>
3.字体粗细
CSS使用font-weight属性设置文本字体的粗细。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.bold {
/* 700等价于bold;实际开发中,提倡用数字 表示加粗或变细; */
font-weight: 700;
}
#lighter {
font-weight: lighter;
}
#bolder {
font-weight: bolder;
}
h2 {
/* normal等价于400 实际开始更提倡使用数字 */
font-weight: normal;
}
</style>
</head>
<body>
<h2 >静夜思</h2>
<p class="bold">床前明月光</p>
<p id="lighter">疑是地上霜</p>
<p class="bold">举头望明月</p>
<p id="bolder">低头思故乡</p>
</body>
</html>
4.文字样式
CSS中使用font-style属性设置文本的风格。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.normal {
font-style: normal;
}
#italic {
font-style: italic;
}
em {
font-style: normal;
}
</style>
</head>
<body>
<p class="normal">明月几时有,把酒问青天</p>
<p id="italic">明月别枝惊鹊,清风半夜鸣蝉</p>
<em>但愿人长久,千里共婵娟</em>
</body>
</html>
5.字体复合属性写法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 想要字体变倾斜 加粗 字号设置为16px 并且 是微软雅黑 */
/* 第一种 复杂写法 */
/* div {
font-style: italic;
font-weight: bold;
font-size: 16px;
font-family: 'Microsoft Yahei';
} */
/* 第二种 复合写法 更简洁 */
/* font: font-style font-weight font-size/line-height font-family; */
div {
font: italic bold 16px 'Microsoft Yahei';
}
</style>
</head>
<body>
<div>
路虽远行则必至,事虽难做则必成
</div>
</body>
</html>
6.字体属性总结
05-CSS文本属性
CSS Text(文本)属性可定义文本的外观,比如文本的颜色、对齐文本、 装饰文本、文本缩进、行间距等。
1.文本颜色
color用来定义文本的颜色。
<style>
div {
/* 三种颜色表示方式,16进制代码的形式是最常用的 */
/* color: blue; */
/* color: #0000ff; */
color: rgb(200,0,0);
}
</style>
</head>
<body>
<div>苔痕上阶绿,草色入帘青</div>
</body>
</html>
2.对齐文本
text-align属性用于设置元素内文本内容的水平对齐方式。
<style>
h1 {
/* 本质是让h1盒子里面的文字水平居中对齐 */
text-align: center;
}
</style>
</head>
<body>
<h1>居中对齐的标题</h1>
</body>
3.装饰文本
text-decoration属性规定添加到文本的修饰,可以给文本添加下划线、删除线、上划线等。
<style>
.overline {
text-decoration: overline;
}
.underline {
text-decoration: underline;
}
#line-through {
text-decoration: line-through;
}
a {
text-decoration: none;
color: black;
}
</style>
</head>
<body>
<div class="overline">好好学习 天天向上</div>
<div class="underline">好好学习 天天向上</div>
<div id="line-through">好好学习 天天向上</div>
<a href="#">点击跳转</a>
</body>
</html>
4.文本缩进
text-indent属性用来指定文本的第一行的缩进,通常是将段落的首行缩进。
<style>
.em {
text-indent: 3em;
/* 3em 则是缩进当前元素2个文字大小的距离 */
}
.px {
text-indent: 24px;
/* 首行缩进24px */
}
</style>
</head>
<body>
<p class="em">忆如梦稀,初相遇,娇首待放,漫发茉莉花香,心想:欲引从心光芒,默默刻时,将时光定镶,三生三世情缘,君曾知否,却未于闲暇淡淡然,相愿为梦而争响,引发嘹亮。顺溪泛舟而下,于湖间,清新自然,相饮清泉,肺腑难言,世外般的生活何时重现,隐逸般与君日日笙歌,不枉人生乐华,缕缕青烟升入天,幽咽流泉自是淳漫,不复焉。
</p>
<p class="px">十里桃园,万般泛,与卿共澜,扁舟与树外林间湖边,共渡舟舟,益漾荡如波,泛泛珠雨点,此景虽不胜桂林山水间,但却于我的心尖相抹添彩。或为人间烟渺,俯卧舟边,一览江山,你不时的欢呼为我心中添一丝兴喜,相伴携恋,水中相见,心境如浮云般。碧海青天,朵朵纷繁,在自然端处,绽放留下光环。
</p>
</body>
5.行间距
line-height属性用于设置行间的距离(行高),可以控制文字行与行之间的距离。
6.文本属性总结
06-CSS的引入方式
按照CSS样式书写的位置(或者引入的方式),CSS样式表可以分为三大类:
- 行内样式表(行内式)
- 内部样式表(嵌入式)
- 外部样式表(链接式)
1.内部样式表
内部样式表(内嵌样式表)是写到html页面内部,是将所有的CSS代码抽取出来,单独放到一个<style>标签中。
2.行内样式表
行内样式表(内联样式表)是在元素标签内部的style属性中设定CSS样式,适合于修改简单样式。
3.外部样式表
实际开发都是外部样式表,适合于样式较多的情况。核心是:样式单独写到CSS文件中,之后把CSS文件引入到HTML页面中使用。
4.CSS引入方式总结
07-综合案例
案例:新闻页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>综合案例-新闻页面</title>
<link rel="stylesheet" href="综合案例-新闻页面.css">
</head>
<body>
<h2>天气预报 | 未来三天重庆先晴后雨,最高气温25℃</h2>
<div>
2022-11-25 16:07:59 来源:
<a href="#">上游新闻</a>
<input type="text" value="请输入查询条件" class="search">
<button class="btn">搜索</button>
</div>
<hr>
<!-- hr是水平线标签,日常开发不太使用 -->
<p>11月25日清晨,重庆多地出现浓雾,雾气散去,各地阳光回归,较前几日温暖了不少。截至下午2点,沙坪坝、北碚、江津、璧山、永川、荣昌、武隆等地已超20℃,其中最暖和的彭水达到了24℃。</p>
<p>不过好天气即将结束,冬天已经在赶来的路上了。预计本周末先晴后雨,大部分地区气温仍能保持在20℃以上。但11月28日夜间至12月1日白天,重庆各地有一次强降温天气过程,高海拔地区部分地区或将降至-3℃,海拔800米以上山区有雨夹雪或小到中雪,山口河谷地区伴有5~7级阵风,重庆多地将一夜入冬。</p>
<p>专家提醒,受夜间辐射降温影响,明晨重庆部分路段有大雾,局地能见度不足50米,请驾驶员谨慎驾驶,注意保持车距、减速慢行,必要时开启车灯。</p>
<h4>未来三天天气预报</h4>
<p>25日夜间到26日白天,各地多云到晴,坪坝河谷地区早上有雾,气温7~25℃;中心城区多云到晴,气温14~23℃。</p>
<h5><img src="images/weather.jpg" ></h5>
<p>26日夜间到27日白天,各地阴天到多云,部分地区夜间有间断小雨或零星小雨,气温8~24℃;中心城区阴天到多云,气温16~23℃。</p>
<p>27日夜间到28日白天,各地阴天有间断小雨或零星小雨,气温9~24℃;中心城区阴天有零星小雨, 气温16~19℃。</p>
<p class="footer">上游新闻记者 石亨 编辑:朱阳夏</p>
</body>
</html>
-----
-----外部样式表
h2 {
text-align: center;
font-weight: normal;
/* 文字不加粗 */
}
div {
text-align: center;
font-size: 12px;
color: gray;
}
a {
text-decoration: none;
}
p {
text-indent: 2em;
}
h5 {
/* 此时是为了让标题标签里面的图片居中 */
text-align: center;
}
body {
font: 16px/26px 'Microsoft YaHei';
}
.search {
color: #666;
/* #666666 简写为 #666 #ff00ff 简写为 #f0f */
width: 170px;
font-size: 12px;
}
.btn {
font-weight: 600;
font-size: 12px;
}
.footer {
font-size: 14px;
color: #666;
text-align: left;
}