明永成

导航

 

CSS样式表

百科名片

CSS样式表

CSS是Cascading Style Sheet 的缩写。译作「层叠样式表单」。是用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

目录

如何将样式表加入您的网页
根据分辨率不同,调用不同的css文件
CSS样式表-参数说明
css 样式表的命名
已经支持CSS的浏览器
CSS结构和规则
基本语法
伪类和伪元素

展开

编辑本段如何将样式表加入您的网页

  你可以用以下三种方式将样式表加入您的网页。而最接近目标的样式定义优先权越高。高优先权样式将继承低优先权样式的未重叠定义但覆盖重叠的定义。例外请参阅important声明。

将样式表加入到HTML中

http://www.cssplay.org.cn/css-tutorial/20080128/2.html

  链入外部样式表文件 (Linking to a Style Sheet)

  你可以先建立外部样式表文件(.css),然后使用HTML的link对象。示例如下:

  <head>

  <title>title of article</title>

  <link rel=stylesheet href="http://baike.baidu.com/css/font.css" type="text/css">

  </head>

  而在XML中,你应该如下例所示在声明区中加入:

  <? xml-stylesheet type="text/css" href="http://baike.baidu.com/css/font.css" ?>>

  定义内部样式块对象 (Embedding a Style Block)

  你可以在你的HTML文档的<HTML>和<BODY>标记之间插入一个<STYLE>...</STYLE>块对象。 定义方式请参阅样式表语法。示例如下:

  <html>

  <style type="text/css">

  <!--

  body {font: 10pt "Arial"}

  h1 {font: 15pt/17pt "Arial"; font-weight: bold; color: maroon}

  h2 {font: 13pt/15pt "Arial"; font-weight: bold; color: blue}

  p {font: 10pt/12pt "Arial"; color: black}

  -->

  </style>

  <body>

  请注意,这里将style对象的type属性设置为"text/css",是允许不支持这类型的浏览器忽略样式表单。

  内联定义 (Inline Styles)

  内联定义即是在对象的标记内使用对象的style属性定义适用其的样式表属性。示例如下:

  这一行被增加了左右的外补丁

  样式表语法 (CSS Syntax)

  Selector { property: value }

  参数说明:

  Selector -- 选择符

  property : value -- 样式表定义。属性和属性值之间用冒号(:)隔开。定义之间用分号(;)隔开

  继承的值 (The ' Inherit ' Value)

  每个属性都有一个指定的值:Inherit。它的意思是:将父对象的值等同为计算机值得到。这个值通常仅仅是备用的。显式的声明它可用来强调。

  选择符说明:

  #表示选择id

  .表示选择class

  比如我有个

  这时就得用#test{属性}来给id为test的div来制定样式

  而

  则应该用.test{属性}来给其指定样式。

