CSS framework日常开发的经验总结

互联网   发布时间:2008-10-17 19:25:29   作者:佚名   我要评论
  CSSframework可以更快速、有效、可扩展的去书写站点的CSS代码

  CSSframework可以更快速、有效、可扩展的去书写站点的CSS代码。在jb51.net以前的文章中,我们有过多篇此类知识的介绍,以下是个某个知名团队在日常开发中的思考与总结,可能您会提出一些不同的观点,没关系,欢迎发表评论,和jb51.net的众多CSSer一起探讨吧!
一、CSS框架
  中国的互联网行业已经发展了10年,浏览器也从最早流行的NS到现在的FF3.IE7等等……前端开发工程师的职位也诞生了。近几年在web开发中,有个非常火的词——“框架”。YUI、JQuery、Prototype这些javascript框架在开发网站时,确实成为前端开发工程师的手中利器。为什么呢?因为框架是包含工具、函数库、约定,以及尝试从常用任务中抽象出可以复用的通用模块,让设计师与程序员避免重复开发。通俗地讲便是把大多数重复工作的时间给节约了。
  编写css也是一样,从最初只是定义文字颜色、内容排版,到现在定义所有的表现。css框架也渐渐被重视了,因为大家都认识到:从具象的表现中抽出抽象的模块来重复使用,是减少用户下载、方便团队及个人开发最重要的手段。
二、css框架的开发顺序
  1、格式化reset.css
  格式化css的真正好处是能够快速启动工作,你可以在新的HTML文件里引入框架,不用再处理重置padding和margins,实现统一的排版、浏览器下的相同表现。
  2、布局layout.css
  定义页面是二栏还是三栏,是全屏还是1024×768……
  一个网站的设计可能有很多种布局,但是大多数都是由几个具有复用性的布局组成,选择性的引入所需要的布局,可以很快地应用所期望的页面布局。
  3、基本样式type.css
  定义body、h1-h6、a:link-a:active、p等的字体大小和颜色。
  基本样式的css引用,譬如将ul定义class为“ul-text”,用来展现相同的icon、行间距、链接色彩。
  还可以像这样应用:class=”ul-textsquare”,li前展现的是方型的icon。
  4、表格修饰table.css
  定义table、tr、td、th、thead、tfoot、tbody、caption等标签的表现。
  和基本样式一样,但是表格在现有网站的展现形式几乎都是处理数据,所以分开存放引用。譬如在table上应用table-style-1便是黑色边框的表格,table-style-2便是黄.色边框的表格。
  5、表单修饰form.css
  定义fieldset、label、button、input、select、textarea这几个标签的表现。
  大多数网站的表单、按钮、输入框几乎都是一样的。之所以引入这个css,是为了便于统一在各个浏览器中的展现。默认的按钮、输入框等在各个浏览器下的展现区别很大,虽然在格式化的css中已经初步的统一,但是输入框的边框,按钮的样式都是需要在这个css中定义的。无奈的是select无法做到统一,如果考虑到用js实现的话,这个成本太大了点。
  6、打印修饰print.css
 修饰打印输出的页面。
  7、包含其他css的css
  frontpage.css、list.css、detail.css、register.css等等
  根据各种引用去引入相应的css。譬如list页面中没有需要表格的修饰,那就不引入table.css。以节约代码量。
三、css框架文件夹的建立
  1、core主要的
  存放reset.css、layout.css、type.css、print.css
  2、bud模块
  存放table.css、form.css、album.css等css
  3、petal具体应用
  存放封装过的css。frontpage.css、llist.css、detail.css、register.css等css。这个文件夹存放的css都是被直接引用的。
  文件夹的命名,按个人喜好啦!我还希望用电子、质子等命名呢。嘿嘿!
四、css框架的优点
  1、提高开发效率。
  2、规范名称定义,便于维护。
  3、规范项目开发流程
  4、css代码更清晰、简单。html代码更合理。
