CSS基础入门1

CSS 基础入门1

目标🎖️

  1. 能够说出什么是CSS
  2. 能够使用CSS基础选择器
  3. 能够设置字体样式
  4. 能够设置文本样式
  5. 能够说出CSS的三种引入方式
  6. 能够使用 Chrome调试工具调试样式

1. CSS 简介

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

HTML 太丑了,所以我们使用 CSS 层叠样式表(Cascading Style Sheets)来美化我们的网页

有时我们也会称之为 CSS 样式表或 级联样式表

CSS 也是一种标记语言

CSS 主要是用于设置 HTML 页面中的文本内容,图片外形,以及版面的布局和外观显示样式

CSS 最大的价值:由 HTML 专注去做结构呈现,样式交给 CSS,即 结构(HTML)与 样式(CSS)相分离

CSS 规则由两个主要的部分构成:选择器以及一条或多条声明

image-20210815200144563

  • 选择器 是用于指定 CSS 样式的 HTML 标签,花括号内是该对象设置的具体样式
  • 属性和属性值以 “键值对” 的形式出现

2. CSS 代码风格

  1. 样式格式书写
  • 紧凑格式
h3 { color: deeppink; font-size: 20px; }
  • 展开格式(更推荐这个风格,因为更直观)
h3 {
    color: pink;
    font-size: 20px;
}
  1. 样式大小写

    • 我们在开发中更建议使用小写,这样使代码可读性提升
  2. 空格规范

    • 属性值前面,冒号后面,保留一个空格
    • 选择器(标签)和大括号中间也要保留空格
    选择器
    h3 {
        属性  :属性值
        color: pink;
    }
    

3. CSS 基础选择器

CSS 选择器的作用:选择标签用的

选择器分类:

选择器 分为 基础选择器 和 复合选择器 两个大类,我们治理先讲解基础选择器

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

3.1 标签选择器

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

  • 标签选择器的作用是为页面中某一类标签指定统一的CSS样式
  • 优点是能快速为页面中同类型的标签统一设置样式
  • 缺点是不能设计差异化样式,只能选择全部的当前标签

示例:

/* 标签选择器 :写上标签名 */
标签名
p {
    属性1 : 属性值1
    color: green;
}
div {
    color: pink;
}
3.2.1 类选择器

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

注意:

  1. 类选择器在 HTML 中以 class 属性表示,在CSS中,类选择器以一个点 . 号表示
  2. 记忆口诀:样式定义,结构调用
  3. 长名称或词组可以使用中横线来为选择器命名
  4. 不要使用纯数字,中文等命名,尽量使用英文字母来表示
  5. 命名规范参考 Web前端开发规范手册
/* 类选择器口诀:样式点定义 结构类(class)调用 一个或多个 开发最常用 */
.red {
    color: red;
}
<li class="red">阿巴阿巴1</li>
<li class="red">阿巴阿巴2</li>
<div class="red">我也要红色!阿巴阿巴(痴呆(ˉ﹃ˉ))</div>
3.2.2 类选择器-多类名
  • 我们可以给一个标签指定多个类名,简单理解就是一个标签有多个名字

多类名的使用方式:

  1. 在标签 class 属性中写多个类名
  2. 多个类名中间必须用空格分开
  3. 这个标签就可以分别具有这些类名的样式
<div class="red font20">亚瑟</div>

✍多类名开发中使用场景:

  1. 可以把一些标签元素相同的样式(公共的部分)放到一个类里面
  2. 这些标签都可以调用这个公共的类,然后再调用自己独有的类
  3. 从而节省CSS代码,统一修改也方便
.red {
    color: red;
}
.font35 {
    font-size: 35px;
}
<div class="red font35">我嫩爹</div>
3.2.3 id 选择器
  • id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式
  • HTML 元素以 id属性 来设置 id 选择器,CSS中 id 选择器 以 “#” 来定义

注意:

  • id 属性只能在每个 HTML 文档中出现一次。
  • 记忆口诀:样式 # 定义,结构 id 调用。只能调用一次,别人切勿使用
/* id 选择器的口诀:样式 # 定义,结构 id 调用,只能调用一次,别人切勿使用 */
#pink {
    color: pink;
}
<div id="pink">阿巴阿巴1</div>
<div>阿巴阿巴2</div>

