什么是css

html-css015

什么是css,第1张

CSS之入门篇——推荐新手

关于CSS样式表

一.在学习css之前你应该掌握哪些基础知识

1.什么是网页,什么是超文本语言(html)。

2.会使用Dreamweaver等常用的网页编辑器。

Dreamweaver是现今最好的网站编辑工具之一,而Dreamweaver8增加的对CSS的支持更是你容易得来使用CSS,用它来给制作网页的CSS样式表会更简单、更方便。本教程教你如何利用Dreamweaver8在页面中加入CSS,你不用死记硬背的记代码标记,也不用去看很厚的CSS手册,你就可以轻松自如的在网页中运用CSS。不过首先你要对CSS有一定的了解。因此,本教程的前面4章为CSS理论知识,主要是对CSS的全面介绍,希望读者看后对CSS的语法、结构、应用有一个全面的了解;后面4章为DW实战,主要是教你如何利用Dreamweaver8灵活运用CSS在网页中。阅读此文前,你需要对HTML有一定的了解,并会使用Dreamweaver。

二.认识CSS

CSS就是Cascading Style Sheets,中文翻译为“层叠样式表”,简称样式表,它是一种制作网页的新技术。

网页设计最初是用HTML标记来定义页面文档及格式,例如标题<h1>、段落<p>、表格<table>、链接<a>等,但这些标记不能满足更多的文档样式需求,为了解决这个问题,在1997年W3C(The World Wide Web Consortium)颁布HTML4标准的同时也公布了有关样式表的第一个标准CSS1, 自CSS1的版本之后,又在1998年5月发布了CSS2版本,样式表得到了更多的充实。W3C把DHTML(Dynamic HTML)分为三个部分来实现:脚本语言(包括JavaScript、Vbscript等)、支持动态效果的浏览器(包括Internet Explorer、Netscape Navigator等)和CSS样式表。

注意:CSS需要IE4(Internet Explorer 4.0)和NC4(Netscape 4.0)以上的浏览器支持,有些效果需要更高版本的浏览器支持。

三.怎样使用CSS

如果你使用的是Dreamweaver MX 2004以上的版本,在定义文字字体、颜色、大小等属性的时候,查看一下代码你会发现有这样的一部分在head区域:

<style type="text/css">

<!--

.STYLE2 {

font-size: 16pt

font-family: "Courier New", Courier, monospace

font-weight: bold

color: #FF3300

}

-->

</style>

那么恭喜你,你已经使用了CSS设计网页。

那么除了这种调用CSS的方法外,还有别的吗?回答是“当然有了”,下面是系统介绍

标记加注法(in-line):

如果只有一个HTML标记需要设定样式,则可在该标记内,加上属性

style=" "

以个别修订样式。

页面内嵌法:

<style type="text/css"><!-- body { background : white color : black } --></style>

外部调用法:

<link rel="stylesheet" rev="stylesheet" href="css/style.css" type="text/css" media="all" />

<link rel="stylesheet" rev="stylesheet" href="css/style.css" type="text/css" media="all" />

双表法调用样式表:

<link rel="stylesheet" rev="stylesheet" href="css/style.css" type="text/css" media="all" />

<style type="text/css" media="all">@import url( css/style01.css )</style>

1. 基本语法

CSS的定义是由三个部分构成:选择符(selector),属性(properties)和属性的取值(value)。

基本格式如下:

selector {property: value}

(选择符 {属性:值})

选择符是可以是多种形式,一般是你要定义样式的HTML标记,例如BODY、P、TABLE……,你可以通过此方法定义它的属性和值,属性和值要用冒号隔开:

body {color: black}

选择符body是指页面主体部分,color是控制文字颜色的属性,black是颜色的值,此例的效果是使页面中的文字为黑色。

如果属性的值是多个单词组成,必须在值上加引号,比如字体的名称经常是几个单词的组合:

p {font-family: "sans serif"}

(定义段落字体为sans serif)

如果需要对一个选择符指定多个属性时,我们使用分号将所有的属性和值分开:

p {text-align: centercolor: red}

(段落居中排列;并且段落中的文字为红色)

为了使你定义的样式表方便阅读,你可以采用分行的书写格式:

p

{

text-align: center

color: black

font-family: arial

}

(段落排列居中,段落中文字为黑色,字体是arial)

2. 选择符组

你可以把相同属性和值的选择符组合起来书写,用逗号将选择符分开,这样可以减少样式重复定义:

h1, h2, h3, h4, h5, h6 { color: green }

(这个组里包括所有的标题元素,每个标题元素的文字都为绿色)

p, table{ font-size: 9pt }

(段落和表格里的文字尺寸为9号字)

效果完全等效于:

p { font-size: 9pt }

