likes
comments
collection
share

【前端筑基】CSS简介(上)

作者站长头像
站长
· 阅读数 15

🌠本文学习目标

● 能够说出什么是 CSS ● 能够使用 CSS 基础选择器 ● 能够设置字体样式

🌠CSS 简介

CSS 的主要使用场景就是美化网页,布局网页

1. HTML 的局限性

说到 HTML,这其实是个非常单纯的家伙,它只关注内容的语义。比如 <h1> 表明这是一个大标题,<p> 表明这个一个段落,<img> 表明这里有一张图片,<a> 表明这里有一个链接

很早的时候,世界上的网页虽然很多,但是它们都有一个共同的特点:

虽然 HTML 可以做简单的样式,但是带来的却是无尽的臃肿和繁琐......

【前端筑基】CSS简介(上)

2. CSS-网页的美容师

CSS 是层叠样式表(Cascading Style Sheets)的简称,有时我们也会称之为 CSS 样式表或级联样式表

CSS 也是一种标记语言

CSS 主要用于设置 HTML 页面中的文本内容(字体、大小、对齐方式等)、图片的外观(宽高、边框样式、边距等)以及版面的布局和外观显示样式

CSS 让我们的网页更加丰富多彩,布局更加灵活自如。简单理解:CSS 可以美化 HTML,让 HTML 更漂亮,让页面布局更简单

【前端筑基】CSS简介(上)

总结: ● HTML 主要做结构,显示元素内容 ● CSS 美化 HTML,布局网页 ● CSS 最大价值:由 HTML 专注去做结构呈现,样式交给 CSS,即 结构(HTML)与样式(CSS)相分离

3. CSS 语法规范

使用 HTML 时,需要遵从一定的规范,CSS 也是如此。要想熟练地使用 CSS 对网页进行修饰,首先需要了解 CSS 样式规则。

CSS 规则由两个主要的部分构成:选择器以及一条或多条声明,写在 HTML 文件的 <head></head> 之间添加的 <style></style> 里面

● 选择器是用于指定 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>CSS语法规范</title>
    <style>
        /* 选择器 样式 */
        /* 给谁改样式 什么样式 */
        p {
            color:red;
            /* 修改文字大小为12像素 */
            font-size:12px;
        }
    </style>
</head>
<body>
    <p>有点意思</p>
</body>
</html>

【前端筑基】CSS简介(上)

4. CSS 代码风格

以下代码书写风格不是强制规范,而是符合实际开发书写方式

样式格式书写

① 紧凑格式

h3 { color: deeppink; font-size: 20px; }

② 展开风格

h3 {
	color: pink;
	font-size: 20px;
}

强烈推荐第二种格式,因为更直观

样式大小写风格

h3 {
	color: pink;
}
h3 {
	COLOR: PINK;
}

强烈推荐样式选择器,属性名,属性值关键字全部使用小写字母,特殊情况除外

样式空格风格

h3 {
	color: pink;
}

属性值前面,冒号后面,保留一个空格 选择器(标签)和大括号中间保留空格

🌠CSS 基础选择器

1. CSS 选择器的作用

<div>我是div</div>
<div>我是div</div>
<p>我是段落</p>
<ul>
    <li>我是ul里面小li哦</li>
</ul>
<ol>
    <li>我是ul里面小li哦</li>
</ol>

怎么解决下列需求:

  1. 我想把 div 里面的文字改为红色?
  2. 我想把第一个 div 里面的文字改为红色?
  3. 我想把 ul 里面的 li 文字改为红色?

选择器(选择符)就是根据不同需求把不同的标签选出来,这就是选择器的作用。简单来说,就是选择标签用的

2. 选择器分类

选择器分为基础选择器和复合选择器两个大类,我们先了解以下基础选择器

● 基础选择器是由单个选择器组成的 ● 基础选择器又包括:标签选择器、类选择器、id 选择器和通配符选择器

3. 标签选择器

标签选择器(元素选择器)是指用 HTML 标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的 CSS 样式

基本语法格式如下:

标签名 {
	属性1: 属性值1;
	属性2: 属性值2;
	属性3: 属性值3;
	...
}

作用

标签选择器可以把某一类标签全部选择出来,比如所有的 <div> 标签和所有的 <span> 标签

优点

能快速为页面中同类型的标签统一设置样式

缺点

不能设计差异化样式,只能选择全部的当前标签