id 选择器和 类选择器有什么区别呢?

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

记忆口诀:

  1. 样式点定义,结构类调用
  2. 样式 # 定义,结构 id 调用

3.2 通配符选择器

  • CSS 中, 通配符使用 * 定义,它表示选取页面中所有元素(标签)。
* {
    属性1:属性值1;
    ....
}
  • 通配符选择器不需要调用,自动就给所有的元素使用样式
  • 一般是用于清除元素标签的内外边距
* {
    margin: 0;
    padding: 0;
}

总结:

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

4. CSS 字体属性

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

  • CSS 使用 font-family 属性设置文本的字体系列
div { font-family:Arial,"Microsoft Yahe","微软雅黑"; }
  • 各种字体之间必须使用英文状态下的逗号隔开
  • 一般情况下,如果有空格隔开的多个单词组成的字体,加引号
  • 尽量使用系统默认自带的字体,保证在任何用户的浏览器中都能正确显示

常用字体:

body {
    font-family: "Microsoft Yahe",tahoma,arial,"Hiragino Sans GB";
}
4.1 字体大小

CSS 使用 font-size 属性设置字体大小,粗细,文字样式(如斜体)

p{
    font-size: 20px;
}
  • px (像素)大小是我们网页的最常用的单位
  • 谷歌浏览器默认的文字大小为 16px
  • 尽量给一个明确值大小,不要默认大小
  • 可以给 body 指定整个页面的文字的大小
4.2 字体粗细

CSS 使用 font-weight 属性设置字体的粗细

font-weight:  normal | bold |  bolder  | lighter |number
属性值描述
normal默认值(不加粗的),相当于number=400
bold定义粗体(加粗的),相当于number=700
bolder定义特粗体
100-900400等同于 normal,700等同于 bold,注意这个数字后面不跟单位

实际开发中,我们更喜欢用数字表示粗细

4.3 文字样式

CSS 使用 font-style 属性设置文字样式

p {
  font-style: normal;
}
属性值作用
normal默认值,浏览器会显示标准的字体样式
italic浏览器会显示斜体的字体样式

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

4.4 字体复合属性

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

<style>
        /* 想要div 文字变倾斜 加粗 字号设置为16像素 并且是微软雅黑 */
        div {
            font-style: italic;
            font-weight: 700;
            font-size: 16px;
            font-family: 'Microsoft yahe';
            /* 复合属性:简写的方式  节约代码*/
            /* 顺序:font-style font-weight  font-size/line-height  font-family */
            font: italic 700 16px 'Microsoft yahe';
        }
</style>
  • 顺序:文字样式 文字粗细 文字大小 文字字体
  • 使用font属性时,必须按照上面语法格式中的顺序书写,不能更换顺序,并且各个属性间以空格隔开
  • 不需要设置的属性可以省略(取默认值),但必须保留font-sizefont-family属性,否则 font 属性将不起作用

总结:

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

5. CSS 文本属性

CSS 文本属性可以设置文本的 外观,比如文本颜色、对齐文本、装饰文本、文本缩进、行间距的等

5.1 文本颜色

color 属性用于定义文本的颜色

实际开发中最常用的是十六进制

div {
    color: red;
}
表示属性值
预定义的颜色值red,green,blue,pink等
十六进制#FF0000, #FF6600,#29D794
RGB代码rgb(255,0,0) 或rgb(100%,0%,0%)

5.2 对齐文本

text-align 属性用于设置文本内容的水平对齐方式

div {
    text-align: center;
}
属性值解释
left左对齐(默认)
right右对齐
center居中对齐

5.3 装饰文本

  • text-decoration 属性用于装饰文本,可以给文本添加下划线,删除线,上划线等
div {
    text-decoration: underline;
}
属性值描述
none默认。没有装饰线(最常用)
underline下划线,链接自带下划线(常用)
overline上划线(几乎不用)
line-through删除线 (不常用)

重点记住如何添加下划线,如何删除下划线,其余了解即可

5.4 文本缩进

  • text-indent 属性用于指定文本的第一行缩进,通常是将段落的首行缩进
div {
    text-indent: 10px;
}