table { font-size: 9pt }

3. 类选择符

用类选择符你能够把相同的元素分类定义不同的样式,定义类选择符时,在自定类的名称前面加一个点号。假如你想要两个不同的段落,一个段落向右对齐,一个段落居中,你可以先定义两个类:

p.right {text-align: right}

p.center {text-align: center}

然后用不在不同的段落里,只要在HTML标记里加入你定义的class参数:

<p class="right">这个段落向右对齐的

</p>

<p class="center">

这个段落是居中排列的

</p>

<p class="right">这个段落向右对齐的

</p>

<p class="center">

这个段落是居中排列的

</p>

注意:类的名称可以是任意英文单词或以英文开头与数字的组合,一般以其功能和效果简要命名。

类选择符还有一种用法,在选择符中省略HTML标记名,这样可以把几个不同的元素定义成相同的样式:

.center {text-align: center}

(定义.center的类选择符为文字居中排列)

这样的类可以被应用到任何元素上。下面我们使h1元素(标题1)和p元素(段落)都归为“center”类,这使两个元素的样式都跟随“.center”这个类选择符:

<h1 class="center">

这个标题是居中排列的

</h1>

<p class="center">

这个段落也是居中排列的

</p>

注意:这种省略HTML标记的类选择符是我们经后最常用的CSS方法,使用这种方法,我们可以很方便的在任意元素上套用预先定义好的类样式。

4. ID选择符

在HTML页面中ID参数指定了某个单一元素,ID选择符是用来对这个单一元素定义单独的样式。

ID选择符的应用和类选择符类似,只要把CLASS换成ID即可。将上例中类用ID替代:

<p id="intro">

这个段落向右对齐

</p>

定义ID选择符要在ID名称前加上一个“#”号。和类选择符相同,定义ID选择符的属性也有两种方法。下面这个例子,ID属性将匹配所有id="intro"的元素:

#intro

{

font-size:110%

font-weight:bold

color:#0000ff

background-color:transparent

}

(字体尺寸为默认尺寸的110%;粗体;蓝色;背景颜色透明)

下面这个例子,ID属性只匹配id="intro"的段落元素:

p#intro

{

font-size:110%

font-weight:bold

color:#0000ff

background-color:transparent

}

注意:ID选择符局限性很大,只能单独定义某个元素的样式,一般只在特殊情况下使用。

5. 包含选择符

可以单独对某种元素包含关系定义的样式表,元素1里包含元素2,这种方式只对在元素1里的元素2定义,对单独的元素1或元素2无定义,例如:

table a

{

font-size: 12px

}

在表格内的链接改变了样式,文字大小为12象素,而表格外的链接的文字仍为默认大小。

6. 样式表的层叠性

层叠性就是继承性,样式表的继承规则是外部的元素样式会保留下来继承给这个元素所包含的其他元素。事实上,所有在元素中嵌套的元素都会继承外层元素指定的属性值,有时会把很多层嵌套的样式叠加在一起,除非另外更改。例如在DIV标记中嵌套P标记:

div { color: redfont-size:9pt}

……

<div>

<p>

这个段落的文字为红色9号字

</p>

</div>

(P元素里的内容会继承DIV定义的属性)

注意:有些情况下内部选择符不继承周围选择符的值,但理论上这些都是特殊的。例如,上边界属性值是不会继承的,直觉上,一个段落不会同文档BODY一样的上边界值。

另外,当样式表继承遇到冲突时,总是以最后定义的样式为准。如果上例中定义了P的颜色:

div { color: redfont-size:9pt}

p {color: blue}

……

<div>

<p>

这个段落的文字为蓝色9号字

</p>

</div>

我们可以看到段落里的文字大小为9号字是继承div属性的,而color属性则依照最后定义的。

不同的选择符定义相同的元素时,要考虑到不同的选择符之间的优先级。ID选择符,类选择符和HTML标记选择符,因为ID选择符是最后加上元素上的,所以优先级最高,其次是类选择符。如果想超越这三者之间的关系,可以用!important提升样式表的优先权,例如:

