精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
返回建站学首页
导航:
建站首页 | 网站设计 | 网站开发 | 网站运营 | 网页软件 | 建站指南 | 搜索优化 | 图像处理 | 视频教程 | 书籍教程 | 建站专题
当前位置:首页>网站设计>css教程>正文

书写高效CSS


来源: 时间:06-12-18 点击: 点击这里收藏本文


margin:10px5px20px;


 这些缩写完全是根据给出值的数目和顺序决定的。总结起来,一个值=所有各侧;两个值=上下一种,两侧另一种;三个值=上侧一种,左右同一种,下侧一种;当然还有四个值=按照顺时针。好了,现在不那么难记住了吧?

边界(border)的一些区别

同样的钟面简记模型也可以用于border简记属性和padding。border-width,border- color,border-style,与padding也采用和margin一样的方式工作。然而处理border属性 时却有点不同。border属性是同时给盒子的各侧设置border-width,border-style,及border- color属性的。

如果所有四侧的样式都一样,那当然不会有什么问题。可万一他们不同呢?我们还得回去用那些老式的border-top,border-right们?没错,是可以。但幸好我们还有更有效率一点的方法。

考虑我们这个盒子的各个边界有同样的style和color,但宽度不同的情况,最有效的方法是,先像往常一样用 border简记法来定义好border-width,border-style,和border-color;然后再设置一次 border-width属性,覆盖上面设置的宽度:

 

border:10pxsolidred;
border-width:10px5px3px0;


 如果所有的边界属性(width、style和color)都各侧不同,那上面的方法恐怕就没什么用了,但通常不会遇到这么怪异的情况。如果变化 的属性仅仅是border-style或者border-color的话,上述的方法改改就可以像border-width的情 况那样用了。

下面我们看看在另一种情形下书写高效的CSS会带来什么改变。

多重声明

考虑我们有6个采用绝对定位的div(比如Dreamweaver里的层),且它们的其他属性都一样,只不过在页面中的位置不同。因为它们的位置不同,自然应该有不同的ID或者是class,但剩下的属性还是一样的。

一个(所见即所得的)布局编辑器恐怕给每个ID都各自写一套属性,包括字体的规则、文本的规则、位置的定义等等。可一遍遍地给这些div重复完全一样的规则未免笨了点,不是么?那这样就可以把这些规则减到最短了:

 

#first{left:0;}
#second{left:100px;}
#third{left:200px;}
#fourth{left:300px;}
#fifth{left:400px;}
#sixth{left:500px;}
#first,#second,#third,#fourth,#fifth,#sixth{
 position:absolute;
 top:0;
 width:75px;
 font-size:.9em;
 font-weight:bold;
 text-align:center;
 line-height:1.4em;
 background-color:silver;
 color:navy;
 padding:5px;
 border:1pxsolidnavy;
 }


 列出所有类似的这些div的ID,用,和一个空格分隔,下面的规则块会被应用到所有这些ID上。显然这样的规则如果给每个ID都重复一遍,代码就膨胀得多了。这恐怕是最常用也最有效的缩短样式表方法了。

注意:注意最后一个ID选择符并没有跟着一个逗号。(若多了逗号)有些浏览器中可能还能看到那些div,另一些就有可能把这样的样式表视为错误而不显示任何一个div了。

默认值

许多CSS属性都有它们的默认值,如果这个属性没被定义取代,它们就将应用于HTML元素上。比如说每个补白属性中, padding-top,padding-right,padding-bottom,和padding-left的初始值都 是0。因此如果某个元素不需要任何的补白,自然就可以不设置补白的那些属性了。

注意:那些简记属性——比如我们先前讨论过的——里面,或者其本身都没有什么默认的值。毕竟简记属性其实只是独立属性的一种重现而已, 所以如果硬说它们有默认值的话,采用的也是独立属性的那些默认值。尽管CSS规范的PropertyIndex一节中规定的许多默认值都是 none或0,浏览器们却往往给不同的属性设置一些不同的默认值。

例:Opera浏览器给body元素设置了8px的补白。h1-h6标题和段落,默认都有非零的边白。列表和列表子项中用到的默认边白和补白,每个浏览器都有所不同。

9 7 3 1 2 3 4 8 :

  把此文章收藏到:          
广而告之
文章搜索
  • Google JZxue.Com

关于我们 | 联系我们 | 友情链接 | 网站地图
Copyright © 2005 - 2006 建站学 All rights reserved.