p{
   text-indent: 2em;
}
  • 通过设置该属性,所有元素的第一行都可以缩进一个给定的长度,甚至该长度可以是负值
  • em是一个相对单位,就是当前元素(font-size)1个文字的大小
  • 如果当前元素没有设置大小,则会按照父元素的一个文字大小

5.5 行间距

  • line-height 属性用于设置行间的距离(行高),可以控制文字行与行之间的距离
image-20210816000444693
p {
   line-height: 26px;
}

行间距包括上间距、文本高度、下间距

总结:

属性表示注意点
color文本颜色通常用十六进制,而且是简写形式 #fff
text-align文本对齐可以设定文字水平的对齐方式
text-indent文本缩进段落首行缩进
text-decoration文本修饰记住添加下划线 underline 取消下划线 none
line-height行高控制行与行之间的距离

6. CSS 的引入方式

按照 CSS 样式书写的位置(或者引入的方式),CSS 样式表可以分为三大类:

  1. 行内样式表(行内式)
  2. 内部样式表(嵌入式)
  3. 外部样式表(链接式)

6.1 内部样式表

内部样式表(内嵌样式表)是写到 HTML 页面内部,是将所有的 CSS 代码抽取出来

单独放到一个 <style></style> 标签中

<style>
	div {
        color: red;
        font-size: 12px;
}
</style>

<style> 标签理论上可以放在 HTML 文档的任何地方,但一般会放在文档的 <head> 标签中

通过此种方式,方便控制当前整个页面元素中的元素样式设置

代码结构清晰,但是并没有实现结构与样式完全分离

使用内部样式表设定 CSS ,通常也被称为 嵌入式引入,这种方式是我们练习时常用的方式

6.2 行内样式表

行内样式表(内联样式表)是 在元素标签内部的 <style> 属性中设定 CSS 样式,适合于修改简单样式

<div style="color: red; font-size: 12px;">青春不常在,抓紧谈恋爱</div>
  • style 其实就是标签的属性
  • 在双引号中间,写法要符合 CSS 规范
  • 可以控制当前的标签设置样式
  • 由于书写繁琐,并且没有体现出结构与样式相分离的思想,所以不推荐大量使用,只有对当前元素添加简单样式的时候可以考虑使用
  • 使用行内样式表设定 CSS ,通常也被称为 行内式引入

6.3 外部样式表

实际开发都是外部样式表,适合于样式比较多的情况,核心是:样式单独写到 CSS 文件中,之后把 CSS 文件引入

到 HTML 页面中使用

引入外部样式表分为两步:

  1. 新建一个后缀名为 .css 的样式文件,把所有的 CSS 样式代码都放入此文件中

  2. 在 HTML 页面中,使用 <link> 标签引入到这个文件

<link rel="stylesheet" href="CSS文件路径"
属性作用
rel定义当前文档与被链接文档之间的关系,这里需要指定为 “stylesheet”,表示被链接文档是一个样式表文件
href定义所链接外部样式表文件的 URL ,可以是相对路径,也可以是绝对路径

使用外部样式表设定 CSS ,通常也被称为 外链式或链接式引入,这种方式是开发中常用的方式

总结:

样式表优点缺点使用情况控制范围
行内样式表书写方便,权重高结构样式混写较少控制一个标签
内部样式表部分结构和样式相分离没有彻底分离较多控制一个页面
外部样式表完全实现结构和样式相分离需要引入最多,推荐使用控制多个页面

7. Chrome 调试工具

Chrome 浏览器提供了一个非常好用的调试工具,可以用来调试我们的 HTML 结构和 CSS 样式

  1. 打开调试工具
  • 右键点击 ”检查“ 或者 F12 就可以调出调试界面
  1. 使用调试工具

  2. Ctrl+滚轮可以放大开发者工具代码大小

  3. 左边是HTML元素结构,右边是CSS样式

  4. 右边CSS样式可以改动数值(左右箭头或者直接输入)和查看颜色。

  5. Ctr+0复原浏览器大小。

  6. 如果点击元素,发现右侧没有样式引入,极有可能是类名或者样式引入错误。

  7. 如果有样式,但是样式前面有黄色叹号提示,则是样式属性书写错误

8. CSS 进阶语法

目标🥇:

  1. 能使用 emmet语法
  2. 能够使用CSS复合选择器
  3. 能够写出伪类选择器的使用规范
  4. 能够说出元素有几种显示模式
  5. 能够写出元素显示模式的相互转换代码
  6. 能够写出背景图片的设置方式
  7. 能够计算CSS的权重

