CSS学习摘要-引入样式

注:主要是摘录自MDN 网络开发者这个网站的。

CSS 实际上如何工作?

当浏览器显示文档时,它必须将文档的内容与其样式信息结合。它分两个阶段处理文档:

  1. 浏览器将 HTML和 CSS转化成 DOM(文档对象模型)。DOM在计算机内存中表示文档。它把文档内容和其样式结合在一起。
  2. 浏览器显示 DOM 的内容。

如何将你的 CSS 应用到你的 HTML 上

这有你常见的三种不同方式将 CSS 应用到 HTML 文档上,有的方式比其他方式更有用。在这里,我们将简要回顾一下每一种方式:

外部样式表 (推荐)

你已经在这篇文章看到了外部样式表,但是并不知道它的名字。外部样式表是指:当你将你的 CSS 保存在一个独立的扩展名为 .css 的文件中,并从HTML的 <link>元素中引用它。

  1. <link rel="stylesheet" href="style.css">

HTML 中元素指定了外部资源与当前文档的关系。

这个元素的用途包括为导航定义一个关系框架。这个元素经常用来链接样式表(如CSS文件)。

此时 HTML 文件看起来像这样:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>My CSS experiment</title>
  6. <link rel="stylesheet" href="style.css">
  7. </head>
  8. <body>
  9. <h1>Hello World!</h1>
  10. <p>This is my first CSS example</p>
  11. </body>
  12. </html>

以及下面的 CSS 文件

  1. h1 {
  2. color: blue;
  3. background-color: yellow;
  4. border: 1px solid black;
  5. }
  6. p {
  7. color: red;
  8. }

这种方法可以说是最好的,因为你可以使用一个样式表来设置多个文档的样式,并且需要更新 CSS 的时候只要在一个地方更新。

另:外部样式表-导入式

和link有一点点 不同,使用的是@import url外接样式表。

  1. <style type="text/css">
  2. @import url('./index.css');
  3. </style>

内部样式表

内部样式表是指不使用外部 CSS 文件,而是将你的 CSS 放置在<style>元素中,(HTML的<style>元素包含了文档的样式化信息或者文档的一部分,该标签的样式信息通常是CSS的格式。) 该元素包含在 HTML head 内。

