1.2 (X)HTML与CSS


(X)HTML与CSS的关系就是“内容”与“形式”的关系,由(X)HTML确定网页的内容,而通过CSS来决定页面的表现形式。

一、CSS标准简介

和HTML类似,CSS也是由W3C组织负责制定和发布的。1996年12月,发布了CSS 1.O规范;1998年5月,发布了CSS 2.0规范。目前有两个新版本正在处于工作状态。即CSS 2.1版和CSS 3.0版。

图1所示的是2011年3月24日CSS  3.0发布的待批准的推荐版,读者可以到http://www.w3.org/TR/下载


图1 W3C组织发布的CSS 3.0规范工作稿

然而W3C并没有任何强制力要求软件厂商的产品必须符合规范,因此目前流行的浏览器都没有完全符合CSS的规范,这也就给设计师设计网页带来了一些难题。

但是随着技术的发展,各种浏览嚣都会逐渐在这方面做更多的努力,相信情况会越来越好。目前,最主流的3种浏览器是IE 7.0,IE 8.0和Firefox.它们在中国的使用率总和越过了99%,.而以这3种浏览器为目标.已经完全可以做出显示非常一致的CSS布局页面。

在了解了XHTML与HTML之间的关系以后,为了便于讲解,本教程在后面的讲解中都不再使用XHTML这个名词,而统一使用HTML,其含义为(X)HTML。

二、在HTML中引入CSS的方法

HTML与CSS是两个作用不同的语言,它们同时对一个网页产生作用,因此必须通过一些方法,将CSS与HTML挂接在一起,才能正常工作。

在HTMI中,引入CSS的方法主要有行内式、内嵌式,导入式和链接式4种。

1.行内式

行内式即在标记的style属性中设定CSS样式,这种方式本质上没有体现出CSS的优势,因此不推荐使用。

2.嵌入式

嵌入式则将对页面中各种元素的设置集中写在<head>和</head>之阃。对于单一的两页。

这种方式很方便。但是对于一个包含很多页面的网站,如果每个页面都以内嵌方式设置各自的样式,就失去了CSS带来的巨大优点,因此一个网站通常都是编写一个独立的CSS样式表文件,使用以下两种方式中的一种,引入HTML文档中。

3.导入式与链接式

导入式和链接式的目的都是将一个独立的CSS文件引入HTML文件,二者的区别不大。这里给出一个比较深入的介绍,因为很多读者对此都有疑问。

事实上.二者最大的区别在于链接式使用HTML的标记引入外部CSS文件,而使用导入式则是使用CSS的规则引入外部CSS文件。因此它们的语法也不同。

如果使用链接式,需要使用如下语句引入外部CSS文件。

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

如果使用导人式,则需要使用如下语句。

  1. <style type="text/css">
  2. @import "wangyexx.css";
  3. </style>

此外,采用这两种方式后的显示效果也略有区别。使用链接方式时,会在装载贞面主体部分之前装载CSS文件,这样显示出来的网页从一开始就是带有样式效果的,而使用导入式时,会在整个页面装载完成后再装载CSS文件,对于有的浏览器来说,在一些情况下,如果网页文件的体积比较大,则会出现先显示无样式的页丽,闪烁一下之后再出现设置样式后的效果。从浏览者的感受来说,这是使用导入式的一个缺陷。

对于一些比较大的网站,为了便于维护,可能会希望把所有的CSS样式分类别放到几个CSS文件中,这样如果使用链接式引入,就需要几个语句分别导入CSS文件。如果要调整CSS文件的分类,就需要同时调整HTML文件。这对于维护工作来说,是一个缺陷。如果使用导入式,则可以只引进一个总的CSS文件,在这个文件中再导人其他独立的CSS文件;而链接则不具备这个特性。

