Web前端开发人员必需知道的!!!—— (二)CSS 书写规范

基本原则:

CSS样式可细分为3类:自定义样式、重新定义HTML样式、链接状态样式。

  1. 样式为设计师自定义的新 CSS 样式,影响被使用本样式的区域,用于完成网页中局部的样式设定。样式名 “.”+“相应样式效果描述的单词或缩写”例:“ .shadow ”
    文字样式样式名“.no”+“字号”+“行距”+“颜色缩写”例:“ .no12 ” 、“ .no12-24 ”
  2. 义HTML样式为设计师重新定义已有的HTML标签样式,影响全部的被设定标签样式,用于统一网页中某一标签的样式定义。样式名“HTML标签”例:hr { border: 1px dotted #333333 }
  3. 态样式为设计师对链接不同状态设定特殊样式,影响被使用本样式区域中的链接。
    该样式写法有2种: a.nav:link nav.a:link 第一种只能修饰 < a > 标签中;第二种可以修饰所有包含有< a >标签的其他标签。
    页面内的样式加载必须用链接方式< link rel=“stylesheet” type=“text/css” href=“style/style.css”>

注意细则:

  1. 协作开发及分工: i会根据各个模块, 同时根据页面相似程序, 事先写好大体框架文件, 分配给前端人员实现内部结构&表现&行为; 共用css文件base.css由i书写, 协作开发过程中, 每个页面请务必都要引入, 此文件包含reset及头部底部样式, 此文件不可随意修改;
  2. class与id的使用: id是唯一的并是父级的, class是可以重复的并是子级的, 所以id仅使用在大的模块上, class可用在重复使用率高及子级中; id原则上都是由我分发框架文件时命名的, 为JavaScript预留钩子的除外;
  3. 为JavaScript预留钩子的命名, 请以 js_ 起始, 比如: js_hide, js_show;
  4. class与id命名: 大的框架命名比如header/footer/wrapper/left/right之类的在2中由i统一命名.其他样式名称由 小写英文 & 数字 & _ 来组合命名, 如i_comment, fontred, width200; 避免使用中文拼音, 尽量使用简易的单词组合; 总之, 命名要语义化, 简明化.
  5. 规避class与id命名(此条重要, 若有不明白请及时与i沟通):
    a, 通过从属写法规避, 示例见d;
    b, 取父级元素id/class命名部分命名, 示例见d;
    c, 重复使用率高的命名, 请以自己代号加下划线起始, 比如i_clear;
    d, a,b两条, 适用于在2中已建好框架的页面, 如, 要在2中已建好框架的页面代码 中加入新的div元素,
    按a命名法则: < div id=“mainnav”>< div class=“firstnav”>…< /div>< /div>,
    样式写法: #mainnav .firstnav{…}
    按b命名法则: < div id=“mainnav”>< div class=“main_firstnav”>…< /div>< /div>,
    样式写法: .main_firstnav{…}
  6. css属性书写顺序, 建议遵循 布局定位属性–>自身属性–>文本属性–>其他属性. 此条可根据自身习惯书写, 但尽量保证同类属性写在一起. 属性列举: 布局定位属性主要包括: margin、padding、float(包括clear)、position(相应的 top,right,bottom,left)、display、visibility、overflow等;自身属性主要包括: width & height & background & border; 文本属性主要包括:font、color、text-align、text-decoration、text-indent等;其他属性包括: list-style(列表样式)、vertical-vlign、cursor、z-index(层叠顺序) 、zoom等.我所列出的这些属性只是最常用到的, 并不代表全部;
  7. 书写代码前, 考虑并提高样式重复使用率;
  8. 充分利用html自身属性及样式继承原理减少代码量, 比如:
    < ul class=“list”>
  9. 这儿是标题列表< span>2019-07-31</ span>< /ul>
    定义ul.list li{position:relative} ul.list li span{position:absolute; right:0}
    即可实现日期居右显示
  10. 样式表中中文字体名, 请务必转码成unicode码, 以避免编码错误时乱码;
  11. 背景图片请尽可能使用sprite技术, 减小http请求, 考虑到多人协作开发, sprite按模块制作;
  12. 使用table标签时(尽量避免使用table标签), 请不要用width/ height/cellspacing/cellpadding等table属性直接定义表现, 应尽可能的利用table自身私有属性分离结构与表现, 如thead,tr,th,td,tbody,tfoot,colgroup,scope; (cellspaing及cellpadding的css控制方法: table{border:0;margin:0;border-collapse:collapse;} table th, table td{padding:0;} , base.css文件中我会初始化表格样式)
  13. 杜绝使用< meta http-equiv=“X-UA-Compatible” content=“IE=7” /> 兼容ie8;
  14. 用png图片做图片时, 要求图片格式为png-8格式,若png-8实在影响图片质量或其中有半透明效果, 请为ie6单独定义背景:
    background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=crop, src=’img/bg.png’);
  15. 避免兼容性属性的使用, 比如text-shadow || css3的相关属性;
  16. 减少使用影响性能的属性, 比如position:absolute || float ;
  17. 必须为大区块样式添加注释, 小区块适量注释;
  18. 代码缩进与格式: 建议单行书写, 可根据自身习惯, 后期优化i会统一处理;

命名规则:

header
内容 content/container
footer
导航 nav
侧栏 sidebar
栏目 column
页面外围控制整体布局宽度 wrapper
左右中 left right center
登录条 loginbar
标志 logo
广告 banner
页面主体 main
热点 hot
新闻 news
下载 download
子导航 subnav
菜单 menu
子菜单 submenu
搜索 search
友情链接 friendlink
页脚 footer
版权 copyright
滚动 scroll
内容 content
标签页 tab
文章列表 list
提示信息 msg
小技巧 tips
栏目标题 title
加入 joinus
指南 guild
服务 service
注册 regsiter
状态 status
投票 vote
合作伙伴 partner

(二)注释的写法:

  /* Footer */
  内容区
  /* End Footer */

(三)id的命名:
(1)页面结构

容器 container
页头 header
内容 content/container
页面主体 main
页尾 footer
导航 nav
侧栏 sidebar
栏目 column
页面外围控制整体布局宽度 wrapper
左右中 left right center

(2)导航

导航 nav
主导航 mainbav
子导航 subnav
顶导航 topnav
边导航 sidebar
左导航 leftsidebar
右导航 rightsidebar
菜单 menu
子菜单 submenu
标题 title
摘要 summary

(3)功能

标志 logo
广告 banner
登陆 login
登录条 loginbar
注册 regsiter
搜索 search
功能区 shop
标题 title
加入 oinus
状态 status
按钮 btn
滚动 scroll
标签页 tab
文章列表 list
提示信息 msg
当前的 current
小技巧 tips
图标 icon
注释 note
指南 guild
服务 service
热点 hot
新闻 news
下载 download
投票 vote
合作伙伴 partner
友情链接 link
版权 copyright

相关推荐:
Web前端开发人员必需知道的!!!—— (一)文件规范

发布了47 篇原创文章 · 获赞 340 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/weixin_44253336/article/details/97614257