此时HTML看起来像这样:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>My CSS experiment</title>
  6. <style>
  7. h1 {
  8. color: blue;
  9. background-color: yellow;
  10. border: 1px solid black;
  11. }
  12. p {
  13. color: red;
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <h1>Hello World!</h1>
  19. <p>This is my first CSS example</p>
  20. </body>
  21. </html>

这在某些情况下很有用(也许你正在使用一个内容管理系统,不能直接修改 CSS 文件),但它不如外部样式表高效 —— 在网站中,CSS 将需要在每个页面重复,并且需要更新时要更改多个位置。

内联样式

内联样式是仅影响一个元素的CSS声明,被 style属性包括着:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>My CSS experiment</title>
  6. </head>
  7. <body>
  8. <h1 style="color: blue;background-color: yellow;border: 1px solid black;">Hello World!</h1>
  9. <p style="color:red;">This is my first CSS example</p>
  10. </body>
  11. </html>

除非有必要,否则不要这么做!这很难维护(你可能不得不在每份文档里更新多次同样的信息),并且它还混合了 CSS 表示的样式信息和 HTML 的结构信息,使 CSS 难以阅读和理解。保持不同类型代码的分离和纯净使处理该代码的任何人工作更为容易。

您唯一可能需要使用内联样式是当您的工作环境真的非常受限(也许您的CMS只允许您编辑 HTML 的 body)。

总结

在HTML中引入css方式总共有三种:

  1. 行内样式 style
  2. 内接样式 <style>
  3. 外接样式 (推荐规范)

      3.1 链接式(link

      3.2 导入式(@import url

end

2018-05-30

CSS学习摘要-引入样式的更多相关文章

  1. CSS学习摘要-定位实例

    CSS学习摘要-定位实例 注:全文摘自MDN-CSS定位实例 列表消息盒子 我们研究的第一个例子是一个经典的选项卡消息框,你想用一块小区域包括大量信息时,一个非常常用的特征.这包括含有大信息量的应用, ...

  2. CSS学习摘要-定位

    CSS学习摘要-定位 注:全文摘自MDN-CSS定位 定位允许您从正常的文档流布局中取出元素,并使它们具有不同的行为,例如放在另一个元素的上面,或者始终保持在浏览器视窗内的同一位置. 本文解释的是定位 ...

  3. CSS 四种引入样式表优缺点分析

    CSS 四种引入样式表 CSS 有四种方式引入样式表,如下: 外部样式表 内部样式表 行内样式表 导入样式表 外部样式表优缺点 优点 实现了结构与表现的代码完全分离 方便复用及维护 因为分离到各自独立 ...

  4. 【CSS学习】--- 字体样式

    一.前言 CSS字体属性可以定义文本的字体系列.大小.加粗.颜色.风格(如斜体)和变形(如小型大写字母). CSS的字体属性: font-family 设置字体系列 font-size 设置字体的尺寸 ...

  5. 【CSS学习】--- 文本样式

    一.前言 CSS文本属性可以定义文本的外观.通过文本属性,可以定义文本的颜色.字符间距,对齐文本,装饰文本,对文本进行缩进,等等. CSS常用的文本属性目录: text-align 文本对齐属性 te ...

  6. CSS学习摘要-层叠和继承

    当有多个选择器作用在一个元素上时,哪个规则最终会应用到元素上? 其实这是通过层叠机制来控制的,这也和样式继承(元素从其父元素那里获得属性值)有关. 元素的最终样式可以在多个地方定义,它们以复杂的形式相 ...

  7. CSS学习笔记之样式声明

    目录 1.背景 2.文本 3.字体 4.列表 5.表格 6.轮廓 在这篇文章中你能看到有关于 CSS 样式设置的常用属性,文章的目录如下: 1.背景 (1)背景颜色 可以使用 background-c ...

  8. CSS学习摘要-盒子模型

    注:全文摘要自网络开发者网站,当然间隔也会整理一些思路和格式排版添加进去. CSS框模型(译者注:也被称为"盒模型")是网页布局的基础 --每个元素被表示为一个矩形的方框,框的内容 ...

  9. CSS学习摘要-语法和选择器

    主要摘自网络开发者. 从最基本的层次来看,CSS是由两块内容组合而成的: 属性(Property):一些人类可理解的标识符,这些标识符指出你想修改哪一些样式,例如:字体,宽度,背景颜色等. 属性值(V ...

随机推荐

  1. 玩转mongodb(一):初识mongodb

    简介: MongoDB是一个开源的文档数据库,支持高性能.高可用性.自动缩放. 在MongoDB中,一条记录就是一个文档,是由字段和值对构成一个数据结构,类似于JSON对象.字段的值可以包括其他文档. ...

  2. mysql和mysql jdbc连接器mysql-connector-java对应关系

    mysql和mysql jdbc连接器mysql-connector-java对应关系,请参考下图:来源于mysql官网

  3. [CQOI 2018]异或序列&[Codeforces 617E]XOR and Favorite Number

    Description 题库链接1 题库链接2 已知一个长度为 \(n\) 的整数数列 \(a_1,a_2,\cdots,a_n\) ,给定查询参数 \(l,r\) ,问在 \([l,r]\) 区间内 ...

  4. 触摸UITextView找到该触摸点的文字

    参加了一个比赛有一道题是如标题一样,在UITextView上触摸找到该触摸点对应的文字,比赛也可以查资料,当时做的时候就是抱着玩玩的心态试试也没认真做,就没查就去吃饭去了,昨晚下班回去在思考这个问题发 ...

  5. Node.js中setTimeout和setInterval的使用

    Node.js和js一样也有计时器,超时计时器.间隔计时器.及时计时器,它们以及process.nextTick(callback)函数来实现事件调度.今天先学下setTimeout和setInter ...

  6. [转]Enabling CRUD Operations in ASP.NET Web API 1

    本文转自:https://docs.microsoft.com/en-us/aspnet/web-api/overview/older-versions/creating-a-web-api-that ...

  7. C# 代码占用的空间

    是不是代码会占用空间,如果一个程序初始化需要 100M 的代码,那么在他初始化之后,这些代码就没有作用了,他会不会占空间?本文经过测试发现,代码也是会占空间. 我写了2k个垃圾类代码,然后把他放在一个 ...

  8. 一分钟配置jdk

    一.下载jdk 直接进入网站:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ...

  9. java写卷积神经网络---CupCnn简介

    https://blog.csdn.net/u011913612/article/details/79253450

  10. js 数组删除元素,并获得真实长度

    前言:js数组删除一般采用数组的 splice 方法和 delete 方法,但是采用 delete 方法后直接数组.kength 来获取数组长度是获取不了真实长度的,下面详细讲解一下. 一.splic ...