您的位置: 首页 > 技术文档 > 网页制作 > CSS的常用技巧放送
国内首家中文GoLive CS2视频教程 回到列表 DW8代码工具栏试用
 CSS的常用技巧放送

作者:zaz 时间: 2005-09-22 文档类型:合作网站提供 来自:中国UI设计网

第 1 页 CSS的常用技巧放送 [1]
第 2 页 CSS的常用技巧放送 [2]

十.不需要给背景图片路径加引号

为了节省字节,我建议不要给背景图片路径加引号,因为引号不是必须的。例如:

background:url(images/***.gif) #333;

可以写为

background:url(images/***.gif) #333;

如果你加了引号,反而会引起一些浏览器的错误。

十一.组选择器(Group selectors)

当一些元素类型、class或者id都有共同的一些属性,你就可以使用组选择器来避免多次的重复定义。这可以节省不少字节。

例如:定义所有标题的字体、颜色和margin,你可以这样写:

h1,h2,h3,h4,h5,h6 {
font-family:Lucida Grande,Lucida,Arial,Helvetica,sans-serif;
color:#333;
margin:1em 0;
}

如果在使用时,有个别元素需要定义独立样式,你可以再加上新的定义,可以覆盖老的定义,例如:

h1 { font-size:2em; }
h2 { font-size:1.6em; }

十二.用正确的顺序指定链接的样式

当你用CSS来定义链接的多个状态样式时,要注意它们书写的顺序,正确的顺序是::link :visited :hover :active。抽取第一个字母是LVHA,你可以记忆成LoVe HAte(喜欢讨厌)。为什么这么定义,可以参考Eric Meyer的《Link Specificity》。

如果你的用户需要用键盘来控制,需要知道当前链接的焦点,你还可以定义:focus属性。:focus属性的效果也取决与你书写的位置,如果你希望聚焦元素显示:hover效果,你就把:focus写在:hover前面;如果你希望聚焦效果替代:hover效果,你就把:focus放在:hover后面。

十三.清除浮动

一个非常常见的CSS问题,定位使用浮动的时候,下面的层被浮动的层所覆盖,或者层里嵌套的子层超出了外层的范围。

通常的解决办法是在浮动层后面添加一个额外元素,例如一个div或者一个br,并且定义它的样式为clear: both。这个办法有一点牵强,幸运的是还有一个好办法可以解决,参看这篇文章《How To Clear Floats Without Structural Markup》(注:本站将尽快翻译此文)。

上面2种方法可以很好解决浮动超出的问题,但是如果当你真的需要对层或者层里的对象进行clear的时候怎么办?一种简单的方法就是用overflow属性,这个方法最初的发表在《Simple Clearing of Floats》,又在《Clearance》和《Super simple clearing floats》中被广泛讨论。

上面那一种clear方法更适合你,要看具体的情况,这里不再展开论述。另外关于float的应用,一些优秀的文章已经说得很清楚,推荐你阅读:《Floatutorial》、《Containing Floats》和《Float Layouts

十四.横向居中(centering)

这是一个简单的技巧,但是值得再说一遍,因为我看见太多的新手问题都是问这个:CSS如何横向居中?你需要定义元素的宽,并且定义横向的margin,如果你的布局包含在一个层(容器)中,就象这样:

<!-- 你的布局这里开始 -->

你可以这样定义使它横向居中:

#wrap {
width:760px; /* 修改为你的层的宽度 */
margin:0 auto;
}

但是IE5/Win不能正确显示这个定义,我们采用一个非常有用的技巧来解决:用text-align属性。就象这样:

body {
text-align:center;
}
#wrap {
width:760px; /* 修改为你的层的宽度 */
margin:0 auto;
text-align:left;
}

第一个body的text-align:center; 规则定义IE5/Win中body的所有元素居中(其他浏览器只是将文字居中) ,第二个text-align:left;是将#warp中的文字居左。

十五.导入(Import)和隐藏CSS

因为老版本浏览器不支持CSS,一个通常的做法是使用@import技巧来把CSS隐藏起来。例如:

@import url(main.css);

然而,这个方法对IE4不起作用,这让我很是头疼了一阵子。后来我用这样的写法:

@import main.css;

这样就可以在IE4中也隐藏CSS了,呵呵,还节省了5个字节呢。想了解@import语法的详细说明,可以看这里《centricle’s css filter chart

十六.针对IE的优化