8.1 Emmet 语法

Emmet 语法的前身是 Zen coding,它使用缩写来提高 HTML/CSS 的编写速度 ,VScode 内部已经集成该语法

  1. 快速生成 HTML 结构语法
  2. 快速生成 CSS 样式语法

快速生成 HTML 结构语法

  1. 生成标签 直接输入标签名 按 Tab键 即可,比如 div 然后按 Tab键,就可以生成 <div></div>
  2. 如果想要生成多个相同标签 加上 * 就可以了 比如 div * 3 就可以快速生成 3 个div
  3. 如果有父子级关系的标签,可以用 > 比如 ul > li 就可以了
  4. 如果有兄弟关系的标签,用 + 就可以了 比如 div + p
  5. 如果生成带有类名或者 id 名字的,直接写 .demo 或者 #two tab 键就可以了
  6. 如果生成的 div 类名是有顺序的,可以用自增符号 $
  7. 如果想要在生成的标签内部写内容可以用 { } 表示

示例:

<!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>
</head>
<body>
    <!-- table + Tab键 -->
    <table></table>
 
    <!-- div + * + 10 + Tab键 -->
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>

    <!-- ul/div > li/span 生成父子标签 -->
    <ul>
        <li></li>
    </ul>
    <div><span></span></div>

    <!-- div ‘+’ p 生成兄弟标签 -->
    <div></div>
    <p></p>

    <!-- .XXX / #XXX 生成带有类名或者 id 名字 默认div生成的 想要指定标签就直接 X.XXX/X#XXX -->
    <div class="one"></div> <!-- .one 生成的-->
    <p class="two"></p> <!-- p.two 生成的-->
    <div id="tree"></div> <!-- #tree 生成的-->
    <p id="four"></p> <!-- p#four 生成的-->
    <!-- ul>li#include 生成的 -->
    <ul>
        <li id="include"></li>
    </ul>

    <!-- $ 生成有顺序的类名 默认 div 生成 -->
    <!-- .demo$*3 生成的 -->
    <div class="demo1"></div>
    <div class="demo2"></div>
    <div class="demo3"></div>

    <!-- { } 在生成的标签内部写内容 -->
    <!-- div{你好} 生成的 -->
    <div>你好</div>
    <!-- div{XXX}*3 生成的 -->
    <div>XXX</div>
    <div>XXX</div>
    <div>XXX</div>
    <!-- div{$}*3 生成有顺序的标签 -->
    <div>1</div>
    <div>2</div>
    <div>3</div>
</body>
</html>

8.2 快速生成 CSS 样式语法

CSS 基本采取简写形式即可

  1. 比如 w200 按 Tab 可以生成 width:200px;
  2. 比如 lh26 按 Tab 可以生成 line-height:26px;

示例:

<style>
.one {
    text-align: center;
    /* tac */
    text-align: center;
    /* ti2em */
    text-indent: 2em;
    /* w200 */
    width: 200px;
    /* h100 */
    height: 100px;
    /* lh26px */
    line-height: 26px;
    /* tdn */
    text-decoration: none;
}
</style>

8.3 快速格式化代码

VScode快捷键快速格式化代码:shift + alt + F

也可以设置 当我们 保存页面的时候自动格式化代码:

  1. 文件----------> 首选项 ----------->设置;
  2. 搜索 emmet.include;
  3. 在 setting.json下的 用户 中添加以下语句:

“editor.formatOnType”:ture,

“editor.formatOnSave”:ture

只需要设置一次即可,以后都可以自动保存格式化代码

9. CSS 复合选择器

复合选择器:是由两个或多个基础选择器,通过不同的方式组合而成的

常用的复合选择器包括:后代选择器、子选择器、并集选择器、伪类选择器

  • 复合选择器可以更准确,更高效的选择目标元素(标签)

9.1 后代选择器⭐

  • 后代选择器又称为包含选择器,可以选择父元素里面的子元素
  • 其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔,当标签发生嵌套时,内层标签就称为外层标签的后代
