CSS基础学习二:如何创建 CSS

最后更新于:2022-04-01 11:29:11

说到底如何创建CSS,就是要说HTML和CSS以怎样的方式结合?如何插入样式表,这是HTML和CSS结合最重 要的问题。当读到一个样式表时,浏览器会根据它来格式化 HTML 文档。 插入样式表的方法有四种: ### 一,style属性方式(内联样式) 利用标签中的style属性来改变每个标签的显示样式。每一个HTML标签中都有style样式属性,该属性的值就是 CSS语言代码。下面简单的说明一下: ~~~ <span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>HTML与CSS结合一</title> </head> <body style="background-image:url(../Documents/我的第一个网站/4.jpg)"> <p style="background-color:#FF0000;color:#FFFFFF">这是一个段落1</p> <p style="color:#FF0000;margin-left:20px">这是一个段落2</p> <hr style="color:sienna"/> <p style="color:#FF0000;margin-left:20px">这是一个段落3</p> <p style="color:sienna;margin-left:20px">This is a paragraph</p> </body> </html></span> ~~~ 显示的结果为:  ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-28_572155937f174.jpg) 该方式比较灵活,但是对于多个相同标签的同一样式比较麻烦,适合局部修改。由于要将表现和内容混杂在一 起,内联样式会损失掉样式表的许多优势。请慎用这种方法,例如当样式仅需要在一个元素上应用一次时。要使用内 联样式,你需要在相关的标签内使用样式(style)属性。Style 属性可以包含任何 CSS 属性。 ### 二,style标签方式 在<head>标签中加入<style>标签,对多个标签进行统一修改。 ~~~ <span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>HTML与CSS结合二</title> <style type="text/css"> body {background-image:url(../Documents/我的第一个网站/4.jpg) } p {color:#FF0000; margin-left:20px; } hr{color:sienna; } </style> </head> <body> <p style="background-color:#FF0000;color:#FFFFFF">这是一个段落1</p> <p>这是一个段落2</p> <hr/> <p>这是一个段落3</p> <p style="color:sienna;margin-left:20px">This is a paragraph</p> </body> </html></span> ~~~ 显示的结果为: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-28_572155937f174.jpg) 该方式可以对单个页面的样式进行统一设置,但对于局部不够灵活。 ### 三,内部样式表 当单个文档需要特殊的样式时,就应该使用内部样式表。这个也需要在<style>标签内完成,只是HTML语言和 CSS语言就不在同一个文档内,需要独立出CSS文件。将网页显示的内容和样式真正分离,HTML主要负责网页显示 的内容,CSS层叠样式表主要负责网页的样式显示。 HTML代码: ~~~ <span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>HTML与CSS结合三</title> <style type="text/css"> @import url(4.css); </style> </head> <body> <p style="background-color:#FF0000;color:#FFFFFF">这是一个段落1</p> <p>这是一个段落2</p> <hr/> <p>这是一个段落3</p> <p style="color:sienna;margin-left:20px">This is a paragraph</p> </body> </html></span> ~~~ CSS代码(4.css): ~~~ <span style="font-size:18px;">/* CSS Document */ body {background-image:url(../Documents/我的第一个网站/4.jpg) } p {color:#FF0000; margin-left:20px; } hr{color:sienna; }</span> ~~~ 运行的结果为: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-28_572155937f174.jpg) ### 四,外部样式表 对于第三种结合方式还是有一定的缺点,如果要对整个网页进行分区域的样式显示,也会造成大量的代码输入, 很麻烦。这就出现了第四种结合方式——外部样式表。 先来说明一下为何出现这种目前最流行的结合方式。 HTML代码: ~~~ <span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title></title> <style type="text/css"> @import url(4.css); @import url(5.css); @import url(6.css); </style> </head> <body> <p style="background-color:#FF0000;color:#FFFFFF">这是一个段落1</p> <p>这是一个段落2</p> <hr/> <p>这是一个段落3</p> <p style="color:sienna;margin-left:20px">This is a paragraph</p> <div>这是一个div区域1</div> <div>这是一个div区域2</div> <span>这是一个span区域1</span> <span>这是一个span区域2</span> </body> </html></span> ~~~ CSS代码(5.css和6.css): ~~~ /* CSS Document */ div {background-color:#0000FF; color:#FFFF00; } ~~~ ~~~ /* CSS Document */ span {background-color:#00FFFF; color:#FF0000; } ~~~ 如果大量的增加CSS文件,在style标签内也会引入大量的CSS文件。如果可以把这些CSS文件整合在一个CSS 文件中,也是可以的。  ~~~ <span style="font-size:18px;"><span style="font-size:18px;">/* CSS Document */ @import url(4.css); @import url(5.css); @import url(6.css);</span></span> ~~~       或CSS代码: ~~~ <span style="font-size:18px;">/* CSS Document */ body {background-image:url(../Documents/我的第一个网站/4.jpg) } p {color:#FF0000; margin-left:20px; } hr{color:sienna; } div {background-color:#0000FF; color:#FFFF00; } span {background-color:#00FFFF; color:#FF0000; }</span> ~~~ 在进行在style标签内引入:<style type="text/css">                                                  @import url(7.css);                                                  </style> 运行的结果完全相同。 还有就是利用link标签引入CSS文件,这就是所要说的第四种结合方式,也是我们最常用的方式,HTML文件和 CSS文件分开进行写入,最后在HTML中利用link标签引入CSS文件。运行的结果完全一样。 ~~~ <span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>HTML与CSS结合四</title> <link rel="stylesheet" href="7.css" type="text/css" /> </head> <body> <p style="background-color:#FF0000;color:#FFFFFF">这是一个段落1</p> <p>这是一个段落2</p> <hr/> <p>这是一个段落3</p> <p style="color:sienna;margin-left:20px">This is a paragraph</p> <div>这是一个div区域1</div> <div>这是一个div区域2</div> <span>这是一个span区域1</span> <span>这是一个span区域2</span> </body> </html></span> ~~~ 当样式需要应用于很多页面时,外部样式表将是理想的选择。在使用外部样式表的情况下,你可以通过改变一 个文件来改变整个站点的外观。每个页面使用 <link> 标签链接到样式表。<link> 标签在(文档的)头部。外部样式表 可以在任何文本编辑器中进行编辑。文件不能包含任何的 html 标签。样式表应该以 .css 扩展名进行保存。 最后一个问题也很重要,必须理解: 多重样式 如果某些属性在不同的样式表中被同样的选择器定义,那么属性值将从更具体的样式表中被继承过来。 例如,外部样式表拥有针对 h3 选择器的三个属性:      h3 {              color: red;              text-align: left;              font-size: 8pt;           }      而内部样式表拥有针对 h3 选择器的两个属性:      h3 {              text-align: right;               font-size: 20pt;          } 假如拥有内部样式表的这个页面同时与外部样式表链接,那么 h3 得到的样式是:         color: red;          text-align: right;          font-size: 20pt; 即颜色属性将被继承于外部样式表,而文字排列(text-alignment)和字体尺寸(font-size)会被内部样式表中的规则取代。 总而言之,一般原则由上而下,由外到内,由低级到高级。但也有例外!                  
';