前端基础2——CSS样式

2023-11-01

一、使用方式

概念:

  • CSS:是一种用于修饰网页的文本样式语言,还可以配合Javascript脚本语言动态对网页各元素操作。

  • 格式: 选择器{属性:值;属性:值;属性:值;…}

  • 选择器:需要改变样式的HTML元素

  • 常见选择器:标签选择器、类选择器、ID选择器、派生选择器

1.1 内联方式

  • 行内样式:直接在标签里面进行使用。

1.对<p>标签内容进行美化,增加字体颜色、调整字体大小。

<p style="color:red; font-size: 50px">在HTML中如何使用css样式</p>

2.查看效果。
在这里插入图片描述

1.2 内部方式

  • 内嵌样式:在head标签中使用。

1.对<h1>标签内容进行美化。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>css测试</title>
    <style type="text/css">    ##添加以下5行。
        h1 {                   ##对以下所有的h1标签内容进行样式美化。
            color: orange;
        }
    </style>
</head>
<body>
<h1>我爱中国</h1>    ##美化文本。
</body>
</html>

2.查看效果。
在这里插入图片描述

1.3 外部导入方式(推荐)

  • 在head标签中使用。

1.创建css样式存放目录文件。
在这里插入图片描述

2.在html模板文件中的head板块进行引用。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>css测试</title>
    <style type="text/css">
        h1 {
            color: orange;
        }
    </style>
    <link href="CSS/qingjun.css" type="text/css" rel="stylesheet"/>   ##引用CSS样式文件。
</head>
<body>
<h1>我爱中国</h1>
<h2>华夏九州</h2>
</body>
</html>

2.查看效果。
在这里插入图片描述

二、选择器类型

2.1 元素选择器

  • 使用html标签作为选择器,为指定标签设置样式。

1.单个元素设置样式。

h1 {
    color: orange;
}

在这里插入图片描述
2.多个元素设置样式。

h1,h2 {
    color: orange;
}

在这里插入图片描述
3.子元素会继承最高级元素所有属性。所有子标签会继承父标签的样式,若子标签指定了样式,优先级高于父标签样式。

body {
	color: #000;
	font-family: Verdana, serif; /*字体*/
}

在这里插入图片描述

2.2 ID选择器

  • 使用“id”作为选择器,为指定id设置样式。
  • 使用格式:#id名{样式…}
  • 特点:
    • 每个标签都可以设置id
    • 每个id名称只能在HTML文档中出现一次
    • id名称不能以数字开头,不能是标签名称
    • 在实际开发中,id一般预留JavaScript使用

1.示例代码。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>css测试</title>
    <style type="text/css">
        h1,h2 {
            color: orange;
        }
        body {
            color: rebeccapurple;
        }
        #qingjun_1 {             ##根据标签id进行引用样式。
            color: blue;
        }
    </style>
</head>
<body>
<h1 style="color: aqua">我爱中国</h1>
<h2>华夏九州</h2>
<h3 id="qingjun_1">测试ID选择器</h3>    ##给标签指定id。
</body>
</html>

2.查看效果。
在这里插入图片描述

2.3 类选择器

  • 类选择器:使用“类名”作为选择器,为指定id设置样式。
  • 使用格式:.类名{样式…}

ID选择器与类选择器区别?

  1. id名称在一个html页面中不能重复。
  2. class名称在一个html页面中可以重复,常用于一个样式对多个标签使用3、id主要用于is选择,因为它是唯

1.示例代码。
在这里插入图片描述
2.查看效果。
在这里插入图片描述

2.4 派生选择器

  • 派生选择器:依据元素在其位置的上下文关系来定义样式。
    在这里插入图片描述

1.针对类设置样式。

<style type="text/css">
    .ipm {
        color: cyan;
    }
</style>


<div class="ipm">
    <L1>测试派生选择器1</L1>
    <p>测试派生选择器2</p>
</div>

在这里插入图片描述

2.针对派生选择器设置样式。

<style type="text/css">
    .ipm L1{
        color: cyan;
    }
</style>


