CSS3基础(基础认知,选择器,字体属性,文本属性,CSS 的三种引入方式)

CSS3基础

1. 基础认知

1.1 CSS 简介

CSS 的使用场景是什么?
  • 美化网页,布局页面
CSS 的中文名称是什么?
  • 层叠/级联样式表(Cascading Style Sheets)
  • CSS 也是一种标记语言
CSS 能设置哪些样式?
  • 文本内容:字体、大小、对齐方式
  • 图片:宽高、边框、边距
  • 版面的布局
    结构与样式分离:HTML 专注做结构 + CSS 专注做样式

1.2 体验 CSS 语法规范

CSS 规则包含哪两个部分,作用是什么?
  • 选择器:改谁的样式
  • 样式声明:改成什么样式
CSS 通常写在 HTML 的什么位置?
    <head>
      <meta charset="UTF-8" />
      <title>体验CSS语法规范</title>
      <style>
        CSS 写在这里
      </style>
    </head>
CSS 语法格式是什么?
选择器 {
  属性: 值;
  属性: 值;
}
 p {
   width: 100px;
   height: 100px;
   }
  • 使用 {} 包含一个或多个样式声明;
  • 每条样式声明以键值对形式出现:属性: 值
  • 属性和值之间使用 : 分隔;
  • 属性之间使用 ; 分隔,最后一行的分号可以省略。
<!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>1. 体验CSS语法规范</title>
    <style>
        p {
            color: aqua;
            font-size: 64px;
        }
    </style>
</head>
<body>
    <p>学习如逆水行舟,不进则退</p>
</body>
</html>

注意:

  1. 在 HTML 中写样式不要忘记加 style 标签
  2. 设置字体不要忘记 px,提示可以把字体设置大一些,这样更直观。

1.3 CSS 代码风格

紧凑格式和展开格式哪种更推荐?为什么?
  • 更推荐展开格式,因为更直观,更易于阅读和维护。

有专门的工具对 CSS 进行压缩

  • 开发时展开给人看,更友好
  • 上线时压缩给浏览器看,更高效
书写样式时,应该使用大写字母还是小写字母?
  • 小写字母。
书写样式时,有两个地方需要注意空格,分别是什么位置?
  1. 选择器和开始花括号之间保留一个空格;
  2. : 后面保留一个空格。

2. 选择器

2.1 CSS 选择器的作用

选择器的作用是什么?
  • 选择标签(根据不同的需求,把对应的标签选择出来)。

2.2 标签选择器

选择器分为哪两大类?特征是什么?
  1. 基础选择器:由单个选择器组成
  2. 复合选择器:由多个选择器组成
标签选择器是以什么作为选择器?
  • 标签选择器就是使用 HTML 标签名称作为选择器
使用标签选择器修改样式的结果是什么?有什么优点?有什么缺点?
  • 结果:把某一类标签选择出来,统一修改样式
  • 优点:快速、统一设置同类型标签的样式
  • 缺点:没有差异化

2.3 类选择器

类选择器的应用场景是什么?
  • 如果想差异化选择不同的标签,单独选择一个或某几个标签
类选择器的语法是什么?使用步骤是什么?注意事项是什么?
  1. 定义类选择器
  • 选择器名称前有一个 . 表示是类选择器
  • {} 中仍然是一个或多个键值对;
  1. 使用类选择器
  • 找到需要修改样式的标签;
  • 给标签增加 class 属性,属性值是选择器的类名
  1. 注意事项
  • 使用类选择器不需要 .
类选择器可以应用到不同类型的标签吗?
  • 可以
给类选择器命名有注意事项?
  • . 紧跟类名,不能有空格;
  • 长名称或词组使用 - 连接,例如:jd-nav
  • 尽量用英文,不要用数字或中文;
  • 命名要做到见名知意
    类选择器口诀
  1. 样式点定义
  2. 结构类调用
  3. 一个或多个
  4. 开发最常用
<!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>3. 类选择器</title>
    <style>
        .hot {
            color: rgb(255, 0, 0);
            font-size: 20px;
        }
    </style>
</head>
<body>
    <ul>
        <li>HTML 入门到精通</li>
        <li class="hot">CSS 布局指南</li>
        <li>JavaScript 从入门到放弃</li>
    </ul>
</body>
</html>

2.4 使用类选择器画盒子