元素1 元素2 { 样式声明 }
父元素 子元素
ol li {
    color: deepskyblue;
}
  • 元素1 和 元素2 中间用空格隔开
  • 元素1 是父级,元素2 是子级,最终选择的是元素2
  • 元素1 和 元素2 可以是任意基础选择器

9.2 子选择器⭐

子元素选择器(子选择器)只能选择作为某元素的最近一级子元素,简单理解就是选亲儿子元素

元素1 > 元素2{
    样式声明
}

上述语法表示 选择元素1 里面的所有 直接后代(子元素)元素2

示例:

<style>
/* 此选择器会把两个链接都变红 */
.nav a {
    color: red;
}
.nav>a {
    /* 只会选择标签的亲儿子 */
    color: royalblue;
}
</style>
</head>

<body>
    <!-- 层级关系: div > a=p > p中的a -->
    <div class="nav">
        <a href="#">我是儿子</a>
        <p>
            <a href="#">我是孙子</a>
        </p>
    </div>
</body>
  • 元素1 和 元素2 中间用大于号隔开
  • 元素1 是父级,元素2 是子级,最终选择的是元素2
  • 元素2必须是亲儿子,其孙子、重孙之类都不归他管

9.3 并集选择器⭐

并集选择器可以选择多组标签,同时为他们定义相同的样式,通常用于集体声明

并集选择器 是各选择器 通过英文逗号(,)连接而成任何形式的选择器都可以作为并集选择器的一部分

元素1,元素2 { 样式声明 }

上述语法表示 选择元素1 和 元素2

<style>
    /* 要求1: 请把熊大和熊二改为粉色 */
    /* 并集选择器的写法 标签1, 标签2 {} */
    div,
    p {
        color: pink;
    }

    /* 要求2: 请把熊大和熊二改为粉色 还有 小猪一家改为粉色 */
    div,
    p,
    .pig li {
        color: pink;
    }
    /* 约定的语法规范,并集选择器我们喜欢竖着写 */
    /* 一定要注意最后一个选择器 不需要加逗号 */
</style>
</head>

<body>
    <div>熊🐻大</div>
    <p>熊🐻二</p>
    <span>光头强</span>
    <ul class="pig">
        <li>小猪佩奇</li>
        <li>猪爸爸</li>
        <li>猪妈妈</li>
    </ul>
</body>
  • 元素1 和 元素2 中间用逗号隔开
  • 逗号可以理解为和的意思
  • 并集选择器通常用于集体声明

9.4 伪类选择器

伪类选择器 用于向某些选择器添加特殊的效果,比如给链接添加特殊效果,或选择第一个,第n个元素

伪类选择器书写最大的特点是 用冒号( : )表示,比如:hover,:first-child​

伪类选择器很多,比如有链接伪类、结构伪类,这里先记录常用的链接伪类选择器

a:link 		/*选择所有未被访问的链接*/
a:visited   /*选择所有已被访问的链接*/
a:hover		/*选择鼠标指针位于其上的链接*/
a:active	/*选择活动链接(鼠标按下弹起的链接)*/

9.5 链接伪类选择器

  • 链接伪类选择器注意事项:
  1. 为了确保生效,请按照 LVHA 的顺序声明::link— :visited— :hover— :active

  2. 因为 a 链接在浏览器中具有默认样式,所以我们实际工作中都需要给链接单独指定样式

  3. 在实际开发中,我们一般使用 a和a:hover 来设置链接样式

a {
    color= #333;
    text-decoration= none;
}
a:hover {
    color: darkcyan;
}

9.6 :focus 伪类选择器

:focus 伪类选择器 用于选取获得焦点的表单元素

焦点就是光标,一般情况 <input> 类表单元素才能获取,因此这个选择器也主要针对于表单元素来说

input:foucs {
    background-color: yellow;
}

总结:

选择器作用特征使用情况隔开符号及用法
后代选择器用来选择后代元素可以是子孙后代较多符号是空格 .nav a
子代选择器选择最近一级元素只选亲儿子较少符号是大于 .nav>p
并集选择器选择某些相同样式的元素可以用于集团声明较多符号是逗号 .nav,.header
链接伪类选择器选择不同状态的链接跟链接相关较多重点记住a{}a:hover ,实际开发的写法
:focus选择器选择获得光标的表单跟表单相关较少input:focus 记住这个写法

10. CSS 的元素显示模式