<div class="ipm">
    <L1>测试派生选择器1</L1>
    <p>测试派生选择器2</p>
</div>

在这里插入图片描述

三、常用属性

概念图:
在这里插入图片描述

3.1 内边距和外边距

属性 描述
padding 设置四边的内边距
padding-top 上内边距
padding-right 右内边距
padding-bottom 下内边距
padding-left 左内边距
属性 描述
margin 设置四边的外边距,使用方法同padding
margin-top 上外边距
margin-right 右外边距
margin-bottom 下外边距
margin-left 左外边距

1.示例代码。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>css属性</title>
    <style type="text/css">
        .zhuozi img {
            width: 200px;
            height: 100px;
            margin-top: 75px;
            margin-left: 125px;
        }
        .hezi {
            background-color: antiquewhite;
            width: 500px;
            height: 250px;
            margin-top: 100px;
            margin-left: 200px;

        }
        .zhuozi {
            background-color: orange;
            width: 1000px;
            height: 500px;
            overflow: hidden;
        }
    </style>
</head>
<body>

<div class="zhuozi">
    <div class="hezi">
        <img src="img/4.jpg" alt="">
    </div>
</div>
</body>
</html>

2.查看效果。
在这里插入图片描述

3.2 文本

属性 描述
text-align 文本对齐方式 left:左边
right:右边
center:中间
justify:两端对齐文本效果
text-decoration 文本修饰 none:默认,定义标准的文本,例如去掉超链接下划线。
line-through:删除线。
underline:文本下加一条线。
text-overflow 文本溢出后显示效果 clip:修剪文本。
ellipsis:显示省略号来代表被修剪的文本。
string:使用给定的字符串来代表被修剪的文本。
letter-spacing 字符间的距离 normal:默认。
length:自定义间距。
line-height 行间的距离(行高) normal:默认。
length:设置固定值。
color 字体颜色 颜色名称,例如red。
十六进制值,例如#ff0000
rgb 代码,例如rgb(255,0,0)

1.使文本内容中间对齐。
在这里插入图片描述
2.去除超链接的下划线。
在这里插入图片描述
在这里插入图片描述

3.处理文本溢出显示效果,使用省略号显示。
在这里插入图片描述
在这里插入图片描述

4.调整字间距、行间距。
在这里插入图片描述
5.增加字体颜色,html css颜色代码参考连接
在这里插入图片描述

3.3 边框

属性 描述
border 所有边框样式的缩写 示例:border: 1px solid blue; 宽度 样式 颜色
border-color 四边框的颜色 示例:border-color: red blue green yellow; 上右下左
border-style 边框样式 solid:实线边框。
dotted:点线。
dashed:虚线。
none:不显示边框,默认
border-radius 圆角边框 直接写像素
border-left
border-right
border-top
border-bottom
左边框
右边框
上边框
下边框
例如设置底边框为虚线:
border-bottom: 1px dotted red;
box-shadow 给元素添加阴影 格式:box-shadow: h-shadow v-shadow blur spread color inset;
h-shadow:必选,水平阴影的位置。
v-shadow:必选,垂直阴影的位置。
blur:可选,模糊程度。
spread:可选,阴影的大小。
color:可选,阴影的颜色。
inset 可选,从外层的阴影(开始时)改变阴影内侧阴影。
示例1:box-shadow: 1px 2px 3px 1px #c2c2c2;
示例2:box-shadow: 0 5px 20px 0 #e8e8e8;

1.定义边框样式颜色,比如虚线蓝色。
在这里插入图片描述
2.设置圆角边框。
在这里插入图片描述
3.添加立体效果。
在这里插入图片描述

3.4 背景