编辑本段根据分辨率不同,调用不同的css文件

  dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted" cellSpacing=0 cellPadding=6 width="95%" align=center border=0> <SCRIPT LANGUAGE="javascript">

  <!--

  if (window.navigator.userAgent.indexOf("MSIE")>=1)

  {

  var IE1024="";

  var IE800="";

  var IE1152="";

  var IEother="";

  ScreenWidth(IE1024,IE800,IE1152,IEother)

  }else{

  if (window.navigator.userAgent.indexOf("Firefox")>=1)

  {

  file://如果浏览器为Firefox

  var Firefox1024="";

  var Firefox800="";

  var Firefox1152="";

  var Firefoxother="";

  ScreenWidth(Firefox1024,Firefox800,Firefox1152,Firefoxother)

  }else{

  file://如果浏览器为其他

  var Other1024="";

  var Other800="";

  var Other1152="";

  var Otherother="";

  ScreenWidth(Other1024,Other800,Other1152,Otherother)

  }

  }

  function ScreenWidth(CSS1,CSS2,CSS3,CSS4){

  if ((screen.width == 1024) && (screen.height == 768)){

  setActiveStyleSheet(CSS1);

  }else{

  if ((screen.width == 800) && (screen.height == 600)){

  setActiveStyleSheet(CSS2);

  }else{

  if ((screen.width == 1152) && (screen.height == 864)){

  setActiveStyleSheet(CSS3);

  }else{

  setActiveStyleSheet(CSS4);

  }}}

  }

  function setActiveStyleSheet(title){

  document.getElementsByTagName("link")[0].href="style/"+title;

  }

  file://-->

  </SCRIPT>

  解释:

  var IE1024="";

  var IE800="";

  var IE1152="";

  var IEother="";

  引号里面分别填写,用户使用IE的时候并且分辨率为1024*768,800*600,1152*864要使用的css文件名.

  var Firefox1024="";

  var Firefox800="";

  var Firefox1152="";

  var Firefoxother="";

  引号里面分别填写,用户使用FF的时候并且分辨率为1024*768,800*600,1152*864要使用的css文件名.

  var Other1024="";

  var Other800="";

  var Other1152="";

  var Otherother="";

  引号里面分别填写,用户使用其他浏览器的时候并且分辨率为1024*768,800*600,1152*864要使用的css文件名.

  不判断分辨率,只判断浏览器

  应E.Qiang提议,编如下代码。实现根据浏览器类型自动调用不同CSS。

  代码:

  <SCRIPT LANGUAGE="javascript">

  <!--

  if (window.navigator.userAgent.indexOf("MSIE")>=1)

  {

  file://如果浏览器为IE

  setActiveStyleSheet("default.css");

  }else{

  if (window.navigator.userAgent.indexOf("Firefox")>=1)

  {

  file://如果浏览器为Firefox

  setActiveStyleSheet("default2.css");

  }else{

  file://如果浏览器为其他

  setActiveStyleSheet("newsky.css");

  }

  }

  function setActiveStyleSheet(title){

  document.getElementsByTagName("link")[0].href="style/"+title;

  }

  file://-->

  </SCRIPT>

  解释:

  如果浏览器为IE,则调用default.css

  如果浏览器为Firefox,则调用default2.css

  如果浏览器为其他,则调用newsky.css

  用法:放在<head></head>中即可。

中国专业css标准化推广网站 【Div之家】 www.divhome.com

  =======================================================================

  css 层叠样式表

  引入层叠样式表的方法包括:

  1,外联式样式表

  2,内嵌样式表

  3,元素内定

  4,导入样式表

  外联式样式表

  例:<head>

  <link rel="stylesheet" href="/css/default.css">

  </head>

  <body>

  ....

  </body>

  </html>

  属性:rel 用来说明<link>元素在这里要完成的任务是连接一个独立的css文件。而href属性给出了所要连接css文件的url地址

  内嵌式样式表:

  例:<html>

  <head>

  <style type="text/css">

  <!--

  td{font:9pt;color:red}

  .font105{font:10.5pt;color:blue}

  -->

  </style>

  </head>

  <body>....</body>

  </html>

  元素内定

  格式:

  导入式样式表

  〈html>

  <head>

  <style type="text/css">

  <!--

  @import url(css/home.css);

  -->

  </style>

  <body>

  ....

  </body>

  </html>

编辑本段CSS样式表-参数说明

  Selector -- 选择符

  property : value -- 样式表定义。属性属性值之间用冒号(:)隔开。定义之间用分号(;)隔开

  继承的值 (The ' Inherit ' Value)

  每个属性都有一个指定的值:Inherit。它的意思是:将父对象的值等同为计算机值得到。这个值通常仅仅是备用的。显式的声明它可用来强调。

编辑本段css 样式表的命名

div+css样式表的id和class的区别:就一句来概括, class可以定义多个值并且可以应用到多个标签上,但id只能是一个。所以就开始查一些相关的div+css样式表id和class的常用命名规则,请大家参考一下:

  首先讲一下div+css样式表的id的常用命名规则

  页头:header 登录条:loginBar 标志:logo 侧栏:sideBar 广告:banner导航:nav 子导航:subNav菜单:menu 子菜单:subMenu搜索:search滚动:scroll页面主体:main内容:content标签页:tab 文章列表:list提示信息:msg小技巧:tips栏目标题:title加入:joinus指南:guild服务:service热点:hot新闻:news下载:download注册:regsiter状态:status按钮:btn投票:vote合作伙伴:partner友情链接:friendLink页脚:footer版权:copyRight

  实际上上面的div+css样式表的id命名也会经常用大小写和_来区分,比如主导航就是 MainNav,如果还有必要在区分就是MainNav_1,MainNav_2等等。也可以使用"类型+变量名称"的规则来命名,比如写一个红色字体的 class,可以.f_red {}(f是font 字体的缩写)。总之原则是:大小写、_、缩写,大大增强代码的可读性。

  再讲一下div+css样式表的class的常用命名规则

  外套:wrap 主导航:mainNav 子导航:subnav 页 脚:footer整个页面:content页 眉:header 页 脚:footer 商 标:label 标 题:title 主导航:mainNav(globalNav)边导航:sidebar 左导航:leftsideBar 右导航:rightsideBar 旗 志:logo 标 语:banner菜单内容:menu1Content 菜单容量:menuContainer 子菜单:submenu 边导航图标:sidebarIcon 注释:note 面包屑:breadCrumb(即页面所处位置导航提示) 容器:container内容:content搜索:search 登陆:login 功能区:shop(如购物车,收银台) 当前的:current

  当然像div+css样式表的id和class的命名远远不止这些,可能还会有更多的命名,你可以用一些通俗的易懂.容易理解的一些来命名,如果您有更好的div+css样式表的id和class的命名规则的话,请留言,多多指教.