有些时候,你需要对IE浏览器的bug定义一些特别的规则,这里有太多的CSS技巧(hacks),我只使用其中的两种方法,不管微软在即将发布的IE7 beta版里是否更好的支持CSS,这两种方法都是最安全的。

  • 1.注释的方法
  • (a)在IE中隐藏一个CSS定义,你可以使用子选择器(child selector):
    html>body p {
    /* 定义内容 */
    }

  • (b)下面这个写法只有IE浏览器可以理解(对其他浏览器都隐藏)
    * html p {
    /* declarations */
    }
  • (c)还有些时候,你希望IE/Win有效而IE/Mac隐藏,你可以使用反斜线技巧:
    /* */
    * html p {
    declarations
    }
    /* */
  • 2.条件注释(conditional comments)的方法

    另外一种方法,我认为比CSS Hacks更加经得起考验就是采用微软的私有属性条件注释(conditional comments)。用这个方法你可以给IE单独定义一些样式,而不影响主样式表的定义。就象这样:

    <!--[if IE]>
    <link rel=stylesheet type=text/css href=ie.css />
    <![endif]-->

    十七.调试技巧:层有多大?

    当调试CSS发生错误,你就要象排版工人,逐行分析CSS代码。我通常在出问题的层上定义一个背景颜色,这样就能很明显看到层占据多大空间。有些人建议用border,一般情况也是可以的,但问题是,有时候border 会增加元素的尺寸,border-top和boeder-bottom会破坏纵向margin的值,所以使用background更加安全些。

    另外一个经常出问题的属性是outline。outline看起来象boeder,但不会影响元素的尺寸或者位置。只有少数浏览器支持outline属性,我所知道的只有Safari、OmniWeb、和Opera。

    十八.CSS代码书写样式

    在写CSS代码的时候,对于缩进、断行、空格,每个人有每个人的书写习惯。在经过不断实践后,我决定采用下面这样的书写样式:

    selector1,
    selector2 {
    property:value;
    }

    当使用联合定义时,我通常将每个选择器单独写一行,这样方便在CSS文件中找到它们。在最后一个选择器和大括号{之间加一个空格,每个定义也单独写一行,分号直接在属性值后,不要加空格。

    我习惯在每个属性值后面都加分号,虽然规则上允许最后一个属性值后面可以不写分号,但是如果你要加新样式时容易忘记补上分号而产生错误,所以还是都加比较好。

    最后,关闭的大括号}单独写一行。

    空格和换行有助与阅读。

  • 出处:中国UI设计网
    责任编辑:moby

    上一页 CSS的常用技巧放送 [1] 下一页

    ◎进入论坛网页制作网站综合版块参加讨论

    关键字搜索 常规搜索 推荐文档
    热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
    站点最新 站点最新列表
    周大福“敬•自然”设计大赛开启
    国际体验设计大会7月将在京举行
    中国国防科技信息中心标志征集
    云计算如何让安全问题可控
    云计算是多数企业唯一拥抱互联网的机会
    阿里行云
    云手机年终巨献,送礼标配299起
    阿里巴巴CTO王坚的"云和互联网观"
    1499元买真八核 云OS双蛋大促
    首届COCO桌面手机主题设计大赛
    栏目最新 栏目最新列表
    浅谈JavaScript编程语言的编码规范
    如何在illustrator中绘制台历
    Ps简单绘制一个可爱的铅笔图标
    数据同步算法研究
    用ps作简单的作品展示页面
    CSS定位机制之一:普通流
    25个最佳最闪亮的Eclipse开发项目
    Illustrator中制作针线缝制文字效果
    Photoshop制作印刷凹凸字体
    VS2010中创建自定义SQL Rule
    >> 分页 首页 前页 后页 尾页 页次:2/21个记录/页 转到 页 共2个记录

    蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

    转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

    特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

    您的评论
    用户名:  口令:
    说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
    注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
    不评分 1 2 3 4 5
    注意:请不要在评论中含与内容无关的广告链接,违者封ID
    请您注意:
    ·不良评论请用报告管理员,以利管理员及时删除。
    ·尊重网上道德,遵守中华人民共和国的各项有关法律法规
    ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
    ·本站评论管理人员有权保留或删除其管辖评论中的任意内容
    ·您在本站发表的作品,本站有权在网站内转载或引用
    ·参与本评论即表明您已经阅读并接受上述条款
    推荐文档 | 打印文档 | 评论文档 | 报告错误  
    专业书推荐 更多内容
    网站可用性测试及优化指南
    《写给大家看的色彩书1》
    《跟我去香港》
    众妙之门—网站UI 设计之道
    《Flex 4.0 RIA开发宝典》
    《赢在设计》
    犀利开发—jQuery内核详解与实践
    作品集 更多内容

    杂⑦杂⑧ Gold NORMANA V2