p { color: #FF0000!important }

.blue { color: #0000FF}

#id1 { color: #FFFF00}

我们同时对页面中的一个段落加上这三种样式,它最后会依照被!important申明的HTML标记选择符样式为红色文字。如果去掉!important,则依照优先权最高的ID选择符为黄色文字。

7. 注释

你可以在CSS中插入注释来说明你代码的意思,注释有利于你或别人以后编辑和更改代码时理解代码的含义。在浏览器中,注释是不显示的。CSS注释以"/*" 开头,以"*/" 结尾,如下:

/* 定义段落样式表 */

p

{

text-align: center/* 文本居中排列 */

color: black/* 文字为黑色 */

font-family: arial /* 字体为arial */

}

/* 定义段落样式表 */

p

{

text-align: center/* 文本居中排列 */

color: black/* 文字为黑色 */

font-family: arial /* 字体为arial */

}

前面我们了解了CSS的语法,但要想在浏览器中显示出效果,就要让浏览器识别并调用。当浏览器读取样式表时,要依照文本格式来读,这里介绍四种在页面中插入样式表的方法:[u]链入外部样式表[/u]、[u]内部样式表[/u]、[u]导入外表样式表[/u]和[u]内嵌样式[/u]。

1. 链入外部样式表

链入外部样式表是把样式表保存为一个样式表文件,然后在页面中用<link>标记链接到这个样式表文件,这个<link>标记必须放到页面的<head>区内,如下:

<head>

……

<link href="mystyle.css" rel="stylesheet" type="text/css" media="all">

……

</head>

上面这个例子表示浏览器从mystyle.css文件中以文档格式读出定义的样式表。rel=”stylesheet”是指在页面中使用这个外部的样式表。type=”text/css”是指文件的类型是样式表文本。href=”mystyle.css”是文件所在的位置。media是选择媒体类型,这些媒体包括:屏幕,纸张,语音合成设备,盲文阅读设备等。

一个外部样式表文件可以应用于多个页面。当你改变这个样式表文件时,所有页面的样式都随之而改变。在制作大量相同样式页面的网站时,非常有用,不仅减少了重复的工作量,而且有利于以后的修改、编辑,浏览时也减少了重复下载代码。

样式表文件可以用任何文本编辑器(例如:记事本)打开并编辑,一般样式表文件扩展名为.css。内容是定义的样式表,不包含HTML标记,mystyle.css这个文件的内容如下:

hr {color: sienna}

p {margin-left: 20px}

body {background-image: url("images/back40.gif")}

/*定义水平线的颜色为土黄;段落左边的空白边距为20象素;页面的背景图片为images目录下的back40.gif文件*/

2. 内部样式表

内部样式表是把样式表放到页面的<head>区里,这些定义的样式就应用到页面中了,样式表是用<style>标记插入的,从下例中可以看出<style>标记的用法:

<head>

……

<style type="text/css">

/* CSS Document by weilaixu.cn */

/* <meta name="description" content="关键字">

<meta name="keywords" content="关键字">

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

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0padding:0}

body{ font-size:12pxcolor:#000line-height:1.5embackground:#fff}

body a,.body a:link{}

body a:hover{}

body a:visited{}

ul li,ol li{list-style:none}

fieldset,img,abbr,acronym{ border:none}

/* end reset */

.inbox{}

.fl{ float:left}

.fr{ float:right}

.fn{ float:none}

.clear{ clear:both}

.clearleft{ clear:left}

.clearright{ clear:right}

.over{ overflow:hidden}

.ie6haslayout{ zoom:1}

.pos_abs{ position:absolute}

.pos_rel{ position:relative}

.pos_sta{ position:static}

.box_none{ display:none}

.box_block{ display:block}

.pt5{ padding-top:5px}

.pt10{ padding-top:10px}

.pt15{ padding-top:15px}

.pt20{ padding-top:20px}

.pl5{ padding-left:5px}

.pl10{ padding-left:10px}

.pl15{ padding-left:15px}

.pl20{ padding-left:20px}

.pr5{ padding-right:5px}

.pr10{ padding-right:10px}

.pr15{ padding-right:15px}

.pr20{ padding-right:20px}

.pb5{ padding-bottom:5px}

.pb10{ padding-bottom:10px}

.pb15{ padding-bottom:15px}

.pb20{ padding-bottom:20px}

.mt5{ margin-top:5px}

.mt-5{ margin-top:-5px}

.mt10{ margin-top:10px}

.mt15{ margin-top:15px}

.mt20{ margin-top:20px}

.ml5{ margin-left:5px}

.ml10{ margin-left:10px}

.ml15{ margin-left:15px}

.ml20{ margin-left:20px}

.mr5{ margin-right:5px}

.mr10{ margin-right:10px}

.mr15{ margin-right:15px}

.mr20{ margin-right:20px}

.mb5{ margin-bottom:5px}

.mb10{ margin-bottom:10px}

.mb15{ margin-bottom:15px}

.mb20{ margin-bottom:20px}

.gminline{}

.gminline div{ display:inline}

/* end gm */

.font_12px{ font-size:12px}

.font_13px{ font-size:13px}

.font_14px{ font-size:14px}

.font_line_12{ line-height:1.2em}

.font_line_15{ line-height:1.5em}

.font_line_18{ line-height:1.8em}

.font_line_20{ line-height:2em}

/* end font */

p,.content{}

p,.content,p a,.content a{ line-height:1.8emtext-decoration:nonecolor:#555font-size:14px}

p a:link,.content a:link{ color:#0000fftext-decoration:underline}

p a:hover,.content a:hover{}

p strong,p a strong,.content strong,.content a strong{}

p{ text-indent:2em}

p.f12{ font-size:12px}

p.no2em{ text-indent:0}

.content{ width:824pxoverflow:hidden}

h1{}

h2{}

h3{}

h4{}

h5{}

h6{}

input{ font-size:12pxvertical-align:middle}

.input_search{}

.input_password{}

.button_login{}

.button_reg{}

.button_reset{}

.font_textarea{}

input,button,textarea{ font-size:12pxline-height:1.5em}

/* end message */

.wrap,.box,.menu,.foot{ width:848pxmargin:0px autooverflow:hidden}

/* end layout */

.menu{}

.submenu{}

.sidemenu{}

/* end menu */

.side_list_pic{}/* 侧边列表 */

.side_list_news{}

.side_login{}

.side_include{}

.side_content{}

1. Pro HTML5 Programming 

作者:Peter Lubbers, Brian Albers, Frank Salim

这本书适合有丰富编程经验的Web应用开发者。换言之,我们不会在这本书中介绍互联网发展的基础知识。这本书中有许多现成的资源可以加快学习Web编程原理。 

2. HTML5 Up and Running 

作者:Mark Pilgrim

书中的8个重点主题: 

新的元素,如<Header>,<footer>和<section>(第3章)

Canvas元素,使用 JavaScript 在网页上绘制图像。(第4章)

-你可以在网页中嵌入视频,而不使用第三方插件(第5章)。

Geolocation,借助它,浏览者可以在你的Web应用中分享自己的地理位置(第6章)。

永久的本地存储,而不用使用第三方插件(第7章)。

离线Web应用,即使网络中断也能工作(第8章)。

HTML网页窗体的改进(第9章)。

Microdata,让你创造属于自己的词汇表,并使用自定义的语言来扩展你的网页。(第10章)

3. HTML5 Canvas: For Games and Entertainment 

作者:Rob Hawkes

关于作者:Rob Hawkes擅长通过代码解决问题。他沉迷于可视化编程,而不仅仅局限于HTML5以及其他令人兴奋的Web新功能的研究。 

4. The essential guide to HTML5 

作者:Jeanine Meyer

这本书适合那些想通过HTML5建立充满活力、令人兴奋的网站的开发者。如果你了解编程的相关知识,并希望知道HTML5能带给你什么,或者你没有任何编程经验,这本书都很适合你。这本书将展示HTML5的新功能和神秘的编程艺术。编程是一门艺术,而开发有趣的游戏和其它应用程序则需要天赋。 

5. Sergey’s HTML5 &CSS3 Quick Reference 

作者: Sergey Mavrody.

这本书是适合于专业网页设计师和开发人员的技术字典,它总结了超过3000页的HTML5和CSS3规则,涵盖了最常见的基本概念和规则,包括标签、属性、值、对象、属性、方法、事件和API。 

主题包括: 

HTML 5介绍。

HTML5和XTML5语法规则。

文档的语义结构。

HTML5元素、属性、Web 2.0的完整参考。

全局属性和事件。

一个完整的CSS3属性总结。

HTML5 API,包括Canvas、SVG、Video、Audio、Web Workers、Web Sockets、Microdata、Geolocation和Web Stroage等。

6. HTML5 for Dummies

出版社:Wiley Publishing Inc

HTML是网页制作的首选编程语言,而HTML5拥有全新的特性。从本书中你会了解丰富的媒体应用、地理位置、数据库、移动能力、CSS和JavaScript的新应用,以及如何使用新的canvas标签。 

本书概览: 

浏览器支持的新工具。

媒体原理,包括视频标签。

CSS中附加的伪类。

新的表单输入类型。

如何添加阴影和丰富多彩的形状。

创建Web套接字连接的提示。

Web工作者如何提高工作效率。

创建动画的步骤。

7. HTML5 Canvas 

作者:Steve Fulron 、Jeff Fulron

HTML5 Canvas,为开发者提供了在普通的Web浏览器中使用常用的HTML和JavaScript创造动画图形的机会。Canvas是HTML5的最明显的特性之一,它提供了极大的视觉效果和交互性。然而,它不同于典型的JavaScript、Flash、Silverlight开发,需要认真的去探索! 

本书分为11章,前四章,主要通过实例介绍HTML Canvas API,所涵盖的主题包括文本、图像和绘图。接下来的六章主要介绍了Canvase API的扩展应用,在这些章节中,我们讨论了数学和物理的应用、视频、音频、游戏和移动应用。最后一章介绍了3D和multiplayer的实验领域。