属性 描述
background-color 背景颜色 颜色名称,例如red。
十六进制值,例如#ff0000。
rgb 代码,例如rgb(255,0,0)
background-image 背景图片 url(‘URL’):图片路径。
none:不显示背景图片。
background-repeat 设置是否及如何重复背景图像 repeat 默认。背景图像将在垂直方向和水平方向重复。
repeat-x:背景图像将在水平方向重复。
repeat-y:背景图像将在垂直方向重复。
no-repeat:背景图像将仅显示一次。
background-position 背景图片的位置 left、top、top right、center left、center center、center right、bottom left、bottom center、bottom right
x% y% 水平位置和垂直位置
background-size 背景图片的尺寸 length:背景的高度和宽度,例如80px 60px。
percentage:以父元素的百分比设置背景图像的高度和宽度,例如50% 50%

1.添加背景图片。
在这里插入图片描述
2.将图片排列显示,图片尺寸必须小于边框尺寸。
在这里插入图片描述
3.调整背景图片位置。
在这里插入图片描述

3.5 定位

  • position属性:把你元素定到什么位置,或者把你元素根据什么定位。
  • 使用步骤:
    1. 先使用postion告诉怎么定位。
    2. 再告诉它定位到哪。
      • left:靠左距离
      • right:靠右距离
      • top:顶部距离
      • bottom:底部距离
描述
absolute 绝对定位,根据自己最近的一个父元素定位,而且父元素必须相对定位过。如果没父元素,根据窗口定位。
fixed 固定定位,是根据浏览器窗口进行定位。
relative 相对定位,相对于自己定位,偏移后,元素仍保持其未定位前的形状。原来的空间依然保留,只是看不到了。
static 默认值。没有定位,元素框正常生成,出现在正常的流中。

1.登陆页面,div页面在中间。
在这里插入图片描述

2.回到顶部,div在右下角
在这里插入图片描述

3.6 浮动

  • float属性:定义元素在哪个方向浮动。
  • 可选值:none、left、right

特点:

  • 只能水平浮动,不能横向浮动。
  • 浮动碰到父元素的边框或者浮动元素的边框就会停止。
  • 浮动元素的后一个元素会围绕着浮动元素(典型应用:文字围绕图片)。
  • 浮动元素的前一个元素不会受到任何影响(如果想让两个块元素并排显示,必须让两个块元素都应用float)

1.未定义浮动效果。
在这里插入图片描述
2.水平并排显示。
在这里插入图片描述
3.输入框并排显示。
在这里插入图片描述
4.文字围绕图片显示。
在这里插入图片描述

3.7 字体

属性 描述
font-size 设置字体的尺寸 xx-small 、 x-small 、 small、 medium 、 large、 x-large、xx-large,从小到大,默认值 medium。
length 固定长度,例如12px
font-family 字体系列。
可以写多个,如果第一个不支持,使用下一个。
Microsoft YaHei
font-weight 设置字体的粗细 normal:默认值。
bold:粗体。
bolder:更粗。
lighter 更细
font-style 字体样式 normal:正常。
italic:斜体。
oblique:倾斜的字体

1.设置字体类型。
在这里插入图片描述
2.设置字体粗细。
在这里插入图片描述

3.8 其他属性

属性 描述 描述
list-style-type 列表样式 none:不显示项目符号
overflow 内容溢出处理 hidden:溢出部分隐藏。
scroll:不管是否溢出都显示滚动。
auto:溢出显示滚动条,不溢出没有滚动条
display 是否及如何显示 none:隐藏该元素。
block:显示为块级元素。
inline:默认

1.不显示项目符号,默认是显示的。
在这里插入图片描述
2.内容溢出,显示滚动条。
在这里插入图片描述
3.隐藏div内容。
在这里插入图片描述

四、案例:登录页面

1.示例代码。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>数码世界入口</title>
    <style type="text/css">
        body {
            background-image: url("img/4.jpg");
            background-repeat: no-repeat;
            background-size: 100%;
        }
        .biaoti  {
            width: 500px;
            height: 300px;
            background-color: lavender;
            border-radius: 10px;
            position: absolute;
            left: 0;
            top: 0;
            right: 0;
            bottom: 0;
            margin: auto;
            box-shadow: 0 5px 20px 0 #e8e8e8;
        }
        .biaoti h1 {
            margin-top: 20px;
            margin-left: 110px;
            font-family: "Droid Sans Mono";
            color: crimson;
        }
        .neirong {
            margin-left: 50px;
        }
        .neirong input {
            width: 280px;
            height: 30px;
            margin-top: 18px;
            border: 1px solid oldlace;
            outline: #228B22;
        }
        .btn {
            width: 120px;
            height: 38px;
            font-size: 21px;
            margin-top: 30px;
            margin-left: 180px;
            background-color: lightblue;
            border: 1px solid rebeccapurple;
            color: indigo;
            border-radius: 6px;
            cursor: pointer;   ##鼠标”小手“显示。
        }
    </style>
