“产品开发部社区项目CSS开发规范”的版本间的差异
(→根据新建样式的适用范围分为四级:产品级、项目级、应用级) |
(→关于z-Index值的设置范围说明) |
||
(未显示同一用户的23个中间版本) | |||
第2行: | 第2行: | ||
===CSS浏览器支持标准=== | ===CSS浏览器支持标准=== | ||
− | + | <table border="0" cellpadding="0" cellspacing="0"> | |
− | IE9 C C | + | |
− | IE8 A A | + | <tr> |
− | IE7 A A | + | <td style="width:145px;"> |
− | IE6 A A | + | </td> |
− | Chrome7 C C | + | <td style="width:142px;"> |
− | Chrome6 A A | + | <p align="left"> |
− | Chrome3 B B | + | WinXP</p> |
− | Firefox4 C C | + | </td> |
− | Firefox3.6 A A | + | <td style="width:140px;"> |
− | Firefox3.5 C C | + | <p align="left"> |
− | Firefox3 C C | + | Win7</p> |
− | Safari B B | + | </td> |
− | Opera C C | + | </tr> |
+ | <tr> | ||
+ | <td style="width:145px;"> | ||
+ | <p align="left"> | ||
+ | IE9</p> | ||
+ | </td> | ||
+ | <td style="width:142px;"> | ||
+ | <p align="left"> | ||
+ | C</p> | ||
+ | </td> | ||
+ | <td style="width:140px;"> | ||
+ | <p align="left"> | ||
+ | C</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:145px;"> | ||
+ | <p align="left"> | ||
+ | IE8</p> | ||
+ | </td> | ||
+ | <td style="width:142px;"> | ||
+ | <p align="left"> | ||
+ | A</p> | ||
+ | </td> | ||
+ | <td style="width:140px;"> | ||
+ | <p align="left"> | ||
+ | A</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:145px;"> | ||
+ | <p align="left"> | ||
+ | IE7</p> | ||
+ | </td> | ||
+ | <td style="width:142px;"> | ||
+ | <p align="left"> | ||
+ | A</p> | ||
+ | </td> | ||
+ | <td style="width:140px;"> | ||
+ | <p align="left"> | ||
+ | A</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:145px;"> | ||
+ | <p align="left"> | ||
+ | IE6</p> | ||
+ | </td> | ||
+ | <td style="width:142px;"> | ||
+ | <p align="left"> | ||
+ | A</p> | ||
+ | </td> | ||
+ | <td style="width:140px;"> | ||
+ | <p align="left"> | ||
+ | A</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:145px;"> | ||
+ | <p align="left"> | ||
+ | Chrome7</p> | ||
+ | </td> | ||
+ | <td style="width:142px;"> | ||
+ | <p align="left"> | ||
+ | C</p> | ||
+ | </td> | ||
+ | <td style="width:140px;"> | ||
+ | <p align="left"> | ||
+ | C</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:145px;"> | ||
+ | <p align="left"> | ||
+ | Chrome6</p> | ||
+ | </td> | ||
+ | <td style="width:142px;"> | ||
+ | <p align="left"> | ||
+ | A</p> | ||
+ | </td> | ||
+ | <td style="width:140px;"> | ||
+ | <p align="left"> | ||
+ | A</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:145px;"> | ||
+ | <p align="left"> | ||
+ | Chrome3</p> | ||
+ | </td> | ||
+ | <td style="width:142px;"> | ||
+ | <p align="left"> | ||
+ | B</p> | ||
+ | </td> | ||
+ | <td style="width:140px;"> | ||
+ | <p align="left"> | ||
+ | B</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:145px;"> | ||
+ | <p align="left"> | ||
+ | Firefox4</p> | ||
+ | </td> | ||
+ | <td style="width:142px;"> | ||
+ | <p align="left"> | ||
+ | C</p> | ||
+ | </td> | ||
+ | <td style="width:140px;"> | ||
+ | <p align="left"> | ||
+ | C</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:145px;"> | ||
+ | <p align="left"> | ||
+ | Firefox3.6</p> | ||
+ | </td> | ||
+ | <td style="width:142px;"> | ||
+ | <p align="left"> | ||
+ | A</p> | ||
+ | </td> | ||
+ | <td style="width:140px;"> | ||
+ | <p align="left"> | ||
+ | A</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:145px;"> | ||
+ | <p align="left"> | ||
+ | Firefox3.5</p> | ||
+ | </td> | ||
+ | <td style="width:142px;"> | ||
+ | <p align="left"> | ||
+ | C</p> | ||
+ | </td> | ||
+ | <td style="width:140px;"> | ||
+ | <p align="left"> | ||
+ | C</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:145px;"> | ||
+ | <p align="left"> | ||
+ | Firefox3</p> | ||
+ | </td> | ||
+ | <td style="width:142px;"> | ||
+ | <p align="left"> | ||
+ | C</p> | ||
+ | </td> | ||
+ | <td style="width:140px;"> | ||
+ | <p align="left"> | ||
+ | C</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:145px;"> | ||
+ | <p align="left"> | ||
+ | Safari</p> | ||
+ | </td> | ||
+ | <td style="width:142px;"> | ||
+ | <p align="left"> | ||
+ | B</p> | ||
+ | </td> | ||
+ | <td style="width:140px;"> | ||
+ | <p align="left"> | ||
+ | B</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:145px;"> | ||
+ | <p align="left"> | ||
+ | Opera</p> | ||
+ | </td> | ||
+ | <td style="width:142px;"> | ||
+ | <p align="left"> | ||
+ | C</p> | ||
+ | </td> | ||
+ | <td style="width:140px;"> | ||
+ | <p align="left"> | ||
+ | C</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | </table> | ||
(注:根据2011年03月8日数据整理) | (注:根据2011年03月8日数据整理) | ||
* A级-交互和视觉完全符全设计的要求 | * A级-交互和视觉完全符全设计的要求 | ||
第25行: | 第208行: | ||
===根据新建样式的适用范围分为四级:产品级、项目级、应用级=== | ===根据新建样式的适用范围分为四级:产品级、项目级、应用级=== | ||
#目前产品级的CSS文件有: | #目前产品级的CSS文件有: | ||
− | */c/public/ui. | + | #*/c/public/ui.css:统一浏览器默认样式、统一UI控件 |
− | + | #*/c/public/icon.css:公共icon样式 | |
− | */c/public/icon.css:公共icon样式 | + | #*/c/public/common.css:一些关键的影响页面逻辑的样式 |
− | */c/public/common.css:一些关键的影响页面逻辑的样式 | + | #*/c/public/validatorAuto.css:表单验证样式 |
− | + | #项目级应用于某一垂直产品(如星辰变、超级跑跑等),文件放在对应项目的样式文件夹内,与public文件夹同级。如:/c/xcb/、/c/paopao/。 | |
− | */c/public/validatorAuto.css:表单验证样式 | + | #*/c/xcb/ui.css:根据项目重置统一UI控件以及项目相关的可以抽离出来的独立UI控件样式。 |
− | # 项目级应用于某一垂直产品(如星辰变、超级跑跑等),文件放在对应项目的样式文件夹内,与public文件夹同级。如:/c/xcb/、/c/paopao/。 | + | #*/c/xcb/icon.css:项目设计的icon样式 |
− | * /c/xcb/ui.css:根据项目重置统一UI控件以及项目相关的可以抽离出来的独立UI控件样式。 | + | #*/c/xcb/event.css:新鲜事模板样式 |
− | * /c/xcb/icon.css:项目设计的icon样式 | + | #*/c/xcb/skin.css:项目公共样式(可能在多个应用设计且难以抽离到ui.css里的相关样式) |
− | * /c/xcb/event.css:新鲜事模板样式 | + | #*/c/xcb/addition.css:项目中临时存在的一些特殊样式 |
− | * /c/xcb/skin.css:项目公共样式(可能在多个应用设计且难以抽离到ui.css里的相关样式) | + | #应用级应用于某一社区项目内的单个应用,文件放在项目样式文件夹内的对应的路径下的style.css文件(与应用的页面访问路径保持一直,如/app/vote/应用的样式对应在/c/app/vote/style.css),若需多个样式表,可自行在该style.css中@import相关样式。 |
− | * /c/xcb/addition.css:项目中临时存在的一些特殊样式 | + | |
− | # 应用级应用于某一社区项目内的单个应用,文件放在项目样式文件夹内的对应的路径下的style.css文件(与应用的页面访问路径保持一直,如/app/vote/应用的样式对应在/c/app/vote/style.css),若需多个样式表,可自行在该style.css中@import相关样式。 | + | |
===ui.css是统一UI控件样式=== | ===ui.css是统一UI控件样式=== | ||
− | + | 它包括常用的一些Web元素:模块框(.module)、标签(Tabs)、表单(table.edit)、按钮(.button)、浮动层(.dialog)、图文列表(ul.list、ul.list_inline)、简单列表(ul.lite、ul.lite_inline)、分页页码(.pager)、警示/提示框(.notice_box)、引用/评论(blockquote)、小箭头(. layer_arrow)、下拉菜单(. list_option)…… | |
− | + | 参见:http://pic.static.sdo.com/xcb/sns/c/public/ui.css | |
− | === | + | ===不要轻易改动public下的CSS=== |
+ | 必须要改动时,需进行集体沟通切全站反复测试 | ||
===单条CSS规则的书写格式要求=== | ===单条CSS规则的书写格式要求=== | ||
− | + | #属性需要写在一行。 | |
<source lang="css"> | <source lang="css"> | ||
− | + | .selector { property:value;property:value; } | |
</source> | </source> | ||
− | + | #多个(>2)selector每个占一行: | |
<source lang="css"> | <source lang="css"> | ||
− | + | .selector1, | |
− | + | .selector2, | |
− | + | .selector3 { property:value;property:value; } | |
</source> | </source> | ||
− | + | #兼容多个浏览器时,将标准属性写在后面,如: | |
<source lang="css"> | <source lang="css"> | ||
− | + | -webkit-border-radius:4px;-moz-border-radius:4px;border-radius: 4px; | |
</source> | </source> | ||
第64行: | 第246行: | ||
注释的格式: | 注释的格式: | ||
<source lang="css"> | <source lang="css"> | ||
− | + | /* module: 模块框 */ | |
− | 通用规则同样分类放在一起。通用规则在具体模块规则的前面。如: | + | /*通用规则同样分类放在一起。通用规则在具体模块规则的前面。如:*/ |
− | + | /* button */ | |
− | + | ... | |
− | + | /* mod */ | |
− | + | ... | |
− | + | /* nav */ | |
− | + | ... | |
− | + | /* mod: events album */ | |
</source> | </source> | ||
===ID和Class命名=== | ===ID和Class命名=== | ||
命名不要用缩写。ID使用小驼峰式,如:"topMessage", "userSearchForm", "mainWrap";Class单词间用"_"做为连接符,如:” top_info”、” comment_module”。 | 命名不要用缩写。ID使用小驼峰式,如:"topMessage", "userSearchForm", "mainWrap";Class单词间用"_"做为连接符,如:” top_info”、” comment_module”。 | ||
− | * ID是用来标识具体模块,命名必须具体且唯一,由前缀和名字组成。不要滥用ID。如: # userSearchForm。 | + | *ID是用来标识具体模块,命名必须具体且唯一,由前缀和名字组成。不要滥用ID。如: # userSearchForm。 |
− | * Class是用来标识某一类型的元素,命名简洁表意清楚,对于应用级的Class,尽量避免太过通用的名称,以免与其它样式冲突。如:.content、.left。若一定要使用这类短命名,必须在样式中加上父级限定,且不会再嵌套过多标签。如:“.blog_detail .content”、“<a href=”#”><span class=”on”></span></a>” | + | *Class是用来标识某一类型的元素,命名简洁表意清楚,对于应用级的Class,尽量避免太过通用的名称,以免与其它样式冲突。如:.content、.left。若一定要使用这类短命名,必须在样式中加上父级限定,且不会再嵌套过多标签。如:“.blog_detail .content”、“<a href=”#”><span class=”on”></span></a>” |
− | * 注意语义化,尽量根据模块内容来命名,避免以样式表现来命名。 | + | *注意语义化,尽量根据模块内容来命名,避免以样式表现来命名。 |
− | : * 不好的:.green_link、.left_module | + | :* 不好的:.green_link、.left_module |
− | : * 不错的:.comment_module、.sidebar、.photo_list | + | :* 不错的:.comment_module、.sidebar、.photo_list |
− | + | ||
+ | |||
+ | ===尽量避免使用CSS Hack=== | ||
推荐使用下面的: | 推荐使用下面的: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ;区别属性: | |
+ | <table border="0" cellpadding="0" cellspacing="0"> | ||
+ | <tr> | ||
+ | <td style="width:87px;"> | ||
+ | <p align="left"> | ||
+ | IE6</p> | ||
+ | </td> | ||
+ | <td style="width:537px;"> | ||
+ | <p align="left"> | ||
+ | _property:value</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:87px;"> | ||
+ | <p align="left"> | ||
+ | IE6/7</p> | ||
+ | </td> | ||
+ | <td style="width:537px;"> | ||
+ | <p align="left"> | ||
+ | *property:value</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:87px;"> | ||
+ | <p align="left"> | ||
+ | IE6/7/8/9</p> | ||
+ | </td> | ||
+ | <td style="width:537px;"> | ||
+ | <p align="left"> | ||
+ | property:value\9</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:87px;"> | ||
+ | <p align="left"> | ||
+ | 非IE6</p> | ||
+ | </td> | ||
+ | <td style="width:537px;"> | ||
+ | <p align="left"> | ||
+ | property//:value</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | </table> | ||
− | + | ;区别规则: | |
+ | <table border="0" cellpadding="0" cellspacing="0"> | ||
+ | <tr> | ||
+ | <td style="width:165px;"> | ||
+ | <p align="left"> | ||
+ | IE6</p> | ||
+ | </td> | ||
+ | <td style="width:459px;"> | ||
+ | <p align="left"> | ||
+ | * html selector { ... }</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:165px;"> | ||
+ | <p align="left"> | ||
+ | IE7</p> | ||
+ | </td> | ||
+ | <td style="width:459px;"> | ||
+ | <p align="left"> | ||
+ | *:first-child+html selector { ... }</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:165px;"> | ||
+ | <p align="left"> | ||
+ | 非IE6</p> | ||
+ | </td> | ||
+ | <td style="width:459px;"> | ||
+ | <p align="left"> | ||
+ | html>body selector { ... }</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:165px;"> | ||
+ | <p align="left"> | ||
+ | firefox only</p> | ||
+ | </td> | ||
+ | <td style="width:459px;"> | ||
+ | <p align="left"> | ||
+ | @-moz-document url-prefix() { ... }</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:165px;"> | ||
+ | <p align="left"> | ||
+ | saf3+/chrome1+</p> | ||
+ | </td> | ||
+ | <td style="width:459px;"> | ||
+ | <p align="left"> | ||
+ | @media all and (-webkit-min-device-pixel-ratio:0) { ... }</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:165px;"> | ||
+ | <p align="left"> | ||
+ | opera only</p> | ||
+ | </td> | ||
+ | <td style="width:459px;"> | ||
+ | <p align="left"> | ||
+ | @media all and (-webkit-min-device-pixel-ratio:10000),not all and (-webkit-min-device-pixel-ratio:0) { ... }</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td style="width:165px;"> | ||
+ | <p align="left"> | ||
+ | iPhone/mobile webkit</p> | ||
+ | </td> | ||
+ | <td style="width:459px;"> | ||
+ | <p align="left"> | ||
+ | @media screen and (max-device-width: 480px) { ... }</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | </table> | ||
− | + | ===使用after或overflow的方式清浮动=== | |
− | 如: | + | 不要添加单独的class(如:.clearfix)。且不在必要时不要对模块指定高度。 |
+ | |||
+ | ===内联和外联的CSS都必须放在页面的head里=== | ||
+ | 顺序是:产品级CSS,项目级CSS,应用级CSS,页面级(内联)CSS | ||
+ | |||
+ | ===避免使用低效的选择器=== | ||
+ | 如: | ||
<source lang="css"> | <source lang="css"> | ||
body > * {...} | body > * {...} | ||
第112行: | 第403行: | ||
</source> | </source> | ||
− | + | ===尽量避免使用filter=== | |
+ | 特别避免使用在单个页面会多次出现的元素样式上使用 | ||
− | + | ===尽量避免在CSS中使用 expression=== | |
+ | 特别避免使用在单个页面会多次出现的元素样式上使用 | ||
− | + | ===不要直接修改标签的样式=== | |
如: div { ... } | 如: div { ... } | ||
− | + | ===不要在标签上直接写样式=== | |
如: | 如: | ||
<source lang="php"> | <source lang="php"> | ||
第125行: | 第418行: | ||
</source> | </source> | ||
− | + | ===不要在CSS中使用 !important=== | |
+ | |||
+ | ===绝对不要在CSS中使用 "*" 选择符=== | ||
+ | |||
− | + | ===关于z-Index值的设置范围说明=== | |
+ | #窗体独占式layer(如:dialog、mask): 800-1000 | ||
+ | #非独占式页面遮罩layer:600-799 | ||
+ | #普通tooltips:100-599 | ||
+ | #非遮罩的定位需要:0-99 |
2011-03-28T12:44:16的最后版本
产品开发部社区项目CSS开发规范
目录
- 1 CSS浏览器支持标准
- 2 尽能的通过继承和层叠重用已有样式
- 3 根据新建样式的适用范围分为四级:产品级、项目级、应用级
- 4 ui.css是统一UI控件样式
- 5 不要轻易改动public下的CSS
- 6 单条CSS规则的书写格式要求
- 7 将作用于不同模块的CSS规则集中放在一起,同时用注释说明
- 8 ID和Class命名
- 9 尽量避免使用CSS Hack
- 10 使用after或overflow的方式清浮动
- 11 内联和外联的CSS都必须放在页面的head里
- 12 避免使用低效的选择器
- 13 尽量避免使用filter
- 14 尽量避免在CSS中使用 expression
- 15 不要直接修改标签的样式
- 16 不要在标签上直接写样式
- 17 不要在CSS中使用 !important
- 18 绝对不要在CSS中使用 "*" 选择符
- 19 关于z-Index值的设置范围说明
CSS浏览器支持标准
WinXP |
Win7 |
|
IE9 |
C |
C |
IE8 |
A |
A |
IE7 |
A |
A |
IE6 |
A |
A |
Chrome7 |
C |
C |
Chrome6 |
A |
A |
Chrome3 |
B |
B |
Firefox4 |
C |
C |
Firefox3.6 |
A |
A |
Firefox3.5 |
C |
C |
Firefox3 |
C |
C |
Safari |
B |
B |
Opera |
C |
C |
(注:根据2011年03月8日数据整理)
- A级-交互和视觉完全符全设计的要求
- B级-视觉上允许有所差异,不破坏页面整体效果
- C级-可忽视视觉上的问题,但不防碍使用
尽能的通过继承和层叠重用已有样式
根据新建样式的适用范围分为四级:产品级、项目级、应用级
- 目前产品级的CSS文件有:
- /c/public/ui.css:统一浏览器默认样式、统一UI控件
- /c/public/icon.css:公共icon样式
- /c/public/common.css:一些关键的影响页面逻辑的样式
- /c/public/validatorAuto.css:表单验证样式
- 项目级应用于某一垂直产品(如星辰变、超级跑跑等),文件放在对应项目的样式文件夹内,与public文件夹同级。如:/c/xcb/、/c/paopao/。
- /c/xcb/ui.css:根据项目重置统一UI控件以及项目相关的可以抽离出来的独立UI控件样式。
- /c/xcb/icon.css:项目设计的icon样式
- /c/xcb/event.css:新鲜事模板样式
- /c/xcb/skin.css:项目公共样式(可能在多个应用设计且难以抽离到ui.css里的相关样式)
- /c/xcb/addition.css:项目中临时存在的一些特殊样式
- 应用级应用于某一社区项目内的单个应用,文件放在项目样式文件夹内的对应的路径下的style.css文件(与应用的页面访问路径保持一直,如/app/vote/应用的样式对应在/c/app/vote/style.css),若需多个样式表,可自行在该style.css中@import相关样式。
ui.css是统一UI控件样式
它包括常用的一些Web元素:模块框(.module)、标签(Tabs)、表单(table.edit)、按钮(.button)、浮动层(.dialog)、图文列表(ul.list、ul.list_inline)、简单列表(ul.lite、ul.lite_inline)、分页页码(.pager)、警示/提示框(.notice_box)、引用/评论(blockquote)、小箭头(. layer_arrow)、下拉菜单(. list_option)…… 参见:http://pic.static.sdo.com/xcb/sns/c/public/ui.css
不要轻易改动public下的CSS
必须要改动时,需进行集体沟通切全站反复测试
单条CSS规则的书写格式要求
- 属性需要写在一行。
.selector { property:value;property:value; }
- 多个(>2)selector每个占一行:
.selector1, .selector2, .selector3 { property:value;property:value; }
- 兼容多个浏览器时,将标准属性写在后面,如:
-webkit-border-radius:4px;-moz-border-radius:4px;border-radius: 4px;
将作用于不同模块的CSS规则集中放在一起,同时用注释说明
注释的格式:
/* module: 模块框 */ /*通用规则同样分类放在一起。通用规则在具体模块规则的前面。如:*/ /* button */ ... /* mod */ ... /* nav */ ... /* mod: events album */
ID和Class命名
命名不要用缩写。ID使用小驼峰式,如:"topMessage", "userSearchForm", "mainWrap";Class单词间用"_"做为连接符,如:” top_info”、” comment_module”。
- ID是用来标识具体模块,命名必须具体且唯一,由前缀和名字组成。不要滥用ID。如: # userSearchForm。
- Class是用来标识某一类型的元素,命名简洁表意清楚,对于应用级的Class,尽量避免太过通用的名称,以免与其它样式冲突。如:.content、.left。若一定要使用这类短命名,必须在样式中加上父级限定,且不会再嵌套过多标签。如:“.blog_detail .content”、“<a href=”#”></a>”
- 注意语义化,尽量根据模块内容来命名,避免以样式表现来命名。
- 不好的:.green_link、.left_module
- 不错的:.comment_module、.sidebar、.photo_list
尽量避免使用CSS Hack
推荐使用下面的:
- 区别属性:
IE6 |
_property:value |
IE6/7 |
*property:value |
IE6/7/8/9 |
property:value\9 |
非IE6 |
property//:value |
- 区别规则:
IE6 |
* html selector { ... } |
IE7 |
*:first-child+html selector { ... } |
非IE6 |
html>body selector { ... } |
firefox only |
@-moz-document url-prefix() { ... } |
saf3+/chrome1+ |
@media all and (-webkit-min-device-pixel-ratio:0) { ... } |
opera only |
@media all and (-webkit-min-device-pixel-ratio:10000),not all and (-webkit-min-device-pixel-ratio:0) { ... } |
iPhone/mobile webkit |
@media screen and (max-device-width: 480px) { ... } |
使用after或overflow的方式清浮动
不要添加单独的class(如:.clearfix)。且不在必要时不要对模块指定高度。
内联和外联的CSS都必须放在页面的head里
顺序是:产品级CSS,项目级CSS,应用级CSS,页面级(内联)CSS
避免使用低效的选择器
如:
body > * {...} ul > li > a {...} #footer > h3 {...} ul#top_blue_nav {...} #searbar span.submit a { ... }
尽量避免使用filter
特别避免使用在单个页面会多次出现的元素样式上使用
尽量避免在CSS中使用 expression
特别避免使用在单个页面会多次出现的元素样式上使用
不要直接修改标签的样式
如: div { ... }
不要在标签上直接写样式
如:
<div style="margin-bottom:30px;">
不要在CSS中使用 !important
绝对不要在CSS中使用 "*" 选择符
关于z-Index值的设置范围说明
- 窗体独占式layer(如:dialog、mask): 800-1000
- 非独占式页面遮罩layer:600-799
- 普通tooltips:100-599
- 非遮罩的定位需要:0-99