<!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>4. 使用类选择器画盒子</title>
    <style>
        .red {
            color: rgb(255, 255, 255);
            font-size: 20px;
            width: 100px;
            height: 100px;
            background-color: red;
        }
        .green {
            color: rgb(247, 247, 247);
            font-size: 30px;
            height: 100px;
            width: 100px;
            background-color: green;
        }
    </style>
</head>
<body>
    <div class="red">red</div>
    <div class="green">green</div>
    <div class="red">red</div>
</body>
</html>

2.5 类选择器特殊使用-多类名

多类名的使用方式是什么?
  • 在标签的 class 属性中使用多个类名
  • 类名之间使用空格分隔
多类名的应用场景是什么?
  • 把元素相同的样式放在同一个公共类中,个性的样式放在单独的类中,既可以节省 CSS 代码,又方便统一修改。

2.6 id 选择器

id 选择器的前缀是什么?
  • #
id 选择器的应用场景是什么?
  • 专门定义 HTML 中某个特定元素的样式,因为 id 是唯一的
id 选择器的使用步骤?
  1. 定义带 id 的 HTML 元素

    1. 给 HTML 中的某个特殊元素增加 id 属性
  2. 定义 id 选择器

    1. 选择器名称前有一个 # 表示是 id 选择器
    2. 选择器名称就是对应 HTML 元素的 id 名称
    3. {} 中仍然是一个或多个键值对;
id 选择器和类选择器的区别?
  1. id 可以看成是身份证号(唯一) / 类可以看成是名字(可多人使用)

  2. id 只为特定元素设置样式,常与 JavaScript 联用

  3. 类选择器在修改样式中用的最多
    id 选择器口诀

  4. 样式 # 定义

  5. 结构 id 调用

  6. 只能用一次

  7. 别人勿使用

2.7 通配符选择器

通配符选择器使用什么符号定义?
  • *
  • 表示选取页面中的所有元素
通配符选择器需要调用吗?为什么?
  • 不需要
  • 浏览器在解释 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>6. 通配符选择器</title>
    <style>
        * {
            color: hotpink;
        }
    </style>
</head>
<body>
    <div>不要皱眉,即使在伤心的时刻,因为你从不知道有谁会醉心于你的笑容。</div>
    <p>我们看错了这个世界,却说世界欺骗了我们。</p>
    <span>我们人这一辈子不是别人的楷模,就是别人的借鉴</span>
