`
kongxiantao
  • 浏览: 112847 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

豆瓣CSS开发规范

阅读更多

Douban CSS Code Guideline

1. CSS浏览器支持标准

 

WinXP

Win7

OS X

IE9

C

C

 

IE8

A

A

 

IE7

A

A

 

IE6

A

A

 

Chrome7

C

C

C

Chrome6

A

A

A

Chrome3

B

B

B

Firefox4

C

C

C

Firefox3.6

A

A

A

Firefox3.5

C

C

 

Firefox3

C

C

 

Safari

B

B

B

Opera

C

C

C

 

(注:根据2010年11月10日数据整理)

  1. A级-交互和视觉完全符全设计的要求
  2. B级-视觉上允许有所差异,不破坏页面整体效果
  3. C级-可忽视视觉上的问题,但不防碍使用

2. 尽可能的通过继承和层叠重用已有样式

3. 根据新建样式的适用范围分为三级:全站级、产品级、页面级

  1. 3-1. 目前全站级的CSS文件仅有core.css和douban.css(向全站级CSS文件中添加规则参见4和5)。
  2. 3-2. 产品级CSS是指作用于某一垂直产品(如音乐、读书、电台等),文件放在css/下相应目录下。

 

页面级指仅在一个或少量几个页面中用到。如果仅在一个页面中用到的采用内联方式嵌入于页面head里,多于两个页面的放到外联的CSS文件中,该文件再放到相应的产品目录下。

4. core.css是全站基本样式。它需要放在所有CSS引用的最前面。它包括:标签reset、常用规则(链接、字体、隐藏、清浮动等)、布局、各种模块基本样式等

参见: http://img3.douban.com/css/packed_core1.css

5. 不要轻易改动全站级CSS。改动后,要经过全面测试

6. 单条CSS规则的书写格式要求

  1. 6-1. 属性需要写在一行。需要在“{"和"}”前后加空格。

.selector { property:value;property:value; }

  1. 6-2. 多个(>2)selector每个占一行:

.selector1,
.selector2,
.selector3 { property:value;property:value; }

  1. 6-3. 兼容多个浏览器时,将标准属性写在后面,如:

-webkit-border-radius:4px;-moz-border-radius:4px;border-radius: 4px;

7. 将作用于不同模块的CSS规则集中放在一起,同时用注释说明

注释的格式:

/* mod: doulist */

通用规则同样分类放在一起。通用规则在具体模块规则的前面。如:

/* button */
...
/* mod */
...
/* nav */
...
/* mod: events album */

8. ID和Class命名。命名不要用缩写,单词间用"-"做为连接符

  1. 8-1. ID是用来标识具体模块,命名必须具体且唯一,由前缀和名字组成。不要滥用ID。如: #db-video-list。
  2. 8-2. Class是用来标识某一类型的元素,命名简洁表意清楚。如:.list。
  3. 8-3. 命名示例:

坏:

#rec
.gray-link
.broadsmr
.pl

好:

#db-nav-main
.infobox

.item

  1. 8-4. 推荐使用的class名:

表示状态

.on, .active, .selected, .hili

表示位置

.first, .last, .main, .side

表示结构

.hd, .bd, .ft, .col, .section

通用元素

.tb, .frm, .nav, .list, .item, .tag, .pic, .info

 

9. 尽量避免使用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) { ... }

 

10. 使用after或overflow的方式清浮动

11. 内联和外联的CSS都必须放在页面的head里。顺序是:全站级CSS,产品级CSS,页面级(外联)CSS,页面级(内联)CSS,内联CSS

12. 避免使用低效的选择器

如:
body > * {...}
ul > li > a {...}
#footer > h3 {...}
ul#top_blue_nav {...}
#searbar span.submit a { ... }

13. 尽量避免使用filter

14. 不要直接修改标签的样式

如: div { ... }

15. 不要在标签上直接写样式

如:<div style="margin-bottom:30px;">

margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 18pt; padding-right: 0px; padding-bottom: 4pt; pad

分享到:
评论

相关推荐

    豆瓣CSS开发规范.docx

    【豆瓣CSS开发规范】 在构建豆瓣的Web界面时,遵循一套有效的CSS开发规范至关重要,以确保代码的可维护性、可扩展性和浏览器兼容性。以下是一些关键的规范要点: 1. **浏览器支持标准**: - **A级**:完全符合...

    豆瓣Javascript 和 Css代码风格规范

    1. **豆瓣CSS开发规范** - **命名规则**:豆瓣鼓励使用有意义的英文单词或缩写,采用小写字母,多个单词之间用短横线(-)连接。例如,`.button-blue`表示蓝色按钮。 - **选择器使用**:推荐使用类选择器而非ID选择...

    微信小程序开发-豆瓣同城案例源码.zip

    在这个“微信小程序开发-豆瓣同城案例源码.zip”压缩包中,我们找到了一个关于如何开发微信小程序的实例,特别关注了与豆瓣同城服务相关的功能实现。 首先,我们要理解微信小程序的基本结构。一个小程序通常包含...

    微信小程序-功能示例:豆瓣图书.zip

    - 豆瓣图书API可能涉及的接口包括获取图书列表、搜索图书、获取单本图书详情等,开发者需要了解豆瓣API的调用规范和参数设置。 综上所述,这个“微信小程序-功能示例:豆瓣图书.zip”文件涵盖了微信小程序开发的...

    豆瓣电影小程序源码.zip

    【标题】"豆瓣电影小程序源码.zip"是一个包含有源代码的压缩文件,主要用于学习和交流,特别是针对微信小程序的开发。这个项目是基于豆瓣电影API实现的小程序应用,允许用户浏览电影信息、查看评分、阅读评论等。...

    微信小程序开发之豆瓣电影.zip

    微信小程序是一种轻量级的应用开发平台,它专为微信用户设计,无需下载安装即可使用,大大降低了用户...在实际开发过程中,还需要注意代码优化、用户体验设计以及遵守微信小程序的开发规范,确保小程序的稳定性和性能。

    用vue20实现仿豆瓣app将用到vuerouterwebpackaxiosvuex

    对于仿豆瓣App,Webpack 配置可能包括加载器(如babel-loader用于ES6转换)、插件(如MiniCssExtractPlugin提取CSS)等,以提高开发和生产环境的效率。 **Axios**: Axios 是一个基于 promise 的 HTTP 库,可以在...

    Douban rental data search engine(豆瓣租房搜索引擎)

    【描述】:豆瓣租房搜索引擎是一个基于Python开发的项目,它旨在帮助用户更高效地在豆瓣平台上搜索并整理租房信息。这个搜索引擎能够抓取豆瓣租房板块的数据,对房源进行筛选、排序,以满足不同租户的需求。 【知识...

    豆瓣电影_微信小程序模板js代码前台前端H5页面源码.rar

    特别是对于想要涉足微信小程序开发的人来说,这样的源码可以作为起点,理解小程序的工作原理,学习如何通过JavaScript处理数据、响应用户交互,以及如何设计符合微信小程序规范的用户界面。 【压缩包子文件的文件...

    微信小程序仿《豆瓣电影》源码

    总之,这个“微信小程序仿《豆瓣电影》源码”项目涵盖了微信小程序开发的多个方面,包括基础语法、网络请求、组件设计、数据绑定、事件处理、性能优化等。对于想要学习微信小程序开发的人员来说,这是一个很好的实践...

    Python-基于pythonscrapy框架抓取豆瓣影视资料

    Scrapy是一个开源的框架,它提供了丰富的功能,如请求调度、数据解析、中间件处理和文件存储,使得爬虫开发更加便捷。 首先,你需要确保已经安装了Python和Scrapy。在命令行中运行`pip install scrapy`来安装Scrapy...

    小程序源码(无后台)_豆瓣科幻小说.rar

    7. **部署与发布**:完成小程序开发后,开发者需要按照微信小程序的开发规范进行打包和上传,经过审核后才能在微信平台上发布供用户使用。 8. **版本控制**:源码管理工具如Git对于团队协作开发非常重要,它可以...

    vue2x豆瓣电影展示项目

    在实际项目中,开发者还可能使用了 axios 进行 API 调用获取豆瓣电影数据,使用 ECharts 或者其他图表库展示评分统计,以及采用 SCSS 或者 Stylus 进行 CSS 预处理,提高样式编写效率。此外,还可能运用 ESLint 进行...

    豆瓣电影实时

    4. **前端展示**:用户界面可能使用了Web开发技术,如HTML、CSS和JavaScript,结合前端框架如React或Vue.js,以实时显示电影数据。 5. **后端开发**:后端可能基于Python的Flask或Django,或者Node.js的Express等...

    039-微信小程序-豆瓣同城.zip

    9. **样式设计**:WXSS支持CSS大部分特性,但也有其特有规则,如尺寸单位rpx、样式隔离等,需要根据微信小程序的规范进行样式编写。 10. **性能优化**:为了提供流畅的用户体验,开发者需要关注小程序的性能优化,...

    微信小程序精选源码亲测可用_豆瓣同城.zip

    本资源“微信小程序精选源码亲测可用_豆瓣同城.zip”包含了一个基于微信小程序开发的豆瓣同城应用的源代码,适用于学习、参考或二次开发。下面将详细介绍这个项目可能涉及的关键知识点和相关技术。 1. 微信小程序...

    豆瓣影视作品网络爬虫.rar

    此外,考虑到网络爬虫的法律法规和道德规范,我们在实际操作中必须尊重网站的robots.txt文件,遵守其规定,不进行大规模、频繁的抓取。同时,要尊重用户的隐私,不得爬取和使用个人敏感信息。 总结来说,《豆瓣影视...

    电影上映热映豆瓣电影简介小程序源码.zip

    3. **WXSS(WeiXin Style Sheets)**:类似于CSS,用于定义小程序中WXML组件的样式。开发者需要掌握WXSS的盒模型、选择器、样式继承等特性。 4. **JavaScript API**:微信小程序提供了一套基于JavaScript的API,...

    微信小程序编写豆瓣影评

    综上所述,"微信小程序编写豆瓣影评"项目涵盖了JavaScript编程、微信小程序框架的使用、组件化开发、配置文件管理、网络请求、用户交互、数据绑定和状态管理等多个关键知识点,是一个全面了解和实践微信小程序开发的...

    新豆瓣同城分类信息小程序-html

    开发者需要按照特定规范编写代码,利用这些平台提供的组件和服务。 - 在这个项目中,HTML用于构建用户界面,可能需要结合小程序提供的自定义组件,如按钮、列表、轮播图等,实现丰富的交互效果。 - CSS3的使用增强...

Global site tag (gtag.js) - Google Analytics