<!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>
        p {
            color: green;
            font-size: 20px;
        }
        div {
            color: red;
        }
    </style>
</head>
<body>
    <p>男生</p>
    <p>男生</p>
    <p>男生</p>
    <div>女生</div>
    <div>女生</div>
    <div>女生</div>
</body>
</html>

【前端筑基】CSS简介(上)

4. 类选择器

如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以使用类选择器

类选择器在 HTML 中以 class 属性表示,在 CSS 中,类选择器以一个点 “." 号显示

基本语法格式如下

.类名 {
	属性1: 属性值1;
	...
}

例如,将所有拥有 red 类的 HTML 元素均改为红色

.red {
	color: red;
}

结构需要用 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>类选择器</title>
    <style>
        /* 类选择器口诀:样式点定义 结构类(class)调用 一个或多个 开发最常用*/
        .red {
            color: red;
        }
        .star-sing {
            color: green;
        }
    </style>
</head>
<body>
    <ul>
        <li class="red">笑场</li>
        <li>演员</li>
        <li class="red">刚刚好</li>
        <li class="star-sing">我好像在哪见过你</li>
        <li>丑八怪</li>
    </ul>
    <div class="red">我也会变红色</div>
</body>
</html>

【前端筑基】CSS简介(上)

注意

  1. 类选择器使用 ”.“ (英文点号)进行标识,后面紧跟类名(自定义,我们自己命名)
  2. 可以理解为给这个标签起了一个名字来表示
  3. 长名称或词组可以使用中横线来为选择器命名
  4. 不要使用纯数字、中文等命名,尽量使用英文字母来表示
  5. 命名要有意义,尽量使别人一眼就知道这个类名的目的
  6. 命名规范:CSS类命名规则

案例 ➤ 所用知识点 —— 类选择器的使用 —— 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>利用类选择器画三个盒子</title>
    <style>
        .red {
            width: 100px;
            height: 100px;
            /* 背景颜色 */
            background-color: red;
        }
        .green {
            width: 100px;
            height: 100px;
            background-color: green;
        }
    </style>
</head>
<body>
    <div class="red"></div>
    <div class="green"></div>
    <div class="red"></div>
</body>
</html>

【前端筑基】CSS简介(上) 类选择器-多类名

我们可以给一个标签指定多个类名,从而达到更多的选择目的。这些类名都可以选出这个标签,简单理解就是一个标签有多个名字

➽ 多类名使用方式

<div class="red font20">亚瑟</div>

(1)在标签 class 属性中写多个类名 (2)多个类名中间必须用空格分开 (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>多类名的使用方式</title>
    <style>
        .red {
            color: red;
        }
        .font35 {
            font-size: 35px;
        }
    </style>
</head>
<body>
    <div class="red">薛之谦</div>
    <div class="red font35">薛之谦</div>
</body>
</html>

【前端筑基】CSS简介(上) ➽ 多类名的使用场景

  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>
        /* 便于后面修改 */
        .box {
            width: 100px;
            height: 100px;
        }
        .red {
            /* 背景颜色 */
            background-color: red;
        }
        .green {
            background-color: green;
        }
    </style>
</head>
<body>
    <div class="box red"></div>
    <div class="box green"></div>
    <div class="box red"></div>
</body>
</html>

➽ 多类名总结

  1. 各个类名中间用空格分开
  2. 简单理解:就是给某个标签添加了多个类,或者这个标签有多个名字
  3. 这个标签就可以分别具有这些类名的样式
  4. 从而节省 CSS 的代码,统一修改也非常方便
  5. 多类名选择器在后期布局比较复杂的情况下,还是较多使用的

5. id 选择器

id 选择器可以为标有特定 idHTML 元素指定特有的样式

HTML 元素以 id 属性来设置 id 选择器,CSSid 选择器以 ”#“ 来定义

基本语法格式如下

#id名 {
	属性1: 属性值1;
	...
}

例如,将 id 为 nav 元素中的内容设置为红色

#nav {
	color: red;
}

注意:id 属性只能在每个 HTML 文档中出现一次,也就是只能调用一次

id 选择器和类选择器的区别 ① 类选择器(class)好比人的名字,一个人可以有多个名字,同时一个名字也可以被多个人使用 ② id 选择器好比人的身份证号码,全中国是唯一的,不得重复 ③ id 选择器和类选择器最大的不同在于使用次数上 ④ 类选择器在修改样式中用的最多,id 选择器一般用于页面唯一性的元素上,经常和 JavaScript 搭配使用