</body>
</html>
基础选择器总结
基础选择器作用特点使用频率
标签选择器选出相同标签不能差异化选择较多
类选择器(.)按需选择标签根据需求选择非常多
id 选择器(#)选中唯一标签针对唯一标签通常与 JavaScript 联用
通配符选择器(*)选中所有标签选择的太多,有部分不需要特殊情况使用

3. 字体属性

3.1 font-family 设置字体系列

字体属性可以定义哪些样式?
  • 字体相关的样式,例如:字体系列大小粗细文字样式(斜体)等
font-family 的含义是什么?
  • 字体系列、字体族
为什么要尽量使用系统默认自带字体?
  • 保证在任何用户的浏览中都能正确显示
浏览器对字体的搜索顺序是什么?
  • 当指定的字体找不到(或者某些文字不支持这个字体)时,就接着往后找
为什么要把字体样式设置给 body 标签?
  • 一次设置,到处使用
font-family 设置字体系列扩展 —— 字体族
  • 衬线字体 serif,如:宋体,Times New Roman
  • 非衬线字体 sans-serif,如:微软雅黑,苹方,Arial
  • 等宽字体 monospace,如:Courier,Courier New,Monospace,新宋体,幼圆
  • 手写体 cursive
  • 花体 fantasy
    注意:
  • 写 CSS 代码时,末尾的字体族不需要带引号
  • Windows 推荐使用微软雅黑字体;
  • macOS 推荐使用苹方字体。
  • 衬线体如今已经很少使用了,而非衬线体更符合现代审美。如果你发现一名设计师,在做海报设计、或者制图的时候,使用了宋体,说明她一定是个外行。
<!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>7. font-family字体属性</title>
    <style>
        h2 {
            font-family: cursive;
            text-align: center;
        }
        p {
            font-family: cursive;
            text-align: center;
        }
    </style>
</head>
<body>
    <h2>《送孟浩然之广陵》</h2>
    <p>故人西辞黄鹤楼,</p>
    <p>烟花三月下扬州.</p>
    <p>孤帆远影碧空尽,</p>
    <p>唯见长江天际流.</p>
</body>
</html>

3.2 font-size 字号大小

设置字体大小的单位是什么?
  • px 像素
谷歌浏览器的默认文字大小是多少?
  • 16px
为什么要在 body 标签中指定页面文字的大小?
  • 不同浏览器可能默认显示的文字大小不一致
  • 开发时要尽量给一个明确的值,不要使用默认大小
font-size 字号大小扩展 —— 检查文字大小
  1. 确认谷歌浏览器的默认文字大小

image.png
2. 设置尺寸漏写 px

image.png

3.3 font-weight 字体粗细

实际开发中推荐使用哪种方式设置字体的粗细?
  • 数字
  • font-weight 字重
使用数值设置字体粗细需要单位吗?
  • 不需要
哪些数值可以设置字体的粗细?normal 对应多少?bold 对应多少?
  • 取值范围 100 ~ 900(按 100 递增)
  • normal:正常粗细,与 400 等值。
  • bold:加粗,与 700 等值。
    注意:不是所有的字体都提供了九种粗细的,因此有些数值指定后会看不出变化
   h2 {
        font-weight: 700;
    }
    p {
        font-weight: 400;
    }
</style>

3.4 font-style 字体样式

开发时把字体设置为倾斜的场景多吗?为什么?
  • 不多
  • font-style: italic;
font-style 的应用场景是什么?
  • emi 默认的斜体改为不倾斜显示 font-style: normal;
    注意:开发时,如果需要对段落中的局部文字进行修饰,例如搜索结果高亮,可以首选 em 标签,然后应用 font-style 首先将字体设置为不倾斜。
  <style>
        h2 {
            font-style: italic;
        }
        em {
            font-style: normal;
        }
   </style>

3.5 font 复合属性写法

字体复合属性的属性名是什么?
  • font
复合属性的作用是什么?
  • 节约代码
复合属性的编写顺序是什么?能够随意调整顺序吗?
  • font: font-style font-weight font-size/line-height font-family;
  • 复合属性不能随意调整顺序
  • 复合属性至少要保留:font-sizefont-family 属性,否则设置无效
猜一猜在开发中字体的复合属性使用频率高吗?为什么?
  • 不高
  • font-family 通常会在 body 的标签选择器中定义,其他位置通常不需要更改字体
<!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>11. font 复合属性写法</title>
    <style>
        #name {
            font-style: italic;
            font-weight: 900;
            font-size: 20px;
            font-family: sans-serif;
        }
        .name_a {
            font: normal 100 30px "微软雅黑";
        }
    </style>
</head>
<body>
    <div id="name">三十三世十里桃花</div> 
    <div class="name_a">一心一意百行代码</div>
</body>
</html>

3.6 字体属性总结

属性含义注意事项
font-size字号但是通常是 px(像素),一定要有单位
font-family字体工作中按照团队约定即可
font-weight字重700 加粗 / 400 普通 不带单位
font-style字体样式italic 斜体 / normal 正常,把 em 改成不倾斜
font连写font-style ,font-weight ,font-size/line-height ,font-family

4. 文本属性

4.1 文本颜色 color

文本属性可以定义哪些样式?
  • 文本相关的样式,例如:颜色、对齐方式、装饰文本、文本缩进、行间距等
文本相关的样式,例如:颜色、对齐方式、装饰文本、文本缩进、行间距等
  • 预定义的颜色名:redgreenblue
  • 十六进制:#ff0000
  • RGB 代码:rgb(255, 0, 0)rgba(255, 0, 0, 0.5)
有几种定义颜色的方式?在开发中哪种颜色最常用?
  • 开发中最常用的是:十六进制的颜色

  • 如果要使用透明色,可以使用 rgba(red, green, blue, 透明度),其中:

    • red:0 ~ 255
    • green:0 ~ 255
    • blue:0 ~ 255
    • 透明度:0 ~ 1,0 表示完全透明(看不见),1 表示完全不透明

4.2 文本对齐 text-align

text-align 能设置哪个方向上的文本对齐方式?
  • 可以设置水平方向上的对齐方式
