内置常用CSS代码分析

出自Discuz! 技术文库

跳转到: 导航, 搜索

返回 模板创建、解析原理详解

CSS多IE下兼容HACK写法

所有 IE浏览器适用:	.ie_all .foo { ... }
IE6 专用:		.ie6 .foo { ... }
IE7 专用:		.ie7 .foo { ... }
IE8 专用:		.ie8 .foo { ... }

CSS书写规范

  1. 属性写在一行内,属性之间、属性名和值之间以及属性与“{}”之间须有空格,例如:.class { width: 400px; height: 300px; }
  2. 属性的书写顺序:
    1. 针对特殊浏览器的属性,应写在标准属性之前,例如:-webkit-box-shadow:; -moz-box-shadow:; box-shaow:;
    2. 按照元素模型由外及内,由整体到细节书写,大致分为五组:
      1. 位置:position,left,right,float
      2. 盒模型属性:display,margin,padding,width,height
      3. 边框与背景:border,background
      4. 段落与文本:line-height,text-indent,font,color,text-decoration,...
      5. 其他属性:overflow,cursor,visibility,...
  3. 谨慎添加新的选择符规则,尤其不可滥用 id,尽可能继承和复用已有样式
  4. 选择符、属性、值均用小写(格式的颜色值除外),缩写的选择符名称须说明缩写前的全称,例如 .cl -> Clearfix
  5. 勿使用冗余低效的 CSS 写法,例如:ul li a span { ... }
  6. 慎用 !important
  7. 建议使用在 class/id 名称中的词语
    1. 表示状态:a->active
    2. 表示结构:h->header,c->content,f->footer
    3. 表示区域:mn->main,sd->side,nv-navigation,mu->menu
    4. 表示样式:l-list,tab,p_pop

常用CSS

  • 左浮动、右浮动
.z { float: left; } 
.y { float: right; }
  • 因为左右浮动造成的父级浮动溢出,及使用方法
.cl:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } .cl { zoom: 1; }

<div class="cl">
    <div class="z"></div>
</div>
  • 大标题字体
.wx, .ph { font-family: "Microsoft YaHei", "Hiragino Sans GB", STHeiti, Tahoma, SimHei, sans-serif; font-weight: 100; }
  • 行内分割竖线
.pipe { margin: 0 5px; color: #CCC; }
  • 文字字体大小
.xs0 { font-family: {SMFONT}; font-size: {SMFONTSIZE}; -webkit-text-size-adjust: none; }
.xs1 { font-size: 12px !important; }
.xs2 { font-size: 14px !important; }
.xs3 { font-size: 16px !important; }
  • 灰色文字
.xg1, .xg1 a { color: {LIGHTTEXT} !important; }
.xg1 .xi2 { color: {HIGHLIGHTLINK} !important; }
.xg2 { color: {MIDTEXT}; }
  • 高亮文字,1为橙色,2为蓝色
.xi1, .onerror { color: {NOTICETEXT}; }
.xi2, .xi2 a, .xi3 a { color: {HIGHLIGHTLINK} ; }
  • 文字粗体
.xw0 { font-weight: 400; }
.xw1 { font-weight: 700; }
  • 层下边线
.bbda { border-bottom: 1px dashed {COMMONBORDER}; }
.bbs { border-bottom: 1px solid {COMMONBORDER} !important; }
  • 去除边框
.bw0 { border: none !important; }
.bw0_all, .bw0_all th, .bw0_all td { border: none !important; }
  • 去除背景
.bg0_c { background-color: transparent !important; }
.bg0_i { background-image: none !important; }
.bg0_all { background: none !important; }
  • 外边距样式
.mtn { margin-top: 5px !important; }
.mbn { margin-bottom: 5px !important; }
.mtm { margin-top: 10px !important; }
.mbm { margin-bottom: 10px !important; }
.mtw { margin-top: 20px !important; }
.mbw { margin-bottom: 20px !important; }
  • 内边距样式
.ptn { padding-top: 5px !important; }
.pbn { padding-bottom: 5px !important; }
.ptm { padding-top: 10px !important; }
.pbm { padding-bottom: 10px !important; }
.ptw { padding-top: 20px !important; }
.pbw { padding-bottom: 20px !important; }
个人工具