6. 通配符选择器

在 CSS 中,通配符选择器使用 ”*“定义,它表示选取页面中所有元素(标签)

➠ 基本语法格式如下

* {
	属性1: 属性值1;
	...
}

● 通配符选择器不需要调用,自动就给所有的元素使用样式 ● 特殊情况才使用

<!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>
        * {
            color: red;
        }
        /* * 这里把 html body div span li 等等的标签都改为了红色 */
    </style>
</head>
<body>
    <div>我的</div>
    <span>我的</span>
    <ul>
        <li>还是我的</li>
    </ul>
</body>
</html>

【前端筑基】CSS简介(上)

下面是清除所有的元素标签的内外边距

* {
	margin: 0;
	padding: 0;
}

7. 基础选择器总结

基础选择器作用特点使用情况用法
标签选择器可以选出所有相同的标签,比如 p不能差异化选择较多p { color: red; }
类选择器可以选出 1 个或者多个标签可以根据需求选择非常多.nav { color: red; }
id 选择器一次只能选择 1 个标签ID 属性只能在每个 HTML 文档中出现一次一般和 js 搭配#nav { color: red; }
通配符选择器选择所有的标签选择的太多,有部分可能不需要特殊情况使用* { color: red; }

● 每个基础选择器都有使用场景,都需要掌握 ● 如果是修改样式,类选择器是使用最多的

🌠CSS 字体属性

CSS Fonts(字体)属性用于定义字体系列、大小、粗细和文字样式(如斜体)

1. 字体系列

CSS 使用 font-family 属性定义文本的字体系列

语法格式如下:

p { font-family:"微软雅黑"; }
div { font-family: Arial,"Microsoft","微软雅黑"; }
<!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>CSS字体属性之字体系列</title>
    <style>
        h2 {
            font-family: '楷体';
        }
        p {
            /* font-family: 'Microsoft YaHei'; */
            font-family: 'Times New Roman', Times, serif;
        }
    </style>
    
</head>
<body>
    <h2>桃花庵歌</h2>
    <h4>明 唐伯虎</h4>
    <p>桃花坞里桃花庵,桃花庵下桃花仙。</p>
    <p>桃花仙人种桃树,又摘桃花换酒钱。</p>
    <p>酒醒只在花前坐,酒醉还来花下眠。</p>
    <p>半醉半醒日复日,花落花开年复年。</p>
    <p>但愿老死花酒间,不愿鞠躬车马前。</p>
    <p>车尘马足富者事,酒盏花枝隐士缘。</p>
    <p>若将显者比隐士,一在平地一在天。</p>
    <p>若将花酒比车马,彼何碌碌我何闲。</p>
    <p>世人笑我太疯癫,我笑他人看不穿。</p>
    <p>不见五陵豪杰墓,无花无酒锄作田。</p>
</body>
</html>

【前端筑基】CSS简介(上)

● 各种字体之间必须使用英文状态下的逗号隔开 ● 一般情况下,如果有空格隔开的多个单词组成的字体,加引号 ● 尽量使用系统默认自带字体,保证在任何用户的浏览器中都能正确显示 ● 最常用的几个字体:body { font-family: 'Microsoft YaHei', tahoma, arial, 'Hiragino Sans GB'; }

2. 字体大小

CSS 使用 font-size 属性定义字体大小

语法格式如下:

p {
	font-size: 20px;
}

px(像素)大小是我们网页的最常用的单位 ● 谷歌浏览器默认的文字大小为 16px ● 不同的浏览器默认显示的字体大小可能不一致,我们尽量给一个明确值大小,不要默认大小 ● 可以给 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>CSS字体属性之字体大小</title>
    <style>
        body {
            font-size: 20px;
        }
        /* 标题标签比较特殊,需要单独指定文字大小 */
        h2 {
            font-size: 20px;
        }
    </style>
</head>
<body>
    <h2>桃花庵歌</h2>
    <h4>明 唐伯虎</h4>
    <p>桃花坞里桃花庵,桃花庵下桃花仙。</p>
    <p>桃花仙人种桃树,又摘桃花换酒钱。</p>
    <p>酒醒只在花前坐,酒醉还来花下眠。</p>
    <p>半醉半醒日复日,花落花开年复年。</p>
    <p>但愿老死花酒间,不愿鞠躬车马前。</p>
    <p>车尘马足富者事,酒盏花枝隐士缘。</p>
    <p>若将显者比隐士,一在平地一在天。</p>
    <p>若将花酒比车马,彼何碌碌我何闲。</p>
    <p>世人笑我太疯癫,我笑他人看不穿。</p>
    <p>不见五陵豪杰墓,无花无酒锄作田。</p>