编辑本段已经支持CSS的浏览器

  支持CSS的浏览器数字在继续迅速地增长。扮演重要角色的Netscape Navigator 4.0支持大多数的CSS1和CSS 定位。Microsoft Internet Explorer 3不完全地支持CSS1,而良好的CSS1和CSS 定位被应用到IE4中,伴随着早期的CSS 打印支持。

  长期以来,在UNIX平台上的Emacs-W3和Arena都支持样式表,而且W3C的Amaya浏览器将CSS 支持融合到一个"所见即所得"的编辑器以制作强大的CSS网页。

  现在,商场上越来越多的浏览器和IE竞争,IE浏览器已经失去昔日独大的地位。火狐(firefox)、遨游、腾讯TT,以及新秀360和可牛几乎全部都是支持CSS的。

编辑本段CSS结构和规则

编辑本段基本语法

规则
  选择符

  任何HTML元素都可以是一个CSS1的选择符。选择符仅仅是指向特别样式的元素。例如,

  P { text-indent: 3em }

  当中的选择符是P

  类选择符

  单一个选择符能有不同的CLASS(类),因而允许同一元素有不同样式。例如,一个网页制作者也许希望视其语言而定,用不同的颜色显示代码 :

  code.html { color: #191970 }

  code.css { color: #4b0082 }以上的例子建立了两个类,csshtml,供HTML的CODE元素使用。CLASS属性是用于在HTML中以指明元素的类,例如,

  <P CLASS=warning>每个选择符只允许有一个类。例如,code.html.proprietary是无效的。</p>类的声明也可以无须相关的元素:

  .note { font-size: small }在这个例子,名为note的类可以被用于任何元素。

  一个良好的习惯是在命名类的时候,根据它们的功能而不是根据它们的外观。上述例子中的note类也可以命名为small,但如果网页制作者决定改变这个类的样式,使得它不再是小字体的话,那么这个名字就变得毫无意义了。

  ID 选择符ID 选择符个别地定义每个元素的成分。这种选择符应该尽量少用,因为他具有一定的局限。一个ID选择符的指定要有指示符"#"在名字前面。例如,ID选择符可以指定如下:

  #svp94O { text-indent: 3em }这点可以参考HTML中的ID属性:

  <P ID=svp94O>文本缩进3em</P>关联选择符关联选择符只不过是一个用空格隔开的两个或更多的单一选择符组成的字符串。这些选择符可以指定一般属性,而且因为层叠顺序的规则,它们的优先权比单一的选择符大。例如, 以下的上下文选择符

  P EM { background: yellow }是P EM。这个值表示段落中的强调文本会是黄色背景;而标题的强调文本则不受影响。

  声明属性一个属性被指定到选择符是为了使用它的样式。属性的例子包括颜色边界字体

  值声明的值是一个属性接受的指定。例如,属性颜色能接受值red。

组合
  为了减少样式表的重复声明,组合的选择符声明是允许的。例如,文档中所有的标题可以通过组合给出相同的声明:

  H1, H2, H3, H4, H5, H6 {

  color: red;

font-family: sans-serif }

继承
  实际上,所有在选择符中嵌套的选择符都会继承外层选择符指定的属性值,除非另外更改。例如,一个BODY定义了的颜色值也会应用到段落的文本中。

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

注解
  样式表里面的注解使用C语言编程中一样的约定方法去指定。CSS1注解的例子如以下格式:

  /* COMMENTS CANNOT BE NESTED */

编辑本段伪类和伪元素

  伪类和伪元素是特殊的类和元素,能自动地被支持CSS的浏览器所识别。伪类区别开不同种类的元素(例如,visited links(已访问的连接)和active links(可激活连接)描述了两个定位锚(anchors)的类型)。伪元素指元素的一部分,例如段落的第一个字母。

  伪类或伪元素规则的形式如

  选择符:伪类 { 属性: 值 }或

  选择符:伪元素 { 属性: 值 }伪类和伪元素不应用HTML的CLASS属性来指定。一般的类可以与伪类和伪元素一起使用,如下:

  选择符.类: 伪类 { 属性: 值 }或

  选择符.类: 伪元素 { 属性: 值 }

定位锚伪类
  伪类可以指定A元素以不同的方式显示连接(links)、已访问连接(visited links)和可激活连接(active links)。定位锚元素可给出伪类linkvisitedactive。一个已访问连接可以定义为不同颜色的显示,甚至不同字体大小和风格。

  一个有趣的效果是使当前(或“可激活”)连接以不同颜色、更大的字体显示。然后,当网页的已访问连接被重选时,又以不同颜色、更小字体显示。这个样式表的示例如下:

  A:link { color: red }

  A:active { color: blue; font-size: 125% }

  A:visited { color: green; font-size: 85% }

首行伪元素
  通常在报纸上的文章,例如Wall Street Journal中的,文本的首行都会以粗印体而且全部大写地展示。CSS1包括了这个功能,将其作为一个伪元素。首行伪元素可以用于任何块级元素(例如PH1等等)。以下是一个首行伪元素的例子:

  P:first-line {

font-variant: small-caps;

  font-weight: bold }

首个字母伪元素
首个字母伪元素用于加大(drop caps)和其他效果。含有已指定值选择符的文本的首个字母会按照指定的值展示。一个首个字母伪元素可以用于任何块级元素。例如:

  P:first-letter { font-size: 300%; float: left }会比普通字体加大三倍。

编辑本段层叠顺序

  当使用了多个样式表,样式表需要争夺特定选择符的控制权。在这些情况下,总会有样式表的规则能获得控制权。以下的特性将决定互相对立的样式表的结果。 1.! important

  规则可以用指定的! important 特指为重要的。一个特指为重要的样式会凌驾于与之对立的其它相同权重的样式。同样地,当网页制作者和读者都指定了重要规则时,网页制作者的规则会超越读者的。以下是

  ! important 声明的例子:

  BODY { background: url(bar.gif) white;

  background-repeat: repeat-x ! important }

  2.Origin of Rules (Author's vs. Reader's)

  正如以前所提及的,网页制作者和读者都有能力去指定样式表。当两者的规则发生冲突,网页制作者的规则会凌驾于读者的其它相同权重的规则。而网页制作者和读者的样式表都超越浏览器的内置样式表。 网页制作者应该小心地使用! important 规则,因为它们会超越用户任何的! important 规则。例如,一个用户由于视觉关系,会要求大字体或指定的颜色,而且这样的用户会有可能声明确定的样式规则为! important,因为这些样式对于用户阅读网页是极为重要的。任何的! important 规则会超越一般的规则,所以建议网页制作者使用一般的规则以确保有特殊样式需要的用户能阅读网页。

  3.选择符规则: 计算特性 基于它们的特性级别,样式表也可以超越与之冲突的样式表,一个较高特性的样式永远都凌驾于一个较低特性的样式。这只不过是计算选择符的指定个数的一个统计游戏。

  a.统计选择符中的ID属性个数。

  b.统计选择符中的CLASS属性个数。

  c.统计选择符中的HTML标记名格式。

  最后,按正确的顺序写出三个数字,不要加空格或逗号,得到一个三位数。( 注意,你需要将数字转换成一个以三个数字结尾的更大的数。)相应于选择符的最终数字列表可以很容易确定较高数字特性凌驾于较低数字的。以下是一个按特性分类的选择符的列表:

  #id1 {xxx} /* a=1 b=0 c=0 --> 特性 = 100 */

  UL UL LI.red {xxx} /* a=0 b=1 c=3 --> 特性 = 013 */

  LI.red {xxx} /* a=0 b=1 c=1 --> 特性 = 011 */

  LI {xxx} /* a=0 b=0 c=1 --> 特性 = 001 */

  4.特性的顺序

  为了方便使用,当两个规则具同样权重时,取后面的那个。

posted on 2011-04-09 18:36  明永成  阅读(460)  评论(0编辑  收藏  举报