元素显示模式就是 元素(标签)以什么方式进行显示,比如 <div>自己占一行,比如一行可以放多个 <span>

HTML 元素一般分为 块元素和行内元素 两种类型

10.1 块元素⭐

常见的块元素有 <h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中 <div> 标签是最典型的块元素。

块级元素的特点:

①:比较霸道,自己独占一行

②:高度,宽度,外边距以及内边距都可以控制

③:宽度默认是容器(父级宽度)的100%

④:是一个容器及盒子,里面可以放行内或块级元素

注意:

①:文字类的元素内不能使用块级元素

②:<p> 标签主要用于存放文字,因此 <p> 里面不能放块级元素,特别是不能放 <div>

可以看到生成了2个段落标签

image-20210816222304844

③:同理,<h1>~<h6> 等都是文字类块级标签,里面也不能存放其他块级元素。

10.2 行内元素⭐

常见的行内元素有 <a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>

其中 <span> 标签是最典型的行内元素。有的地方也将 行内元素称为内联元素

行内元素的特点:

①:相邻行内元素在一行上,一行可以显示多个

②:高,宽直接设置是无效的

③:默认宽度就是它本身内容的宽度

④:行内元素只能容纳文本或其他行内元素

注意:

链接里面不能再放链接
特殊情况链接 <a> 里面可以放块级元素,但是给 <a> 转换一下块级模式最安全

10.3 行内块元素🌟

在行内元素中有几个特殊的标签 —— <img />、<input />、<td>,它们同时具有块元素和行内元素的特点

有些资料称它们为行内块元素

特点:

①:和相邻行内元素在一行上,但是他们之间会有空白缝隙。一行可以显示多个(行内元素特点)

②:默认宽度就是它本身内容的宽度(行内元素特点)

③:高度,行高,外边距以及内边距都可以控制(块级元素特点)

总结:

元素模式元素排列设置样式默认宽度包含
块级元素一行只能放一个块级元素可以设置宽度高度容器的100%容器级可以包含任何标签
行内元素一行可以放多个行内元素不可以直接设置宽度高度它本身内容的宽度容纳文本或其他行内元素
行内块元素一行放多个行内块元素可以设置宽度高度它本身内容的宽度

10.4 元素显示模式转换⭐️

特殊情况下,我们需要元素显示模式的转换,简单理解:一个模式的元素需要另外一种模式的特性

比如想要增加链接 <a> 的触发范围

  • 🌟转换为块元素: display:block
  • 转换为行内元素: display:inline
  • 🌟转换为行内块元素: display:inline-block

10.5 小技巧💡单行文字垂直居中的代码

建议反复观看:https://www.bilibili.com/video/BV14J4114768?p=114&spm_id_from=pageDriver

CSS 没有给我们提供文字垂直居中的代码,这里我们可以使用一个消极巧来实现

解决方案:让文字的行高等于盒子的高度 就可以让文字在当前盒子内垂直居中

原理:

image-20210816235527051

简单理解:

  • 行高的上空隙和下空隙把文字挤到中间了
  • 如果是行高小于盒子高度,文字会偏上,如果行高大于盒子高度,则文字偏下

11. CSS 的背景

通过 CSS 背景属性,可以给页面元素添加背景样式。

背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等。

11.1 背景颜色🌈

  • background-color 属性定义了元素的背景颜色
background-color: transparent;

一般情况下默认颜色是transparent(透明),我们也可以手动指定背景颜色为透明色

11.2 背景图片🖼

  • background-image 属性描述了元素的背景图像,一般在开发中常见的就是 logo 装饰性图片 超大的背景图片
  • 优点是非常便于控制位置(精灵图也是一种运用场景)
background-image : none | url(url)
参数值作用
none无背景图(默认)
url使用绝对或相地址指定的背景图像

注意:背景图片后面的地址,千万不要忘记加URL,同时里面的路径不要加引号

11.3 背景平铺

  • background-repeat 属性定义背景图像的平铺
background-repeat: repeat| no-repeat| repeat-x| repeat-y
参数值作用
repeat背景图像在纵向和横向上平铺(默认的)
no-repeat背景图像不平铺
repeat-x背景图像在横向上平铺
repeat-y背景图像在纵向平铺