</body>
</html>

【前端筑基】CSS简介(上)

3. 字体粗细

CSS 粗细 font-weight 属性设置文本字体的粗细

语法格式如下:

p {
	font-weight: bold;
}
属性值描述
normal默认值(不加粗的)
bold定义粗体(加粗的)
100-900400 等同于 normal,而 700 等同于 bold,注意这个数字后面不跟单位
<!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>CSS字体属性之字体粗细</title>
    <style>
        .bold {
            /* font-weight: bold; */
            /* 这个700的后面不要跟单位 等价于 bold 都是加粗的效果 */
            /* 实际开发中,我们跟提倡使用数字来表示加粗或者变细 */
            font-weight: 700;
        }
        h2 {
            /* font-weight: normal; */
            font-weight: 400;
        }
    </style>
</head>
<body>
    <h2>桃花庵歌</h2>
    <h4>明 唐伯虎</h4>
    <p>桃花坞里桃花庵,桃花庵下桃花仙。</p>
    <p>桃花仙人种桃树,又摘桃花换酒钱。</p>
    <p>酒醒只在花前坐,酒醉还来花下眠。</p>
    <p>半醉半醒日复日,花落花开年复年。</p>
    <p>但愿老死花酒间,不愿鞠躬车马前。</p>
    <p>车尘马足富者事,酒盏花枝隐士缘。</p>
    <p>若将显者比隐士,一在平地一在天。</p>
    <p>若将花酒比车马,彼何碌碌我何闲。</p>
    <p class="bold">世人笑我太疯癫,我笑他人看不穿。</p>
    <p>不见五陵豪杰墓,无花无酒锄作田。</p>
</body>
</html>

【前端筑基】CSS简介(上)

● 学会让加粗标签(比如 hstrong 等)不加粗,或者其他标签加粗 ● 实际开发时,我们更喜欢用数字表示粗细

4. 文字样式

CSS 使用 font-style 属性设置文本的风格

语法格式如下:

p {
	font-style: normal;
}
属性值作用
normal默认值,浏览器会显示标准的字体样式 font-style: normal;
italic浏览器会显示斜体的字体样式
<!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>CSS字体属性之字体样式</title>
    <style>
        p {
            font-style: italic;
        }
        em {
            font-style: normal;
        }
    </style>
</head>
<body>
    <p>同学,上课时候的你</p>
    <em>下课时候的你</em>
</body>
</html>

【前端筑基】CSS简介(上)

注意:平时我们很少给文字加斜体,反而要给斜体标签(em, i)改为不倾斜字体

5. 字体复合属性

字体属性可以把以上文字样式综合来写,这样可以更节约代码

语法格式如下:

body {
	font: font-style font-weight font-size/line-height font-family;
}
<!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>CSS字体属性之复合属性</title>
    <style>
        div {
            /* font-style: italic;
            font-weight: 700;
            font-size: 16px;
            font-family: 'Microsoft YaHei'; */

             /* 复合属性:简写的方式 */
             font: italic 700 16px/20px 'Microsoft YaHei';
        }
    </style>
</head>
<body>
    <div>世人笑我太疯癫,我笑他人看不穿</div>
</body>
</html>

【前端筑基】CSS简介(上)

● 使用 font 属性时,必须按上面语法格式中的顺序来写,不能更换顺序,并且每个属性之间以空格隔开 ● 不需要设置的属性可以省略(取默认值),但必须保留 font-sizefont-family 属性,否则 font 属性将不起作用

6. 字体属性总结

属性表示注意点
font-size字号我们通常用的单位是 px(像素),一定要跟上单位
font-family字体实际工作中按照团队规定来写字体
font-weight字体粗细记住加粗是 700 或者 bold,不加粗是 normal 或者 400,记住数字不要跟单位
font-style字体样式记住倾斜是 italic,不倾斜是 normal,工作中我们最常用 normal
font字体连写1. 字体连写是有顺序的,不能随意换位置 2. 其中字号和字体必须同时出现