从零开始学习html(七)CSS样式基本知识

一、内联式css样式,直接写在现有的HTML标签中

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 5 <title>认识html标签</title>
 6 <style type="text/css">
 7 span{
 8    color:red;
 9 }
10 </style>
11 </head>
12 <body>
13     <p>慕课网,<span>超酷的互联网</span>、IT技术免费学习平台,创新的网络一站式学习、实践体验;<span>服务及时贴心</span>,内容专业、<span>有趣易学</span>。专注服务互联网工程师快速成为技术高手!</p>
14 </body>
15 </html>
内联式css样式,直接写在现有的HTML标签中

CSS样式可以写在哪些地方呢?

从CSS 样式代码插入的形式来看基本可以分为以下3种:内联式、嵌入式和外部式三种。

内联式css样式表就是把css代码直接写在现有的HTML标签中,如下面代码:

<p style="color:red">这里文字是红色。</p>

注意要写在元素的开始标签里,下面这种写法是错误的:

<p>这里文字是红色。</p style="color:red">

并且css样式代码要写在style=""双引号中,如果有多条css样式代码设置可以写在一起,中间用分号隔开。如下代码:

<p style="color:red;font-size:12px">这里文字是红色。</p>

试一试:使用内联式css样式为"超酷的互联网"这几个字设置字体颜色为蓝色

在编辑器中13行中的第一个span标签中写入代码:

style="color:blue"

你写是否写入的代码像下面的样子:

 <span style="color:blue">超酷的互联网</span>


二、嵌入式css样式,写在当前的文件中

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 5 <title>嵌入式css样式</title>
 6 <style type="text/css">
 7 span{
 8    color:red;
 9 }
10 </style>
11 </head>
12 <body>
13     <p>慕课网,<span>超酷的互联网</span>、IT技术免费学习平台,创新的网络一站式学习、实践体验;<span>服务及时贴心</span>,内容专业、<span>有趣易学</span>。专注服务互联网工程师快速成为技术高手!</p>
14 </body>
15 </html>
嵌入式css样式,写在当前的文件中

现在有一任务,把编辑器中的“超酷的互联网”、“服务及时贴心”、“有趣易学”这三个短词文字字号修改为18px。

如果用我们学习的内联式css样式的方法进行设置将是一件很头疼的事情(为每一个<span>标签加入sytle="font-size:18px"语句)。

嵌入式css样式,就是可以把css样式代码写在<style type="text/css"></style>标签之间。如下面代码实现把三个<span>标签中的文字设置为红色:

<style type="text/css">
span{
color:red;
}
</style>

嵌入式css样式必须写在<style></style>之间,并且一般情况下嵌入式css样式写在<head></head>之间。如编辑器中的代码。

来试一试:用嵌入式css样式设置字体颜色

在代码编辑器中的段落中,有三个<span>标签,请把这三个<span>标签中的文字颜色都设置为蓝色

你是否输入像下面样式的代码:

span

       {color:blue;

}

三、外部式css样式,写在单独的一个文件中

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 5 <title>嵌入式css样式</title>
 6 <link href="style.css" rel="stylesheet" type="text/css" />
 7 </head>
 8 <body>
 9     <p>慕课网,<span>超酷的互联网</span>、IT技术免费学习平台,创新的网络一站式学习、实践体验;<span>服务及时贴心</span>,内容专业、<span>有趣易学</span>。专注服务互联网工程师快速成为技术高手!</p>
10 </body>
11 </html>
外部式css样式,写在单独的一个文件中
1 span{
2    color:red;
3    
4 }
外部式css样式,写在单独的一个文件中

 外部式css样式(也可称为外联式)就是把css代码写一个单独的外部文件中,这个css样式文件以“.css”为扩展名,

在<head>内(不是在<style>标签内)使用<link>标签将css样式文件链接到HTML文件内,如下面代码:

<link href="base.css" rel="stylesheet" type="text/css" />

注意:

1、css样式文件名称以有意义的英文字母命名,如 main.css。

2、rel="stylesheet" type="text/css" 是固定写法不可修改。

3、<link>标签位置一般写在<head>标签之内。

来试一试:用外部式css样式设置文字字号

1、单击打开style.css文件(在html文件的下面),在第3行输入代码font-size:20px;观察结果窗口中文字大小的变化。

style.css文件中的代码是不是跟下面的一样:

span

        {color:red;

         font-size:20px;

}

      内联:<span style="color:red;font-size:10px;" >text</span>

      嵌入:<style type="text/css">span{color:red;font-size:10px;}</style>

      外部:<link href="style.css" rel="stylesheet" type="text/css">

      rel属性用于定义链接的文件和HTML文档之间的关系。StyleSheet,的意思就是样式调用,

      内联式适用情况:局部特殊化

      嵌入式适用情况:统一标签样式格式

      外联式适用情况:方便代码重用和管理

      rel是relationship的英文缩写

      stylesheet中style是样式的意思,sheet是表格之意,总起来是样式表的意思

      rel="stylesheet" 描述了当前页面与href所指定文档的关系.即说明的是,href连接的文档是一个新式表

      link内声明外链css文件,href路径,rel为外链文档和本文档的关系即relative,type即为外链文档的类型。