有哪三种种文本对齐方式?
  • left:左对齐(默认)
  • right:右对齐
  • center:居中
   <style>
        p1 {
            text-align: left;
        }
        p2 {
            text-align: center;
        }
        p3 {
            text-align: right;
        }
    </style>
文本对齐的本质是什么?
  • 盒子让内部的文本按照盒子边界对齐

4.3 文本装饰 text-decoration

视频中 text-decoration 能够给文本增加哪些装饰?
属性值描述
none默认,没有装饰线,最常用
underline下划线,常用
line-through删除线,不常用
overline上划线,几乎不用
问题 2:如何取消 a 标签默认的下划线?
  • text-decoration: none;
a {
     text-decoration: none;
  }

4.4 文本缩进 text-indent

text-indent 的作用是什么?
  • 设置文本段落的首行缩进,更适合中文阅读习惯
em 有多大?
  • 当前元素 1 个文字的大小
  • 1em = 16px
p {
   text-indent: 2em;
  }

4.5 行间距 line-height

line-height 的作用是什么?
  • 控制文本行与行之间的距离
  • 文本在盒子中垂直居中
行间距由几个部分组成?分别是什么?
  • 上间距
  • 文本高度
  • 下间距
应该如何测量行间距?为什么?
  • 从一段文字的下边线测量到相邻行的上间距
  • 因为文本的上下间距是相等的
    <style>
        p {
            line-height: 80px;
            color: lightgreen;
        }
    </style>

4.6 CSS 文本属性总结

属性含义注意事项
color颜色#fff / rgba(r, g, b, 透明度)
text-align对齐left / right / center
text-indent首行缩进text-indent: 2em;
text-decoration文本修饰text-decoration: underline; / text-decoration: none;
line-height行高行高等于盒子高度会垂直居中

5. CSS 的三种引入方式

5.1 内部样式表

按照书写方式,CSS 可以分成几种方式?分别是什么?
  • 行内样式表(行内式)
  • 内部样式表(嵌入式)
  • 外部样式表(链接式)
内部样式表可以放在 HTML 的什么位置?推荐会放在哪里?
  • 理论上可以放在 HTML 的任何位置
  • 推荐放在 head 标签中,不要忘记还有一个 style 标签

5.2 行内样式表

行内样式表有什么特点?
  • 写在元素的 style 属性中
  • 适合于简单、快速、临时修改样式
  • style 属性中,使用键值对设置样式,不需要 {}
  • 写在哪个元素就控制哪个元素,对其他元素没有效果
    <style>
        p {
            color: lightcoral;
        }
    </style>
开发时推荐使用行内样式吗?为什么?
  • 不推荐
  • 书写繁琐,没有体现出结构和样式分离
  • 不能做到样式复用
<p style="color: lawngreen;">15. 行内样式表</p>
开发时什么时候会使用行内样式?
  • 临时使用,非正式页面

5.3 外部样式表

在实际开发中,哪种样式表的引入方式使用的多?
  • 外部样式表
  • 核心思想:CSS 与 HTML 分离
外部样式表的使用步骤是什么?
  1. 新建外部的 CSS 文件并编写样式
  2. 在 HTML 中使用 link 标签引入外部样式表
外部样式表中需要使用 style 标签吗?为什么?
  • 不需要
  • 标签是 HTML 的,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>16. 外部样式表</title>
    <link rel="stylesheet" href="CSS/style.css">
</head>
<body>
    <p>16. 外部样式表</p>
</body>
</html>

style.css文件

p {
    color: aqua;
}

5.4 CSS 引入方式总结

样式表优点缺点使用频率控制范围
行内书写方便,权重高结构样式混合控制一个标签
内部部分结构和样式分离没有彻底分离较多控制一个页面
外部完全结构和样式分离需要 link 引入可以被多处复用

附录

类命名规则

功能建议命名
header
内容content / container
footer
导航nav
侧栏sidebar
栏目column
页面外围控制整体布局宽度wrapper
左右中left right center
登录条loginbar
标志logo
广告banner
页面主体main
热点hot
新闻news
下载download
子导航subnav
菜单menu
子菜单submenu
搜索search
友情链接friendlink
页脚footer
版权copyright
滚动scroll
内容content
标签页tab
文章列表list
提示信息msg
小技巧tips
栏目标题title
加入joinus
指南guild
服务service
注册regsiter
状态status
投票vote
合作伙伴partner
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值