11.4 背景位置-方位名词

  • background-position 属性可以改变图片在背景中的位置
background-position: x y;
  • 参数:X坐标 Y坐标
  • 可以使用 方位名词 或者 精确单位
参数值说明
length百分数|由浮点数字和单位标识符组成的长度值
positiontop| center | bottom |left |center |right 方位名词

参数是方位名词

①:如果指定的两个值都是方位名词,则两个值前后顺序无关,比如left top和top left 效果一致

②:如果只指定了一个方位名词,另一个值省略,则第二个值默认居中对齐

参数是精准单位

①:如果参数值是精确坐标,那么第一个肯定是x坐标,第二个一定是y坐标

②:如果只指定一个数值,那该数值一定是x坐标,另一个默认垂直居中

参数是混合单位

①:如果指定的两个值是精确单位和方位名词混合使用,则第一个值是x坐标,第二个值是y坐标

11.5 背景图像固定(背景附着)

  • background-attachment 属性设置背景图像是否固定或者随着页面的其余部分滚动
background-attachment : scroll | fixed

background-attachment 后期可以制作视差滚动的效果

参数作用
scroll背景图像是随对象内容滚动
fixed背景图像固定

11.6 背景复合写法🌟

  • background : 背景颜色 背景图片地址 背景平铺 背景图像滚动 背景图片位置
background : transparent url(image.jpg) repeat-y fixed top;

这是实际开发中,我们更提倡的写法

11.7 背景颜色半透明

CSS3为我们提供了背景颜色半透明的效果

background : rgba(0,0,0,0.3);
  1. 最后一个参数是alpha 透明度 ,取值范围在0~1之间

  2. 我们习惯把0.3的 0省略掉,写为background(0,0,0,.3);

  3. 注意:背景半透明是指盒子背景半透明,盒子里面的内容不受影响

  4. CSS3 新增属性,是 IE9+ 版本的浏览器才支持的

总结:

属性作用
background-color背景颜色预定义的颜色值/十六进制/RGB代码
background-image背景图片url(图片路径)
background-repeat是否平铺repeat/ no-repeat /repeat-x/repeat-y
background-position背景位置length/position 分别是x 和y坐标
background-attachment背景附着scroll(背景滚动) /fixed(背景固定)
背景简写书写更简单背景颜色 背景图片地址 背景平铺 背景滚动 背景位置
背景色半透明背景颜色半透明background : rgba(0,0,0,0.3);后面必须是四个值

背景图片:实际开发常见于 logo 或者一些装饰性的小图片或者是超大的背景图片, 优点是非常便于控制位置.

二个值是y坐标

11.5 背景图像固定(背景附着)

  • background-attachment 属性设置背景图像是否固定或者随着页面的其余部分滚动
background-attachment : scroll | fixed

background-attachment 后期可以制作视差滚动的效果

参数作用
scroll背景图像是随对象内容滚动
fixed背景图像固定

11.6 背景复合写法🌟

  • background : 背景颜色 背景图片地址 背景平铺 背景图像滚动 背景图片位置
background : transparent url(image.jpg) repeat-y fixed top;

这是实际开发中,我们更提倡的写法

11.7 背景颜色半透明

CSS3为我们提供了背景颜色半透明的效果

background : rgba(0,0,0,0.3);
  1. 最后一个参数是alpha 透明度 ,取值范围在0~1之间

  2. 我们习惯把0.3的 0省略掉,写为background(0,0,0,.3);

  3. 注意:背景半透明是指盒子背景半透明,盒子里面的内容不受影响

  4. CSS3 新增属性,是 IE9+ 版本的浏览器才支持的

总结:

属性作用
background-color背景颜色预定义的颜色值/十六进制/RGB代码
background-image背景图片url(图片路径)
background-repeat是否平铺repeat/ no-repeat /repeat-x/repeat-y
background-position背景位置length/position 分别是x 和y坐标
background-attachment背景附着scroll(背景滚动) /fixed(背景固定)
背景简写书写更简单背景颜色 背景图片地址 背景平铺 背景滚动 背景位置
背景色半透明背景颜色半透明background : rgba(0,0,0,0.3);后面必须是四个值

背景图片:实际开发常见于 logo 或者一些装饰性的小图片或者是超大的背景图片, 优点是非常便于控制位置.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值