CSS主要用来设计网页的样式,美化网页;它不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。
在主页制作时采用CSS技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。
只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和格式。
在css进入前端语言之前,很多一部分人都把css当做一种前端语言,发展至今,css不仅能装饰网页,也可以配合各种脚本对于网页进行格式化。
工作原理
CSS是一种定义样式结构如字体、颜色、位置等的语言,被用于描述网页上的信息格式化和现实的方式。CSS样式可以直接存储于HTML网页或者单独的样式单文件。无论哪一种方式,样式单包含将样式应用到指定类型的元素的规则。外部使用时,样式单规则被放置在一个带有文件扩展名_css的外部样式单文档中。
样式规则是可应用于网页中元素,如文本段落或链接的格式化指令。样式规则由一个或多个样式属性及其值组成。内部样式单直接放在网页中,外部样式单保存在独立的文档中,网页通过一个特殊标签链接外部样式单。
名称CSS中的“层叠(cascading)”表示样式单规则应用于HTML文档元素的方式。具体地说,CSS样式单中的样式形成一个层次结构,更具体的样式覆盖通用样式。样式规则的优先级由CSS根据这个层次结构决定,从而实现级联效果。
图象乱序,是指DVD的原始数据经过CSS(Content Scrambling System)编码,但并非所有的数据均经过处理。因为考虑到还原时的解码速度,只有大约50%的数据才会被编码。DVD的文件是可以被拷贝的,但因为有一半的数据是经过编码的,所以直接播放拷贝来的文件,图象将是一团糟,声音则带有刺耳的劈啪声。CSS加密是颇为有效的加密方法,所以现在广为流行。大家可能看到过关于Internet加密通讯的介绍,听到过80位或128位加密码的说法,其实质也就是一种CSS加密。简单来说,CSS是一种非常复杂的不可逆的计算。计算对于电脑来说,只要有公式,就是相当简单的,它的关键在于不可逆。举个例子,在CSS还原计算中,有一步取余数的过程,假设是7/3,余数是1,7是加密后的数字,3是钥匙,1则是还原后的真实值。你即使知道结果1,也知道公式,但钥匙是倒推不出的,因为7/6也余1,7/2也余1。因此,你没有办法根据加密前和加密后的数字来获得钥匙。当前有不少个人和组织声称能破译较短的CSS钥匙,均是采用在高速计算机上用无穷例举的方法试探得到的。DVD使用了很简单的40位CSS加密,但也足以用来防止盗版了,因为要获得钥匙可能要试上2的40次方次,而每一张DVD的CSS钥匙都是不同的。更为关键的是DVD的CSS码生成过程相当保密。当制造厂商制作完母带文件后,将母带文件输入母板刻录机,而母板刻录机上有一个软驱放入的是经CSS组织注册的CSS钥匙生成盘,钥匙的生成和母板的刻录是一气呵成的。钥匙码又在那时被再加密存入加密扇区。为了保护CSS钥匙码,DVD加密机制还要使用设备识别码。设备识别码如同对口令一样,是在DVD解码芯片和DVD驱动器之间建立联系前互相识别身分用的。
CSS释义<一>
CSS(Cascading Style Sheets),即层叠样式表,与HTML超文本标记语言配合以定义网页表现的样式语言。
历史
当初一帮技术人员想出HTML,主要侧重于定义内容,比如<p>表示一个段落,<h1>表示标题,而并没有过多设计HTML的排版和界面效果。
随着Internet的迅猛发展,HTML被广泛应用,上网的人们当然希望网页做得漂亮些,因此HTML排版和界面效果的局限性日益暴露出来。为了解决这个问题,人们也走了不少弯路,用了一些不好的方法,比如给HTML增加很多的属性结果将代码变得很臃肿,将文本变成图片,过多利用Table来排版,用空白的图片表示白色的空间等。直到CSS出现。
CSS可算是网页设计的一个突破,它解决了网页界面排版的难题。可以这么说,HTML的Tag主要是定义网页的内容(Content),而CSS决定这些网页内容如何显示(Layout)。
CSS与网页的链接方法
内嵌样式(Inline Style)
内部样式表(Internal Style Sheet)
外部样式表(External Style Sheet)
内嵌样式(Inline Style)
Inline Style是写在Tag里面的。内嵌样式只对所在的Tag有效。
<P style="font-size:20ptcolor:red">这个Style定义<p></p>里面的文字是20pt字体,字体颜色是红色。</p>
显示示例
内部样式表(Internal Style Sheet)
内部样式表是写在HTML的<head></head>里面的。内部样式表只对所在的网页有效。
<HTML>
<HEAD>
<STYLE type="text/css">
H1.mylayout {border-width:1border:solidtext-align:centercolor:red}
</STYLE>
</HEAD>
<BODY>
<H1 class="mylayout">这个标题使用了Style。</H1>
<H1>这个标题没有使用Style。</H1>
</BODY>
</HTML>
显示示例
内部样式表(Internal Sytle Sheet)要用到Style这个Tag,写法如下:
<STYLE type="text/css">
......
</STYLE>
外部样式表(External Style Sheet)
如果很多网页需要用到同样的样式(Styles),用什么方法呢?
将样式(Styles)写在一个以.css为后缀的CSS文件里,然后在每个需要用到这些样式(Styles)的网页里引用这个CSS文件。
比如可以用文本编辑器(NotePad)建立一个叫home的文件,文件后缀不要用.txt,改成.css。文件内容如下:
H1.mylayout {border-width: 1border: solidtext-align: centercolor:red}
然后你建立一个网页,代码如下:
<HTML>
<HEAD>
<link href="../asdocs/css_tutorials/home.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY>
<H1 class="mylayout">这个标题使用了Style。</H1>
<H1>这个标题没有使用Style。</H1>
</BODY>
</HTML>
显示示例
使用外部(Extenal)样式表,相对于内嵌(Inline)和内部式(Internal)的,有以下优点:
样式代码可以复用。一个外部CSS文件,可以被很多网页共用。
便于修改。如果要修改样式,只需要修改CSS文件,而不需要修改每个网页。
提高网页显示的速度。如果样式写在网页里,会降低网页显示的速度,如果网页引用一个CSS文件,这个CSS文件多半已经在缓存区(其它网页早已经引用过它),网页显示的速度就比较快。
解决css文件过大的问题
如果页面内容过多,css文件会很大,同样会造成很多不便,那么我们该如何解决这个问题呢?我们可以对每个细节进行css设计,比如对于字体的设置我们可以存入font.css文件,对边界等的设定我们可以存入lay.css文件,对其他一些版式的规定可以存入other.css文件,然后我们建立一个main.css文件,然后在里边写入如下代码:
@import url(font.css)
@import url(lay.css)
@import url(other.css)
然后只需要在html文件里添上main.css的链接即可,这样子一方面减小了css文件的容量,另一方面似乎也更方便管理,特别是对大型网站。
串联(Cascading)
CSS第一个字母,是Cascading,意为串联。它是指不同来源的样式(Styles)可以合在一起,形成一种样式。
Cascading的顺序是:
浏览器缺省(browser default)(优先级最低)
外部样式表(Extenal Style Sheet)
内部样式表(Internal Style Sheet)
内嵌样式表(Inline Style)(优先级最高)
样式(Styles)的优先级依次是内嵌(inline), 内部(internal), 外部(external), 浏览器缺省(browser default)。假设内嵌(Inline)样式中有font-size:30pt, 而内部(Internal)样式中有font-size:12pt,那么内嵌(Inline)式样式就会覆盖内部(Internal)样式。