因此这里给大家的建议是,如果仅需要引入一个CSS文件,则使用链接方式;如果需要引入多个CSS文件,则首先用链接方式引入一个“目录”CSS文件,这个“目录”CSS文件中再使用导人式引入其他CSS文件。

但是如果希望通过JavaScript来动态决定引入哪个css文件,则必须使用链接方式才能实现。

这里给出一个完整的例子,演示各种导入方式的具体写法。为了在本教程后面的章节中便于讲解,大多数情况使用内嵌式来完成,因为所举的例子通常就是一个独立的页面。

假设有如下页面代码。

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>网页学习网示例1</title>
  7. </head>
  8. <body>
  9. <h1 style="color:white; background-color:blue">
  10. 这里是一行文本lodidance.com
  11. </h1>
  12. </body>
  13. </html>

代码中使用的是行内式,也就是直接在h1标记的style属性中设置CSS样式。这里将文字颜色设置为白色,背景颜色设置为蓝色,浏览器中的效果如图2所示。


图2 使用行内样式设置CSS

这种方式仅对这一个h1标题产生效果,因此如果希望页面中的所有h1标记都使用这种样式,就可以将代码改造为内嵌式。方法是把样式从行内移动到head部分,具体的代码如下。

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>网页学习网示例2</title>
  7. <style type="text/css">
  8. h1{
  9. background-color:blue;
  10. color:white
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <h1>这里是一行文本lodidance.com</h1>
  16. <h1>这里是另一行文本lodidance.com</h1>
  17. </body>
  18. </html>

在head部分,这里的h1就称为“选择器”,即选中了阿页中的某些特定的元素,后面的样式规则和前面的行内规则的写法相同。

注意:每—条规则都要以分号结束.最后一条则不必以分号结束。

这样,页面中所有的h1标题都会按照这种效果显示,如图3所示。


图3 使用内嵌方式设置CSS

如果希望把CSS的规则都写到一个外部独立的文件中,然后引入HTML.应再单独写一个文件,文件名的后缀为.css.内容如下:

  1. h1{
  2. background-color:blue;
  3. color:white;
  4. }

然后将HTML文档中的<style></style>部分改为:

  1. <style type="text/css">
  2. @import "wangyexx.css";
  3. </style>

注意:这里需要指定正确的css文件路径。

这样显示效果与上面的例子完全相同。如果要使用链接式引入这个CSS文件,可将上面的<style></style>部分删除,然后在head部分加入如下语句:

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

显示效果也是完全相同的。本节代码读者请参考本教程提供下载案例中“第1章”中的示例1.htm至示例4.htm。

点击下载第1~7章CSS教程资源 返回《CSS教程布局之道》教程列表

编辑:网页学习网
本文地址:http://www.lodidance.com/css/jc/653.html

1.2 (X)HTML与CSS,布布扣,bubuko.com

时间: 2024-10-13 12:16:34

1.2 (X)HTML与CSS的相关文章

css中的px、em、rem 详解

概念介绍: 1.px (pixel,像素):是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理长度,需要指定精度DPI(Dots Per Inch,每英寸像素数),在扫描打印时一般都有DPI可选.Windows系统默认是96dpi,Apple系统默认是72dpi. 2.em(相对长度单位,相对于当前对象内文本的字体尺寸):是一个相对长度单位,最初是指字母M的宽度,故名em.现指的是字符宽度的倍数,用法类似百分比,如:0.8em, 1.2em,2em等.通常1em=16px

CSS样式的优先级

1.相同权值情况下,CSS样式的优先级总结来说,就是--就近原则(离被设置元素越近优先级别越高): 内联样式表(标签内部)> 嵌入样式表(当前文件中)> 外部样式表(外部文件中). 2.权值不同时,浏览器是根据权值来判断使用哪种css样式的,哪种样式权值高就使用哪种样式. 下面是权值的规则: 标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100.例如下面的代码: p{color:red;} /*标签,权值为1*/ p span{color:green;} /*两个标签,权值为1+

CSS 之怀疑自己的审美 2 (Day50)

阅读目录 伪类 选择器的优先级 css 属性操作 一.伪类 anchor伪类:专用于控制链接的显示效果 ''' a:link(没有接触过的链接),用于定义了链接的常规状态. a:hover(鼠标放在链接上的状态),用于产生视觉效果. a:visited(访问过的链接),用于阅读文章,能清楚的判断已经访问过的链接. a:active(在链接上按下鼠标时的状态),用于表现鼠标按下时的链接状态. 伪类选择器 : 伪类指的是标签的不同状态: a ==> 点过状态 没有点过的状态 鼠标悬浮状态 激活状态

CSS颜色代码大全

CSS颜色代码大全 颜色代码表(一): EEEEEE FFCCFF FF66FF FF00FF DDDDDD FFCCCC FF66CC FF00CC CCCCCC FFCC99 FF6699 FF0099 BBBBBB FFCC66 FF6666 FF0066 AAAAAA FFCC33 FF6633 FF0033 999999 FFCC00 FF6600 FF0000 888888 CCCCFF CC66FF CC00FF 777777 CCCCCC CC66CC CC00CC 666666

如何使用Flexbox和CSS Grid,实现高效布局

CSS 浮动属性一直是网站上排列元素的主要方法之一,但是当实现复杂布局时,这种方法不总是那么理想.幸运的是,在现代网页设计时代,使用 Flexbox 和 CSS Grid 来对齐元素,变得相对容易起来. 使用 Flexbox 可以使元素对齐变得容易,因此 Flexbox 已经被广泛使用了. 同时,CSS Grid 布局也为网页设计行业带来了很大的便利.虽然 CSS Grid 布局未被广泛采用,但是浏览器逐渐开始增加对 CSS Grid 布局的支持. 虽然 Flexbox 和 CSS Grid 可

css基础

css绝对是一个能够写到爆炸的东西,so,机智的小北方才不会写各种css样式具体的效果,相比之下更推荐大家记一些常用的key,至于效果,每次用的时候百度下就可以了, css的作用是对符合条件的标签进行渲染,那么首先就要匹配到对应标签啦,我萌有三种基础的模式来匹配希望改变样式的标签 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8">

前端 css 垂直居中及自适应问题

此css作用为将下面div结构中的Container-fluid背景自适应屏幕,content自适应居中 1.Div结构 all Head Container-fluid Content Under <div id="all">   <div  class="head" style="height: 81px;width: 100%;min-width: 1000px;position: relative;">      

css遮罩层

父元素:position:fixed; 让子元素居中对齐:position:absolute;top:0;bottom:0;left:0;right:0;margin:auto; <style> .loading{width:100%;height:100%;position:fixed;top:0;left:0;z-index:100;background:#fff;} .loading .pic {width:50px;height:50px;background:url(images/l

CSS作用域问题

今天去长虹面试,面试官问了一个问题,就是给一个div在三个地方设置不同的background,最后div显示的颜色是哪一个?当时我第一次回答的是最后一个,但是后来又改口说是第一个,回来一验证,证明自己错了,今天就总结一下CSS样式的作用域问题吧. 首先对HTML引入样式的优先级排序,数字越大优先级越高#### 样式优先级1. 浏览器缺省设置2. 外部样式表3. 内部样式表(位于 <head> 标签内部)4. 内联样式(在 HTML 元素内部) ---#### 外部样式表>浏览器缺省设置H

CSS学习

CSS css是英文Cascading Style Sheets的缩写,称为层叠样式表,用于对页面进行美化. 存在方式有三种:元素内联.页面嵌入和外部引入,比较三种方式的优缺点. 语法:style = 'key1:value1;key2:value2;' 在标签中使用 style='xx:xxx;' 在页面中嵌入 < style type="text/css"> </style > 块 引入外部css文件 css写在head里面,style标签中写样式 ID用