1.CSS 可以通过以下方式添加到 HTML 中:

  • 内联样式 -- 在 HTML 元素中使用 "style" 属性
  • 内部样式表 -- 在 HTML 文档头部 <head> 区域使用 <style> 元素来包含 CSS
  • 外部引用 -- 使用外部 CSS 文件
  • 最好的方式是通过外部引用 CSS 文件

2.内联样式(内链式引入写法)

  • 在标签中加入 style 属性,style 就是 css 样式代码
  • 当特殊的样式需要应用到个别元素时,就可以使用内联样式
  • 使用内联样式的方法是在相关的标签中使用样式属性,样式属性可以包含任何 CSS 属性
    <body>
<h4 style="color: blue;background-color: #FFFF00;">This is h4 heading</h4>
<p style="color: red;text-align: center;">这是一个段落&nbsp;这是一个段落</p>
<i><font size="10" color="#0000FF">这是一个段落&nbsp;这是一个段落<font></i>
</body>

3.内部样式表(嵌入式引入写法)

  • 当单个文件需要特别样式时,就可以使用内部样式表。你可以在 <head> 部分通过 <style> 标签定义内部样式表。
  • 示例中的 <style type="text/css"> 表示这是样式表,在中间放入 css 内容,type 是它的类型属性,text/css 是它的值, 它们是告诉浏览器这里面的文本内容(text)要当层叠样式表(css)来解析,不能当作其它的来解析。
  • 示例中要区分定义不同的 p 标签的文本内容 style,则须再每个标签中增加 class/id 属性,再通过如图中的 class/id 属性进行区分定义(.代表class,#代表id)
  • 重要:使用类 class 选择器,放弃 ID 选择器。因为 ID 在一个页面中的唯一性导致了如果以 ID 为选择器来写 css,就无法重用,而 class 而优势在于复用性,而且私有度也并不高。因此,我们一般情况下在 CSS 里只用 class,一个 ID 也不用。这样做实际上也是将表现和行为分开,而不是混在一起。
    <head>
<meta charset="utf-8">
<title>标题</title>
<style type="text/css">
p {
color: yellow; text-align: center;
}
</style>
</head>
<body>
<p id="p1_id" class="p1_class">这是第一个段落</p>
<p id="p2_id" class="p2_class">这是第二个段落</p>
<p id="p3_id" class="p3_class">这是第三个段落</p>
<p id="p4_id" class="p4_class">这是第四个段落</p>
</body>
    <head>
<meta charset="utf-8">
<title>标题</title>
<style type="text/css">
.p1_class {color: blue;font-size: 30px;background: #FFFF00;}
.p2_class {color: red;font-size: 20px;}
#p3_id {color: #008000;} /* 不建议使用 */
</style>
</head>
<body>
<p id="p1_id" class="p1_class">这是第一个段落</p>
<p id="p2_id" class="p2_class">这是第二个段落</p>
<p id="p3_id" class="p3_class">这是第三个段落</p>
<p id="p4_id" class="p4_class">这是第四个段落</p>
</body>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>标题</title>
<style type="text/css">
/* 后代选则器用法 */
p em{color: red;} /* 需要注意的是,后代选择器所选择的后代元素包括任意嵌套层次的后代,而且一般后代选择器中包含的选择器最多三层 */
.p2_class:hover {color: blue;} /* 放置鼠标到元素上,元素颜色才会变成此处定义的颜色 */
</style>
</head>
<body>
<p id="p1_id" class="p1_class">
<em>这是第一个段落</em>
</p1>
<p id="p2_id" class="p2_class">这是第二个段落</p>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>标题</title>
<style type="text/css">
/* 组合选则器用法 */
p,em,a{color: red;}
</style>
</head>
<body>
<em>这是第一个段落</em>
<p id="p2_id" class="p2_class">这是第二个段落</p>
<a href="https://www.baidu.com" target="_blank">这是一个百度链接</a>
</body>
</html>

4.外部样式表(外部式引入写法)

  • 当样式需要被应用到很多页面的时候,外部样式表将是理想的选择。使用外部样式表,你就可以通过更改一个文件来改变整个站点的外观。
  • 步骤如下:
    • 在 css 文件中写样式,并且在样式前通过 class 提取器或标签名称指定 html 文件中的标签
    • 在 html 文件中链接 css 文件中的样式,连接方法:在 html 文件中 <head></head> 标签之内写入如下 <link> 标签内容
    • 使用语法:<link href="style.css" rel="stylesheet" type="text/css" />
      • href="" 内部的就为 css 文件的地址一般以英文命名,比如 mystyle.css 或者 style.css 等等  
      • rel="stylesheet" type="text/css" 这是 w3c 的标准,固定写法不可修改。    
      • <link> 标签位置一般写在 <head></head> 标签之内,因为浏览器解析是从上往下来的,如果 css 放在底部的话,浏览器解析完 html 页面,而 css 还没有加载,就会出现页面混乱。    
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>标题</title>
<link href="new_file.css" rel="stylesheet" type="text/css" />
</head>
<body>
<p id="p1_id" class="p1_class">这是第一个段落</p>
<p id="p2_id" class="p2_class">这是第二个段落</p>
<p id="p3_id" class="p3_class">这是第三个段落</p>
<p id="p4_id" class="p4_class">这是第四个段落</p>
</body>
</html>
/* new_file.css */
.p1_class {color: blue;font-size: 30px;background: #FFFF00;}
.p2_class {color: red;font-size: 20px;}
#p3_id {color: #008000;}

最新文章

  1. Java关键字——static
  2. Linux 读书笔记 二
  3. 打死也不换系统?笑谈过气的Windows XP
  4. 游戏开发设计模式之对象池模式(unity3d 示例实现)
  5. Registering Shell Extension Handlers
  6. 浅谈Spring(三)
  7. 基于visual Studio2013解决C语言竞赛题之1013字符串查找
  8. 【HighCharts系列教程】四、颜色属性——colors
  9. React 深入系列1:React 中的元素、组件、实例和节点
  10. mysql partition分区
  11. Java中多态性的实现
  12. Node.js_express_临时会话对象 session
  13. cordova自定义插件的创建过程
  14. springcloud-1: 用官方的pom.xml配置添加依赖失败
  15. 前端下载excel文件功能的三种方法
  16. Base 64 加密、解密
  17. 面向对象基础及UML建模语言
  18. Shader中的lerp
  19. Git基本命令学习
  20. 龙儿经理嘴上经常说的B树

热门文章

  1. uni_app商城项目(完成)
  2. 邮件退信“Remote Server returned &#39;420 4.2.0 Recipient deferred because there is no Mdb&#39;”
  3. ConcurrentHashMap和 CopyOnWriteArrayList提供线程安全性和可伸缩性 以及 同步的集合类 Hashtable 和 Vector Collections.synchronizedMap 和 Collections.synchronizedList 区别缺点
  4. AJ学IOS 之tableView的下拉放大图片的方法
  5. ViewStub
  6. yum 下载全量依赖 rpm 包及离线安装(终极解决方案)
  7. stand up meeting 1/20/2016
  8. Eight HDU - 1043 (双向BFS)
  9. 深圳博客第一篇(Json)
  10. CTFHub web技能树之RCE初步 命令注入+过滤cat