四、三种方法的优先级

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 5 <title>嵌入式css样式</title>
 6 <link href="style.css" rel="stylesheet" type="text/css">
 7 <style type="text/css">
 8 span{
 9    color:red;
10 }
11 </style>
12 </head>
13 <body>
14     <p>慕课网,<span style="color:pink">超酷的互联网</span>、IT技术免费学习平台,创新的网络一站式学习、实践体验;服务及时贴心,内容专业、有趣易学。专注服务互联网工程师快速成为技术高手!</p>
15 </body>
16 </html>
三种方法的优先级
1 span{
2    color:blue;
3 }
三种方法的优先级

如果有一种情况:对于同一个元素我们同时用了三种方法设置css样式,那么哪种方法真正有效呢?在编辑器就出现了这种情况

1、使用内联式CSS设置“超酷的互联网”文字为粉色

2、然后使用嵌入式CSS来设置文字为红色

3、最后又使用外部式设置文字为蓝色(style.css文件中设置)。

但最终你可以观察到“超酷的互联网”这个短词的文本被设置为了粉色

因为这三种样式是有优先级的,记住他们的优先级:内联式 > 嵌入式 > 外部式

但是嵌入式>外部式有一个前提:嵌入式css样式的位置一定在外部式的后面。

如代码编辑器就是这样,<link href="style.css" ...>代码在<style type="text/css">...</style>代码的前面(实际开发中也是这么写的)。

感兴趣的小伙伴可以试一下,把它们调换顺序,再看他们的优先级是否变化。

其实总结来说,就是--就近原则(离被设置元素越近优先级别越高)

但注意上面所总结的优先级是有一个前提:内联式、嵌入式、外部式样式表中css样式是在的相同权值的情况下。

任务

分别使用内联式、嵌入式和外部式CSS样式,把“超酷的互联网”文本字号进行设置,感受一下这三种方法的优先级。

别忘了设置字号的css样式代码:

font-size:20px;

有的小伙伴问了,如果有一种情况:对于同一个元素我们同时用了三种方法设置css样式,那么哪种方法真正有效呢?在右边编辑器就出现了这种情况

1、使用内联式CSS设置“超酷的互联网”文字为粉色

2、然后使用嵌入式CSS来设置文字为红色

3、最后又使用外部式设置文字为蓝色(style.css文件中设置)。

但最终你可以观察到“超酷的互联网”这个短词的文本被设置为了粉色。因为这三种样式是有优先级的,记住他们的优先级:内联式 > 嵌入式 > 外部式

但是嵌入式>外部式有一个前提:嵌入式css样式的位置一定在外部式的后面。如右代码编辑器就是这样,<link href="style.css" ...>代码在<style type="text/css">...</style>代码的前面(实际开发中也是这么写的)。感兴趣的小伙伴可以试一下,把它们调换顺序,再看他们的优先级是否变化。

其实总结来说,就是--就近原则(离被设置元素越近优先级别越高)

但注意上面所总结的优先级是有一个前提:内联式、嵌入式、外部式样式表中css样式是在的相同权值的情况下,什么是权值呢?在后面的9-2小节中会讲解到。

任务:

分别使用内联式、嵌入式和外部式CSS样式,把“超酷的互联网”文本字号进行设置,感受一下这三种方法的优先级。

别忘了设置字号的css样式代码:

font-size:20px;

 

复习:


CSS内链式写在Html标签内。


CSS外链式写在外部单独.css文件中,并在Html头部中要声明其路径(href)。


CSS嵌入式写在Html头部中。

 

1. 内联样式表的权值最高 1000


2. ID 选择器的权值为 100


3. Class 类选择器的权值为 10


4. HTML 标签选择器的权值为 1

 

一般情况是内联样式级别最高,内嵌其次,外部最低,如果同一元素在三个样式中都有设定则为多重样式的情况


如果权重相同则使用就近原则,后大于前


在同一组属性设置中标有“!important”规则的优先级最大


CSS 优先级法则:


A 选择器都有一个权值,权值越大越优先


B 当权值相等时,后出现的样式表设置要优于先出现的样式表设置


C 创作者的规则高于浏览者:即网页编写者设置的CSS 样式的优先权高于浏览器所设置的样式


D 继承的CSS 样式不如后来指定的CSS 样式


E 在同一组属性设置中标有“!important”规则的优先级最大

 

如果不计较权重,离css修饰对象越近,就按照谁的规则去修饰。但是,比如要修饰<span>,那么

①在span内添加内链的style必然最近,于是就用这个了

②即便头部里有类选择器,比如.lei{font-size:20px;},而且这个类也是要在<span>标签内声明的,

即<span class="lei"></span>,是不是也挺近,但不会执行的,

因为CSS三大选择器权重都没有内链式<span style="font-size:15px">高,内链式很牛的。

内联式CSS的优先级比嵌入式要高,也就是说在spen中加入style="color:blue"是没有问题的,他会优先于上面的样式表执行。

posted @ 2017-05-08 16:21  孤星狼  阅读(493)  评论(0编辑  收藏  举报