</head>
<body>
<div class="biaoti">
    <h1>欢迎来到数码世界</h1>
    <from action="#">
        <div class="neirong">
            姓&nbsp;&nbsp;&nbsp;名&nbsp;&nbsp;  <input type="text" name="username"><br>
            数码兽&nbsp;&nbsp;  <input type="password" name="password" ><br>
        </div>
        <input type="submit" value="登录" class="btn">
    </from>
</div>
</body>
</html>

2.效果展示。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端基础2——CSS样式 的相关文章

  • 如何使用javascript确保元素仅在圆上朝一个方向移动?

    好吧 我承认我对三角学真的很糟糕 出于上下文的考虑 我将添加我在这里提到的问题中的内容 参考问题 https stackoverflow com a 39429290 168492 https stackoverflow com a 394
  • SQL Alchemy 中的 NULL 安全不等式比较?

    目前 我知道如何表达 NULL 安全的唯一方法 SQL Alchemy 中的比较 其中与 NULL 条目的比较计算结果为 True 而不是 NULL 是 or field None field value 有没有办法在 SQL Alchem
  • 如何使用装饰器禁用某些功能的中间件?

    我想模仿的行为csrf exempt see here https docs djangoproject com en 1 11 ref csrf django views decorators csrf csrf exempt and h
  • 如何在模态打开时防止主体滚动

    我在用着W3schools 模态脚本 https www w3schools com howto tryit asp filename tryhow css modal我想添加一个功能 防止模型打开时整个主体滚动 我根据我的需要对原始脚本做
  • 使用 JavaScript 移动页面上的按钮

    我的按钮可以移动 但奇怪的是 我无法弄清楚偏移是否有问题 我希望我的按钮随着鼠标光标移动 但现在它的移动方式不是我想要的 有时它会消失 另外 创建的新按钮是重叠的 我不知道如何解决这个问题并拥有更好的外观 var coorA var coo
  • feedparser 在脚本运行期间失败,但无法在交互式 python 控制台中重现

    当我运行 eclipse 或在 iPython 中运行脚本时 它失败了 ascii codec can t decode byte 0xe2 in position 32 ordinal not in range 128 我不知道为什么 但
  • 在pyyaml中表示具有相同基类的不同类的实例

    我有一些单元测试集 希望将每个测试运行的结果存储为 YAML 文件以供进一步分析 YAML 格式的转储数据在几个方面满足我的需求 但测试属于不同的套装 结果有不同的父类 这是我所拥有的示例 gt gt gt rz shorthand for
  • Geopandas 设置几何图形:MultiPolygon“等于 len 键和值”的 ValueError

    我有 2 个带有几何列的地理数据框 我将一些几何图形从 1 个复制到另一个 这对于多边形效果很好 但对于任何 有效 多多边形都会返回 ValueError 请指教如何解决这个问题 我不知道是否 如何 为什么应该更改 MultiPolygon
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • 使用 CSS 的响应式图像

    我发现调整图像大小以使其具有响应能力很棘手 我正在开发一个 php 应用程序来自动将网站转换为响应式版本 我有点被图像困住了 我已经成功地为网站上的每个图像添加了一个包装类 并且可以很好地调整图像的大小 我的问题在于自然小于窗口的图像 例如
  • Python - 在窗口最小化或隐藏时使用 pywinauto 控制窗口

    我正在尝试做的事情 我正在尝试使用 pywinauto 在 python 中创建一个脚本 以在后台自动安装 notepad 隐藏或最小化 notepad 只是一个示例 因为我将编辑它以与其他软件一起使用 Problem 问题是我想在安装程序
  • 通过数据框与函数进行交互

    如果我有这样的日期框架 氮 EG 00 04 NEG 04 08 NEG 08 12 NEG 12 16 NEG 16 20 NEG 20 24 datum von 2017 10 12 21 69 15 36 0 87 1 42 0 76
  • 使用 CSS 折叠和展开元素

    我正在尝试构建一个页面 加载时仅可见标题 并且 当用户单击标题时 每个标题下方的表格会在隐藏和显示状态之间切换 我的限制是只能在 CSS 中执行此操作 这是我到目前为止想到的 https jsfiddle net Argoron c1ypx
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h
  • 为美国东部以外地区的 Cloudwatch 警报发送短信?

    AWS 似乎没有为美国东部以外的 SNS 主题订阅者提供 SMS 作为协议 我想连接我的 CloudWatch 警报并在发生故障时接收短信 但无法将其发送到 SMS YES 经过一番挖掘后 我能够让它发挥作用 它比仅仅选择一个主题或输入闹钟
  • 在Python中重置生成器对象

    我有一个由多个yield 返回的生成器对象 准备调用该生成器是相当耗时的操作 这就是为什么我想多次重复使用生成器 y FunctionWithYield for x in y print x here must be something t
  • 设置 torch.gather(...) 调用的结果

    我有一个形状为 n x m 的 2D pytorch 张量 我想使用索引列表来索引第二个维度 可以使用 torch gather 完成 然后然后还设置新值到索引的结果 Example data torch tensor 0 1 2 3 4
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像
  • Python 分析:“‘select.poll’对象的‘poll’方法”是什么?

    我已经使用 python 分析了我的 python 代码cProfile模块并得到以下结果 ncalls tottime percall cumtime percall filename lineno function 13937860 9
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data

