Css 书写规范
专属标记
本框架叫做ax斧子框架,为了避免跟其他框架冲突,本框架核心文件的样式均以ax-
开头。
命名规律
本框架css样式基本命名规则是:专属标记-属性-值,比如:ax-bg-white表示白色背景;ax-color-primary表示主要颜色。
组合定义样式
本框架中有一类样式不建议单独定义,他们通常是组合使用, 举例如下:
- ax-icon 图标
- ax-title 标题
- ax-head 头部
- ax-img 图像
- ax-image 图像
- ax-figure 图形(包括图片、图标、字体等)
- ax-des 简介
- ax-time 时间
- ax-from 来源
- ax-bone 骨架
- ax-selected 被选中
- ax-disabled 取消
- ax-active 活动的
- ax-operate 操作
- ax-option 选项
- ax-arrow 角标
- ax-more 更多
- ax-view 选项
- ax-gallery 图集
- ax-num 数字
- ax-child 子元素
- ax-adorn 装饰点缀
- ax-bar 小块
- ax-light 轻便简约
- ax-dark 黑暗厚重
- ax-white 深底白字
- ax-black 白底黑字
- ax-mask 背景遮罩
- ax-focus 聚焦
- ax-done 已做
使用方法如下:
<div class="ax-article-block"> <img src="" class="ax-img" /> <div class="ax-title">标题</div> <div class="ax-des">简介</div> </div>
<style> .ax-article-block .ax-img{} .ax-article-block .ax-title{} .ax-article-block .ax-des{} </style>
Hack兼容
本框架使用html5+css3编写,所以hack就不考虑ie8及以下浏览器,由于opera和safafi浏览器均使用webkit引擎,hack主要是针对chrome、firefox以及ie9/10/11/edge浏览器。
<style> .ax-nav{/*默认样式,大部分浏览器支持*/} @media screen and (-webkit-min-device-pixel-ratio:0) { .ax-nav{/*chrome的hack样式*/} } @-moz-document url-prefix() { .ax-nav{/*firefox的hack样式*/} } @supports (not (-ms-accelerator:true)) { .ax-nav{/*非ie的hack样式*/} } @media screen { .ax-nav{/*ie9/10/11的hack样式*/} } @supports (-ms-accelerator:true) { .ax-nav{/*edge的hack样式*/} } </style>
因为浏览器也在不断更新,为了兼容chrome、firefox和ie老版本的写法,可以如下顺序编写css。-ms-开头的样式仅ie系列支持,-moz-开头的样式仅firefox支持,-webkit-开头的样式仅chrome、opera和safari支持。
<style> transform:rotate(180deg); -ms-transform:rotate(180deg); -moz-transform:rotate(180deg); -webkit-transform:rotate(180deg); </style>
不同级别的css是以高级别的为准,其中以直接在html标签中写入style为最高;同级别的css是以最后一个为准;有时候为了保持代码书写统一,需要打破先后顺序,可以使用!important来提高级别(最高)。以下例子,如果没有使用!important的话,他们是同级别的css,最终结果是green,但是使用!important之后打破了先后顺序,实际结果是red。
<style> .ax-nav{color:red!important;} .ax-nav{color:green;} </style>
代码顺序
css属性较多,按什么顺序书写才够规律和美观?本框架书写css的顺序尊从“由小及大”的原则,即从一个字的字号颜色逐渐扩展到容器的边框属性,以下是书写顺序详细。
级别 | 类型 | 标签举例 | 常用属性 |
---|---|---|---|
一级 | 单文字 | span,i,a | color font-family font-size font-weight text-shadow |
二级 | 文字块 | div,ul,section,img | text-align width height line-height max-width max-height |
三级 | 边框 | div,ul | margin padding border border-radius box-shadow background-color background-position background-repeat box-sizing |
四级 | 定位 | div,ul | float postion left top z-index |
五级 | 动画 | div,ul,a | transform transition |
六级 | 整体 | div,ul,a | display overflow opacity |