五、css框架的弊端
  1、学习成本提高。你需要了解整个框架,需要阅读框架的文档。
  2、css框架对于一个小项目等页面来说很臃肿。框架中可能有大部分你用不到的代码。
  3、可能会无法帮助你的技术提高。太依赖框架,以至于很难排除bug。包括框架中本身就带的bug。
  4、选择自己需要的框架与开发框架都很痛苦。写到后面发现越来越不灵活,越来越臃肿。残念-_-
六、开发及使用css框架中常遇到的问题
  1、页面外部引用样式过多。
  譬如关于ul的margin定义,在格式化的css中会声明为0,而在基本样式的css中又可能会声明margin:5px10px;
  所以在Yslow中会出现多次定义。
  2、组件复用性的考量。
  譬如表单定义的css中定义了所有表单的修饰,而假定在注册这个页面中只是需要这个css的百分之三十。那是否应切割出去那不要的百分之七十?
  综合以上的二个问题,个人认为解决的方式便是封装,让该有的有,不该有的没有。尽量减少http连接数和css的大小。但如果彻底是这样做的话,css的复用性又会变得很差,后期手工的封装会很痛苦。只能套用一句话“具体情况,具体分析”。人生真是矛盾啊…
  3、到底该不该支持em?
  可见如要支持em,最大的目的是为了在浏览器中可以根据用户的分辨率大小自由缩放,对于拥有超大显示器的用户与小显示器的用户是非常有用的。可是在采集我们用户的浏览器数据后,发现分辨处于这二端的用户非常少,可想而知,为这部分的用户多花比正常开发一倍以上的时间显然是件不划算的事情,所以当初在开发tbsp的时候,我们团队就决定了不支持em。当然这是个建议,我们也希望能使用em带给用户最好的感受。更多关于CSS框架开发的文章,欢迎您关注jb51.net的更新。

相关文章

  • 前端CSS Grid 布局示例详解

    CSS Grid 是一种二维布局系统,可以同时控制行和列,相比 Flex(一维布局),更适合用在整体页面布局或复杂模块结构中,这篇文章主要介绍了前端CSS Grid 布局详解,需要的朋
    2025-04-16
  • CSS Padding 和 Margin 区别全解析

    CSS 中的 padding 和 margin 是两个非常基础且重要的属性,它们用于控制元素周围的空白区域,本文将详细介绍 padding 和 margin 的概念、区别以及如何在实际项目中使用它们
    2025-04-07
  • CSS will-change 属性示例详解

    will-change 是一个 CSS 属性,用于告诉浏览器某个元素在未来可能会发生哪些变化,本文给大家介绍CSS will-change 属性详解,感兴趣的朋友一起看看吧
    2025-04-07
  • CSS去除a标签的下划线的几种方法

    本文给大家分享在 CSS 中,去除a标签(超链接)的下划线的几种方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2025-04-07
  • 前端高级CSS用法示例详解

    在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交互和动态效果的关键技术之一,随着前端技术的不断发展,CSS的用法也日益丰富和高级,本文将
    2025-04-07
  • css中的 vertical-align与line-height作用详解

    文章详细介绍了CSS中的`vertical-align`和`line-height`属性,包括它们的作用、适用元素、属性值、常见使用场景、常见问题及解决方案,感兴趣的朋友跟随小编一起看看吧
    2025-03-26
  • 浅析CSS 中z - index属性的作用及在什么情况下会失效

    z-index属性用于控制元素的堆叠顺序,值越大,元素越显示在上层,它需要元素具有定位属性(如relative、absolute、fixed或sticky),本文给大家介绍CSS 中z - index属性的作用
    2025-03-21
  • CSS @media print 使用详解

    文章详细介绍了CSS中的打印媒体查询@mediaprint包括基本语法、常见使用场景和代码示例,如隐藏非必要元素、调整字体和颜色、处理链接的URL显示、分页控制、调整边距和背景等
    2025-03-18
  • CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

    本文介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,感兴趣的朋友一起
    2025-03-10
  • 前端 CSS 动态设置样式::class、:style 等技巧(推荐)

    本文介绍了Vue.js中动态绑定类名和内联样式的两种方法:对象语法和数组语法,通过对象语法,可以根据条件动态切换类名或样式;通过数组语法,可以同时绑定多个类名或样式,此外
    2025-02-26

最新评论