CSS 三种样式

本节我们要学习一下 CSS 样式的几种形式,在实际应用中向 HTML 中引入 CSS 样式的方法有三种,分别是行内样式、内部样式、外部样式。我们会依次学习这三种方式的优缺点以及应用场景,本节我们先来讲一下行内样式。

什么是行内样式

行内样式,其实从它的名字就可以看出来它的特点,就是直接在 HTML 标签中使用 style 属性设置 CSS 样式。例如像下面这样的:

<p style="font-size: 18px;">行内样式</p>

HTML 中的 style 属性提供了一种改变所有 HTML 元素样式的通过方法,语法格式如下所示:

<标签 style="样式声明1;样式声明2;样式声明3"></标签>

要记得用在每个样式声明之间使用分号 ; 分隔哟,否则样式会失效的。

示例:

例如下面这段代码,通过 CSS 行内样式,将第一个段落中的字体设置成了 20px,颜色为红色,加粗显示。第二个段落中的字体大小设置为 16px,颜色为绿色,倾斜显示:

<!DOCTYPE>
<html>
    <head>
        <meta charset="utf-8">
        <title>CSS学习(9xkd.com)</title>
    </head>
    <body>
       <p style="font-size: 20px;color: red;font-weight: bold;">侠课岛欢迎你!</p>
       <p style="font-size: 16px;color: green;font-style: italic;">侠课岛欢迎你!</p>
    </body>
</html>

在浏览器中演示效果:


什么是内嵌样式

内嵌样式就是将 CSS 代码写在 HTML 页面中的 <head> 标签中的 <style> 标签内。因为它与 HTML 内容位于同一个文件中,所以叫做内嵌样式表。

示例:

例如下面这个例子就是使用了内嵌样式:

<!DOCTYPE>
<html>
    <head>
        <meta charset="utf-8">
        <title>CSS学习(9xkd.com)</title>
        <style>
            h2{
                color: lightsalmon;
            }
            p{
                color:limegreen ;
                font-size: 18px;
                line-height: 20px;
            }
            span{
                color: mediumpurple;
                font-weight: bold;
            }
        </style>
    </head>
    <body>
       <h2>《木兰花令 拟古决绝词》</h2>
       <p>人生若只如初见,何事秋风悲画扇</p>
       <p>等闲变却故人心,却道故人心易变。</p>
       <p>骊山语罢清宵半,泪雨零铃终不怨。</p>
       <p>何如薄幸锦衣郎,<span>比翼连枝当日愿。</span></p>
    </body>
</html>

在浏览器中的演示效果:


记得内嵌样式必须写在 <style> 标签中,否则无效。


什么是外部样式

外部样式就是把 CSS 代码保存在一个单独的文件中,文件的扩展名为 .css,然后在 HTML 页面中引入这个 CSS 文件即可。

HTML 文件引入外部样式表有两种方式,分别是链接式和导入式。

链接外部样式表

链接外部样式表就是在 HTML 文件中使用 <link/> 标签链接外部样式表,且 <link/> 标签必须放到 HTML 中的 <head> 标签内。在一个 HTML 页面中可以链接多个 CSS 文件,一个 CSS 文件也可以被多个 HTML 页面引用。

语法如下:

<link rel="stylesheet" type="text/css" href="css文件路径">

其中 rel="stylesheet" 是指在页面中使用这个外部样式表,type="text/css" 是指文件的类型是样式表文本,href 属性用于指定 css 文件的路径。

外部样式表实现了结构与样式的彻底分离,一个 css 文件可以应用到多个 HTML 页面中。当改变 css 文件中的样式时,所有应用这个 css 文件的页面中的样式都会随之改变。

示例:

例如我们创建一个 index.css 的文件,将需要用到的 css 代码保存到这个文件中:

h2{
    color: lightsalmon;
    }
p{
    color:limegreen ;
    font-size: 18px;
    line-height: 20px;
}
span{
    color: mediumpurple;
    font-weight: bold;
}

然后可以在 HTML 文件中通过 <link/> 标签引用这个文件:

<!DOCTYPE>
<html>
    <head>
        <meta charset="utf-8">
        <title>CSS学习(9xkd.com)</title>
        <link rel="stylesheet" type="text/css" href="./index.css">
    </head>
    <body>
       <h2>《木兰花令 拟古决绝词》</h2>
       <p>人生若只如初见,何事秋风悲画扇</p>
       <p>等闲变却故人心,却道故人心易变。</p>
       <p>骊山语罢清宵半,泪雨零铃终不怨。</p>
       <p>何如薄幸锦衣郎,<span>比翼连枝当日愿。</span></p>
    </body>
</html>

在浏览器中演示效果:



可以看到最终效果和上一节内嵌样式示例中的是效果一样。只不过 CSS 部分独立为了一个单独的文件。

由于链接式在减少代码书写和减少维护工作方面都非常突出,所以链接式是最常用的一种引用 CSS 样式的方法。

导入外部样式表

导入外部样式表就是在 HTML 页面中使用 @import 导入外部样式表,导入样式表的语法需要放置到 <style> 标签中。

导入外部样式表和链接外部样式表是很像的,都实现了页面与样式的分离。 不同在于导入外部样式表在页面初始化时,就把样式导入到了页面中,这样就变成了内嵌样式。而链接外部样式表是在页面中有标签需要样式时才以链接的方式引入,这样看的话链接外部样式表会更加合适。

语法格式:

<style>
    @import url("css文件路径");
</style>

@import 表示导入文件,前面的 @ 符号必须写哟,url 中的则是样式表文件的路径。

示例:

将上述示例中的引入 css 文件的方式改为导入外部样式表:

<!DOCTYPE>
<html>
    <head>
        <meta charset="utf-8">
        <title>CSS学习(9xkd.com)</title>
        <style>
            @import url("index.css");
        </style>
    </head>
    <body>
       <h2>《木兰花令 拟古决绝词》</h2>
       <p>人生若只如初见,何事秋风悲画扇</p>
       <p>等闲变却故人心,却道故人心易变。</p>
       <p>骊山语罢清宵半,泪雨零铃终不怨。</p>
       <p>何如薄幸锦衣郎,<span>比翼连枝当日愿。</span></p>
    </body>
</html>

演示效果是不变的,因为 css 文件中的内容并没有改变。导入式除了可以在同一个页面中导入多个样式文件,还可以在 css 样式文件中使用 import 进行导入。

样式优先级

我们学习了关于 CSS 样式的三种引用方式,那么它们之间的优先关系是怎么样的呢?也就是说当元素同时继承这些样式,但是样式之间发生了冲突,最终会应用哪个样式。

示例:

例如在一个 <p> 标签的行内样式中定义了字体大小为16px,在嵌套样式中定义字体大小18px,在外部样式中定义了字体大小为20px。最终会应用哪个字体大小呢?这里我不演示,大家自己来试一下。

试完之后,是不是能得出如下结论呢,CSS 中样式的优先级规则如下所示:

  • 行内样式>内嵌样式>外部样式

也就是说行内样式的优先级最高,最先会应用行内样式,其次是内嵌样式,最后是外部样式,这讲究一个就近原则。

链接:https://www.9xkd.com/

举报
评论 0