下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.:.;一.运用css缩写 运用缩写可以协助 减少他CSS文件的大小,更加容易阅读。css缩写的主要规那么请参看,这里就不展开描画。 二.明确定义单位,除非值为0 忘记定义尺寸的单位是CSS新手普遍的错误。在HTML中他可以只写width=100,但是在CSS中,他必需给一个准确的单位,比如:width:100px width:100em。只需两个例外情况可以不定义单位:行高和0值。除此以外,其他值都必需紧跟单位,留意,不要在数值和单位之间加空格。 三.区分大小写 当在XHTML中运用CSS,CSS里定义的元素称号是区分大小写的。为了防止这种错误,我建议一切的定义称号都采用小写。 class和
2、id的值在HTML和XHTML中也是区分大小写的,假设他一定要大小写混合写,请仔细确认他在CSS的定义和XHTML里的标签是一致的。 四.取消class和id前的元素限定 当他写给一个元素定义class或者id,他可以省略前面的元素限定,由于ID在一个页面里是独一的,而clas s可以在页面中多次运用。他限定某个元素毫无意义。例如: div#content /* declarations */ fieldset.details /* declarations */ 可以写成 #content /* declarations */ .details /* declarations */ 这样可以
3、节省一些字节。 五.默许值 通常padding的默许值为0,background-color的默许值是transparent。但是在不同的阅读器默许值能够不同。假设怕有冲突,可以在款式表一开场就先定义一切元素的margin和padding值都为0,象这样: * margin:0; padding:0; 六.不需求反复定义可承继的值 CSS中,子元素自动承继父元素的属性值,象颜色、字体等,曾经在父元素中定义过的,在子元素中可以直接承继,不需求反复定义。但是要留意,阅读器能够用一些默许值覆盖他的定义。 七.最近优先原那么 假设对同一个元素的定义有多种,以最接近(最小一级)的定义为最优先,例如有这么
4、一段代码 Update: Lorem ipsum dolor set 在CSS文件中,他曾经定义了元素p,又定义了一个classupdate p 博客园 Jesse Zhao 整理 jessezhaoblogs MSN/Mail:prolibertinegmail 第 27 页 margin:1em 0; font-size:1em; color:#333; .update font-weight:bold; color:#600; 这两个定义中,class=update将被运用,由于class比p更近。他可以查阅W3C的 了解更多。 八.多重class定义 一个标签可以同时定义多个class
5、。例如:我们先定义两个款式,第一个款式背景为#666;第二个款式有10 px的边框。 .onewidth:200px;background:#666; .twoborder:10px solid #F00; 在页面代码中,我们可以这样调用 这样最终的显示效果是这个div既有#666的背景,也有10px的边框。是的,这样做是可以的,他可以尝试一下。 九.运用子选择器(descendant selectors) CSS初学者不知道运用子选择器是影响他们效率的缘由之一。子选择器可以协助 他节约大量的class定义。我们来看下面这段代码: Item 1 Item 1 Item 1 这段代码的CSS定义
6、是: div#subnav ul /* Some styling */ div#subnav ul li.subnavitem /* Some styling */ div#subnav ul li.subnavitem a.subnavitem /* Some styling */ div#subnav ul li.subnavitemselected /* Some styling */ div#subnav ul li.subnavitemselected a.subnavitemselected /* Some styling */ 他可以用下面的方法替代上面的代码 Item 1 It
7、em 1 Item 1 款式定义是: #subnav /* Some styling */ #subnav li /* Some styling */ 博客园 Jesse Zhao 整理 jessezhaoblogs MSN/Mail:prolibertinegmail 第 28 页 #subnav a /* Some styling */ #subnav .sel /* Some styling */ #subnav .sel a /* Some styling */ 用子选择器可以使他的代码和CSS更加简约、更加容易阅读。 十.不需求给背景图片途径加引号 为了节省字节,我建议不要给背景图片
8、途径加引号,由于引号不是必需的。例如: 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,
9、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的。 假设他的用户需求用键盘来控制,需求知道当前链接的焦点,他还可以定义:
10、focus属性。:focus属性的效果也取决与他书写的位置,假设他希望聚焦元素显示:hover效果,他就把:focus写在:hover前面;假设他希望聚焦效果替代:hover效果,他就把:focus放在:hover后面。 十三.去除浮动 一个非经常见的CSS问题,定位运用浮动的时候,下面的层被浮动的层所覆盖,或者层里嵌套的子层超出了外层的范围。 通常的处理方法是在浮动层后面添加一个额外元素,例如一个div或者一个br,并且定义它的款式为clear: both。这个方法有一点牵强,侥幸的是还有一个好方法可以处理,参看这篇文章(注:本站将尽快翻译此文)。 上面2种方法可以很益处理浮动超出的问题,但
11、是假设当他真的需求对层或者层里的对象进展clear的时候怎样办?一种简单的方法就是用overflow属性,这个方法最初的发表在,又在和中被广泛讨论。 上面那一种clear方法更适宜他,要看详细的情况,这里不再展开论述。另外关于float的运用,一些优秀的文章曾经说得很清楚,引荐他阅读:、和 博客园 Jesse Zhao 整理 jessezhaoblogs MSN/Mail:prolibertinegmail 第 29 页 十四.横向居中(centering) 这是一个简单的技巧,但是值得再说一遍,由于我看见太多的新手问题都是问这个:CSS如何横向居中?他需求定义元素的宽,并且定义横向的marg
12、in,假设他的规划包含在一个层(容器)中,就象这样: 他可以这样定义使它横向居中: #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的一切元素居中(其他阅读器只是将
13、文字居中) ,第二个text-align:left;是将#warp中的文字居左。 十五.导入(Import)和隐藏CSS 由于老版本阅读器不支持CSS,一个通常的做法是运用import技巧来把CSS隐藏起来。例如: import url(main.css); 然而,这个方法对IE4不起作用,这让我很是头疼了一阵子。后来我用这样的写法: import main.css; 这样就可以在IE4中也隐藏CSS了,呵呵,还节省了5个字节呢。想了解import语法的详细阐明,可以看这里 十六.针对IE的优化 有些时候,他需求对IE阅读器的bug定义一些特别的规那么,这里有太多的CSS技巧(hacks),我
14、只运用其中的两种方法,不论微软在即将发布的IE7 beta版里能否更好的支持CSS,这两种方法都是最平安的。 1.注释的方法 o (a)在IE中隐藏一个CSS定义,他可以运用子选择器(child selector): htmlbody p /* 定义内容 */ o (b)下面这个写法只需IE阅读器可以了解(对其他阅读器都隐藏) * html p /* declarations */ o (c)还有些时候,他希望IE/Win有效而IE/Mac隐藏,他可以运用反斜线技巧: /* */ * html p 博客园 Jesse Zhao 整理 jessezhaoblogs MSN/Mail:prolib
15、ertinegmail 第 30 页 declarations /* */ 2.条件注释(conditional comments)的方法 另外一种方法,我以为比CSS Hacks更加经得起考验就是采用微软的私有属性条件注释(conditional comments)。用这个方法他可以给IE单独定义一些款式,而不影响主款式表的定义。就象这样: 十七.调试技巧:层有多大? 当调试CSS发生错误,他就要象排版工人,逐行分析CSS代码。我通常在出问题的层上定义一个背景颜色,这样就能很明显看到层占据多大空间。有些人建议用border,普通情况也是可以的,但问题是,有时候border 会添加元素的尺寸,border-top和boeder-bottom会破坏纵向margin的值,所以运用background更加平安些。 另外一个经常出问题的属性是outline。outline看起来象boeder,但不会影响元素的尺寸或者位置。只需少数阅读器支持outline属性,我所知道的只需Safari、OmniWeb、和Opera。 十八.CSS代码书写款式 在写CSS代码的时候,对于缩进、断行、空格,每个人有每个人
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026春季中国工商银行云南分行校园招聘180人备考题库(名校卷)附答案详解
- 产品研发流程管理标准及评审工具
- 2026四川绵阳市公安局游仙区分局招聘警务辅助人员20人备考题库及参考答案详解【完整版】
- 2026中国科学院广州生物医药与健康研究院细胞命运研究组招聘博士后(神经发育类器官工程方向)备考题库(广东)附完整答案详解【典优】
- 2026广东惠州博罗县人民医院招聘69人备考题库及完整答案详解(易错题)
- 2026中国邮政储蓄银行广东省分行春季校园招聘备考题库含完整答案详解(网校专用)
- 2025-2026山东临沂市鲁南技师学院第二学期临时代课教师招聘1人备考题库(二)及完整答案详解(易错题)
- 2026清明上河园招聘备考题库ab卷附答案详解
- 2026广西贵港桂平市罗秀中心卫生院招聘编外工作人员8人备考题库(考点梳理)附答案详解
- 中船动力集团2026届春季校园招聘备考题库及参考答案详解【黄金题型】
- 2026年河南林业职业学院单招职业适应性测试题库带答案详解
- 2026年内蒙古商贸职业学院单招职业技能考试题库附答案详解
- 2026年安徽城市管理职业学院单招职业适应性测试题库带答案详解(新)
- 应急管理干部警示教育以案促改心得体会
- 2026年小学六年级下册劳动教育教学计划
- 乡卫生院卫生统计制度
- T/CECS 10181-2022消防排烟通风天窗
- 数控车床毕业论文8000字
- 企业会计成本核算存在的问题及对策
- 苏科版三年级劳动下册第03课《纸黏土浮雕》公开课课件
- 2023年苍南县姜立夫杯数学竞赛高一试卷浙江省
评论
0/150
提交评论