设计主页 > 网站制作 > CSS教程 >

CSS开发手册

设计前沿收集 /  时间:2006-05-21 09:00

基础篇:

一、三种样式选择器

属性选择器 p {color:red;}

类选择器 .p {color:red;}

ID选择器 #p {color:red;}

二、transparent

Background:transparent; 防止定义背景被覆盖

三、Netscape4.X(IE/WINDOWS4.0以前的版本)下错误的透明背景理解

Background:inhrit; 在netscape4.x下透明背景将被理解为黑绿

四、字体默认选择:

Body {font-family:”lucida Grande”,Verdana,Lucida,Arial,Helvetica,sans-serif; }

按顺序调用不同平台的默认字体

五、如何解决旧浏览器不支持CSS的情况

使用群选择器 例如:p,td,ul,ol,li,dl,dt,dd {font-size:small;}

六、使用netscape4友好规则

Body {font-family:Verdana,sans-serif;}

p,td,ul,ol,li,dl,dt,dd {font-size:small;}

七、方法重载细节规则:

Body {font-family:Verdana,sans-serif;}

p,td,ul,ol,li,dl,dt,dd {font-size:small;}

p {font-family:times,”Times New Roman”,serif;}

八、内容(派生)选择器

Li strong {font-style:italic; font-weight:normal }

例如:strong {color:red;} h2{color:red;} strong h2 {color:blue;}

例如:#sidebar {color:red} #sidebar p {color:blue;}

例如:.fancy {color:red;} .fancy p {color:blue;} / li.fancy {color:black;}

CSS嵌入

一、  外联样式表:

<link rel=”StyleSheet” href=”/css/basic.css” type=”text/css” media=”all”>

<style type=”text/css” media=”all>

@import url(“/Styles/mystylesheet.css”);

</style>

注意:使用@import用来对IE4.0以下浏览器进行屏蔽

二、  嵌入式样式表:

<head>

<style type=”text/css” >

<!- -

Body {color:red;}

- ->

</style>

</head>

注意:为了IE3下访问站点,我们可以使用嵌入式样式表(建议在页面中使用内联成功后,剪切到外联样式表中)

CSS混合布局应用

www.i3forum.com

一、  Margin(框距)padding(边框距)

margin属性设置顺序:上左下右

padding属性设置顺序:上左下右

margin:25px 0 25px 0;

简写:margin:25px 0;

二、Display显示属性设置

(1)、Display属性none  (隐藏)

.alt {display:none;}

<span class=”alt”>Content List Part</span>

(2)、Display属性block  (块/区域)

Img {display:block;}

<img href=”1.gif”></img>

块级元素:存在自身的“盒”中,后面跟随一个默认的回车

内联元素:是流的一部分,后面不跟随回车

(3)、Display属性inline

区别block元素,使用inline状态时,显示方式按照内联元素显示

三、  动态链接属性设置:

a:link {                                     

font-weight : bold;

text-decoration : none;

color: #c30;

background: transparent;

}

a:visited {

font-weight : bold;

text-decoration : none;

color: #c30;

background: transparent;

}

a:hover {

font-weight : bold;

text-decoration : underline;

color: #f60;

background: transparent;

}

a:active {

font-weight : bold;

text-decoration : none;

color: #f90;

background: transparent; 

}

(1)        文字修饰属性(text-decoration)

Text-decoration:underline overline none;

Underline:链接时有下划线

Overline:连接时有上划线

None:连接时无下划线

(2)        动态连接属性顺序

(LVHA)- LoVe-HA!

(3)        IE/WINDOWS的伪装欺骗性

应避免使用a:active属性:出现bug 连接会出现冻结现象

四、  如何设置行高(line-height)

Line-height:1.5;

五、  如何设置文章位置(text-align)

可选择属性(left middle right)

IE6/WINDOWS的BUG会错误使文档居中

六、  对于字体的完整CSS应用

Font:13px/1.5 Georigia,”New Centeury Schoolbook”,Times,serif;

七、  设置页面分界限

(1)    vertical-align:middle; 等于 <td valign=”middle”>设置垂直对齐

(2)    background:none 等于 background:url(images/1.gif) repeat;

八、  设置显示器设备

<style type=”text/css” media=”screen”> media属性

使用HTML4.01转换到XHTML1.0过渡式transitional

(早期的基于Gecko核心的浏览器如:netscpae6.0 Mozilla1.0)

一、  在Gecko核心浏览器清除CSS间隙

规则如下:

Img {display:block;} 使用块级元素清楚间隙

.inline {display:inline;} 使用内联元素显示方式

页面如下:

<img class=”inline” alt=”/” />

也可用

Td img {display:block;}

二、在Gecko核心img默认作为内联函数处理

在内联元素下方默认留有空白,这是为了给所包含的块下行字母流出的空间

盒模型、Bug和工作区

CSS四个区域:内容、边框距、边界和边距

在使用CSS设置表格之前:

{width:400px; height:75px;}

错误的理解:表格面积=400px; height:75px;

实际上CSS设置的表格:

Width:400px height:75px 内容为 Content

那么整个盒的面积为:Content+padding*2+border*2

  盒模式失效及解决办法:(IE4到IE5.5/Windows)

正确理解盒模式的浏览器

(IE6/WIN,IE5/MAC,Netscpae6+,Mozilla,Chimera,Kmeleon,Opera5+)

Float漂浮属性用来使用在两在不同ID选择器中相连

{float:left;}

对于使用padding的表格将使用以下解决方法:

Oprea友好规则(Box盒状模型)

解决办法:

#nav

{

width:151px;/* False value for IE4-5.x/Win */

voice-family:"\"}\"";

voice-family:inherit;

width:100px;   /* Actual value for conformant browsers */

}

html>body #nav {

width:100px;/* be nice to Opera */

 }

IE上的空白Bug

解决方法:缩进代码,<td><a href=”#foo”><img src=”1.gif” alt=”/” /></a></td>

IE6/Windows上的漂浮Bug

解决办法:使用JavaScript id名称:content

If (document.all && window.attachEvent)

   Windows.attachEvent (“onload”,fixWinIE);

Fuction fixWinIE() {

                 If (doucument.all.cotent.offsetHeight) {

                        Doucument.all.content.style.display=”block”;

                        }

}

嵌入Flash的Bug:

解决办法:在XHTML中嵌入以下代码:

<object type:”application/x-shockwave-flash” data=”movie.swf”

Width=”400px” height=”300px”>

<parma name=”movie” value=”movie.swf”>

</object>

Flash空白故障(IE/WIN 5,5.5,6 Version)

解决办法:使用JavaScript的doucuemnt来欺骗效验系统

  <script type=”text/javascript”>

  //[CDATA[

  If (navigator.mimeTypes && navigator.mimeTypes[“application/x-shockwave-flash”]){

         Doucument.write (‘<object src=”/media/yourflashmovie.swf”……</object>);

  }

  

关键字Fahrner方法:(IE5.x/Winodws 提供伪关键字号)

解决办法:

P {

font-size:x-small;

/* flase value for WinIE4/5 */

Voice-family:”\”}\””;

/* trick WinIE4/5 into thinking the rule is over */

Voice-familt:inherit;

/* recover from trick */

Font-size:small;

/* intended value for better browsers */

}

Html>p {
  font-size:small;

/* be nice to opera */

}

区别alt属性与title属性

Alt:注释文档不显示

Title:显示文档不注释

提高可访问性(WAI与508条款)

Bobby的可访问性测试

http://bobby.watchfire.com

能帮助你使网页适应WAI或508条款

为非鼠标用户提供一个选择

解决办法:使用JavaScript

<form action=”fooaction”>

<input type=”button” onclick=”setActiveStyleSheet(‘default’);

   Return false; onkeypress=”setActiveStyleSheet(‘default’);

   Return false; />

  Onkeypress对于非鼠标用户就相当于onclick对于不能使用JavaScript的用户

<noscript>

<p class=”vs15”><a href=”/daily/1.html”></a></p>

</noscript>

  Tabindex属性提供连接到属性的快捷方法使用Tab换档键的屏幕阅读器,可迅速查询相关内容区域显示和隐藏效果

  解决办法:

  http://www.zeldman.com/j/nu.js

  Function toggle (targeted ) {

         If  (doucument.getElementById ) {

                Targeted = doucument.getElementById (targeted);

                       If (target.style.display = “”;

                } else {

                       Target.style.display = “none”;

                }

  Xhtml部分:

  <p><a href=”/” onclick=”toggle (‘outside2’) ;return false;” onmouseover=”changeImages

  (‘ch’,’/i/p/cho.gif ‘);return ture;

  Title=”hide or show Relevant Externals (below).”> Toggle Externals </a></p>

  定义CSS规则:

  <dl id=”outside2” style=”display:none;”>

  <dt>Relevant Externals:</dt>

  <dd><a href=http://www.somesite.com titile=”Description” >Site NameS</a></dd>

  我们把规则写入CSS外联表中

  #outside2 {

         Display:block;

  }

  如果你需要一个元素在页面中是不可见的但仍需其占据空间

  解决办法:visibility:hidden;

  动态菜单(下拉和展开)

  下拉式菜单解决办法:http://www.gazingus.org/html/menuDropdown.html

  展开式菜单解决办法:http://www.gazingus.org/html/menuExpandable2.html

  不支持Javascritp脚本的浏览器,如何实现正常浏览

  解决办法:在<head></head>之间插入

  <script type=”text/javascritp”>

  <!-- //

  If (!doucument.getElementById) {

         Window.location = http://www.somesite.com/somepage/

  }

  当浏览器不支持Javascript时,window.location将跳转到一个提示页面或者是一个不需要javascript脚本的纯网页