随机推荐

  • ctf.show wed6

    1 or 1 1 返回sql注入错误 当无空格是正常返回 1 or 1 1 password 查库 1 union select 1 database 3 password 查表 1 union select 1 group concat
  • Linux驱动,如何添加驱动,让make menuconfig识别到

    在 drivers input touchscreen Makefile中添加驱动 obj CONFIG TOUCHSCREEN GSLX680 gslx680 只要当配置了CONFIG TOUCHSCREEN GSLX680的选项才会去编
  • Flink报错处理-1

    在 flink job 运行一段时间后 观察日志发现出现了如下的 warn日志 The operator name exceeded the characters length limit and was truncated 完整的 war
  • 一个可拖拽顺序,可添加可删除的React标签组件

    关于react ts中react draggable tags onChange事件不会触发 拿不到拖拽后的数组 官方回复是 示例上确实触发了 但是在实际的react ts项目中并没有触发这个onChange事件 于是我就自己写了一个 im
  • 基于MATLAB的FastICA算法实现语音信号盲分离

    基于MATLAB的FastICA算法实现语音信号盲分离 FastICA Fast Independent Component Analysis 是一种常用的盲源信号分离算法 可以应用于语音信号处理等领域 本文将介绍如何使用MATLAB实现F
  • 用白盒的思想黑盒地测试

    好久没写自动化测试的文章了 忘了自己的主业 实在是罪过罪过 今天就来点热闹的 抛个砖 分享一个我对某个案例的看法 题目虽然看起来比较晦涩 而且有堆砌关键词的嫌疑 但是我相信还是比较贴切的 相信现在业界都还是认为白盒测试是比较高级的一种测试
  • 晶振

    晶振是石英晶体谐振器 quartz crystal oscillator 的简称 也称有源晶振 它能够产生中央处理器 CPU 执行指令所必须的时钟频率信号 CPU一切指令的执行都是建立在这个基础上的 时钟信号频率越高 通常CPU的运行速度也
  • 动手学深度学习——5. 数据清洗

    动手学深度学习 5 数据清洗 记录一下学习深度学习的一些 本篇简述如何使用 cleanlab 清洗分类数据 所使用环境 Ubuntu 16 04 8700K GeForce RTX 1080Ti Python 3 8 Pytorch 1 7
  • 【Docker】 docker 命名空间(namespaces)

    神秘代码 5Lmd5biI5YWE5ZSv5LiA5Y6f5Yib5paH56ug77yM56aB5q2i6L2s6L29 1 概述 Docker 的出现一定是因为目前的后端在开发和运维阶段确实需要一种虚拟化技术解决开发环境和生产环境环境一
  • php在apache中的三种工作方式:CGI模式、FastCGI模式、Apache 模块DLL

    原文地址 http hi baidu com thisuc item 818a77725234f011d1dcb314 一 CGI模式与模块模式比较 php在apache中两种工作方式的区别 CGI模式 Apache 模块DLL 这两种工作
  • LSM6DSR驱动

    ST陀螺仪LSM6DSR的驱动 由于最近MPU的价格疯涨 不得已只能更换主控上的陀螺仪芯片 刚好VL53L1X这颗激光芯片的厂家ST有几颗陀螺仪可以用 就拿了几颗试一下 感觉效果还不错 好像可以用于手机做单击双击的判断 于是突发奇想是不是也
  • 【华为OD机试真题 Java】加扰字符串(100%通过+全网最详细注释)

    前言 本专栏将持续更新华为OD机试题目 并进行详细的分析与解答 包含完整的代码实现 希望可以帮助到正在努力的你 关于OD机试流程 面经 面试指导等 如有任何疑问 欢迎联系我 wechat steven moda email nansun09
  • PCA降维以及维数的确定

    概述 PCA principal components analysis 即主成分分析技术 又称为主分量分析 旨在利用降维的思想 把多个指标转换为少数的几个综合指标 主成分分析是一种简化数据集的技术 它是一个线性变换 这个线性变化把数据变换
  • Dialog DA14585+Sensirion SHT3X+SGP30环境温湿度检测设计

    好记性不如烂笔头 既然不够聪明 就乖乖的做笔记 温故而知新 Phosphor IOT Module是以DA14585作为主控的用于环境监测的评估板 DA14585是符合Bluetooth 5 0标准 16M 32位ARM Cortex M0
  • 学习Redis(持续更新...)

    文章目录 前言 一 redis入门 二 10大数据类型 1 字符串String 2 列表list 3 哈希表Hash 4 集合set 5 有序集合zset sorted set 6 位图bitmap 7 基数统计HyperLogLog 8
  • springboot 2.0多模块标准父类pom文件,别再问问什么找不到主类了,照着个写就行

    标准如下
  • ECharts动态加载数据绘制折线图

    Echarts动态加载数据绘制折线图 ECharts 引入ECharts 步骤 连接数据接口 动态加载图表 动态加载数据 整体代码 折线图绘制 总结 绘制多个图表的方法 ECharts 纯Javascript的图表库 支持各种图表的绘制 下
  • 区块链(肖臻笔记)

    区块链的技术与应用 比特币 密码学基础 比特币的数据结构 共识协议和系统实现 挖矿算法和难度调整 比特币的脚本 软分叉和硬分叉 匿名和隐私保护 以太坊 概述 基于账户的分布式账本 数据结构 状态树 交易树 收据树 ghost协议 挖矿 me
  • 初识EMC元器件(四)——共模电感选型及应用

    通过上一篇文章 共模电感的参数解读 已经对共模电感的参数有了初步的认识 那么本章将结合电路应用 一 共模电感选型步骤 共模电感滤波应用选型步骤 确定电路性质 电气参数 滤波频段 电感参数 主要需要考虑的参数有 电感感量 额定电流 额定电压
  • 前端基础2——CSS样式

    文章目录 一 使用方式 1 1 内联方式 1 2 内部方式 1 3 外部导入方式 推荐 二 选择器类型 2 1 元素选择器 2 2 ID选择器 2 3 类选择器 2 4 派生选择器 三 常用属性 3 1 内边距和外边距 3 2 文本 3 3