Skip to content

YYwork/book-for-css

Repository files navigation

CSS 总结

我个人比较推崇用 Compass 来书写 CSS,所以该项目也会以 Compass 为基础搭建起来。

依旧在原生的 CSS HTML JavaScript 和 推崇缩进的理念上徘徊。

CSS Reset

由于早期的浏览器支持和理解的 CSS 规范不同,导致浏览器在渲染页面时效果不一致,出现很多兼容性问题。

  <link href="//cdn.bootcss.com/normalize/3.0.3/normalize.css" rel="stylesheet">

HTML5 CSS3 兼容 IE

  <!--[if lt IE 9]>
    <script src="//cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
    <script src="//cdn.bootcss.com/selectivizr/1.0.2/selectivizr-min.js"></script>
  <![endif]-->

responsive flexible design

前端工具

compass

sudo gem install sass 
sudo gem install compass
sudo gem install susy
sudo gem install breakpoint
gulp-compass 
gulp-sass

提高浏览器的渲染速度

  • 写出高效的 css 代码
  • 避免使用 css 表达式
  • 把 css 文件放在页面顶部
  • 指定页面图片的尺寸
  • 页面头部标明文档编码

浏览器解析html代码的过程:

构建一个 DOM 树, 加入页面要现实的元素, 每当一个新元素加入到这个 DOM 树中,浏览器便会通过 css 引擎查遍 css 样式表,找到符合该元素的样式规则应用到这个元素上。(css 引擎查找样式表,对每条规则都 按从右到左的顺序去匹配 )

选择器的效率 从高到低

 * id选择器(#myid)
 * 类选择器(.myclassname)
 * 标签选择器(div,h1,p)
 * 相邻选择器(h1+p)
 * 子选择器(ul > li)
 * 后代选择器(li a)
 * 通配符选择器(*)
 * 属性选择器(a[rel="external"])
 * 伪类选择器(a:hover,li:nth-child)
`浏览器读取选择器的顺序是由右到左进行`
`越具体的关键选择器,其性能越高`
  • 定义的 css 样式规则条数 越少越好, 删除不必要的样式定义。

  • 优化每条规则的选择符书写方式, 尽量让 css 引擎一看就知道规则是需要应用到当前这个元素上。

    避免使用通配符(避免普遍规则) 多用 id 或 class 选择符(尽可能使用具体的类别) 不要画蛇添足(不要在ID选择器前加标签名或类名) 如:form#UserLogin 避免使用后代选择符,去掉不必要的祖先元素, 用 class 代替 如:ul li -> .li-class 避免给非链接标签添加 :hover 伪类选择器

把css文件放在页面顶部

浏览器只有在所有样式表下载完成后才会继续下载页面其他内容。 内联样式表(放在style内的样式)有可能会引起页面重新渲染或显示隐藏页面中的某些元素, 建议不要使用内联样式表。

指定页面图片的尺寸

指定页面图片尺寸,要符合图片的真实尺寸(不要通过指定尺寸来缩放图片),可以避免尺寸改变导致的页面结构效果的变化,所以对加快页面渲染速度有益。

css 表达式

css 命名规范

命名规则说明

  1)所有的命名最好都小写
  2)属性的值一定要用双引号("")括起来,且一定要有值如class="divcss5",id="divcss5"
  3)每个标签都要有开始和结束,且要有正确的层次,排版有规律工整
  4)空元素要有结束的tag或于开始的tag后加上"/"
  5)表现与结构完全分离,代码中不涉及任何的表现元素,如style、font、bgColor、border等
  6)h1 到 h5 的定义,应遵循从大到小的原则,体现文档的结构,并有利于搜索引擎的查询。
  7)给每一个表格和表单加上一个唯一的、结构标记id
  8)给图片加上alt标签
  9)尽量使用英文命名原则
  10)尽量不缩写,除非一看就明白的单词

相对网页外层重要部分CSS样式命名

CSS文件命名

  master.css,style.css  主要的
  module.css  模块
  base.css  基本共用
  layout.css  布局,版面
  themes.css  主题
  columns.css 专栏
  font.css  文字、字体
  forms.css 表单
  mend.css  补丁
  print.css 打印

网页公共命名

  #wrapper  页面外围控制整体布局宽度
  #container或#content 容器,用于最外层
  #layout 布局
  #head, #header  页头部分
  #foot, #footer  页脚部分
  #nav  主导航
  #subnav 二级导航
  #menu 菜单
  #submenu  子菜单
  #sideBar  侧栏
  #sidebar-a, #sidebar-b  左边栏或右边栏
  #main 页面主体
  #tag  标签
  #msg #message 提示信息
  #tips 小技巧
  #vote 投票
  #friend-link 友情连接
  #title  标题
  #summary  摘要
  #loginbar 登录条
  #search-input  搜索输入框
  #hot  热门热点
  #search 搜索
  #search-output  搜索输出和搜索结果相似
  #search-bar  搜索条
  #search-results 搜索结果
  #copyright  版权信息
  #branding 商标
  #logo 网站LOGO标志
  #siteinfo 网站信息
  #siteinfo-legal  法律声明
  #siteinfo-credits  信誉
  #joinus 加入我们
  #partner  合作伙伴
  #service  服务
  #regsiter 注册
  #arrow 箭头
  #guild  指南
  #sitemap  网站地图
  #list 列表
  #homepage 首页
  #subpage  二级页面子页面
  #tool, #toolbar 工具条
  #drop 下拉
  #dorpmenu 下拉菜单
  #status 状态
  #scroll 滚动
  .tab  标签页
  .left .right .center  居左、中、右
  .news 新闻
  .download 下载
  .banner 广告条(顶部广告条)

电子贸易相关

  .products 产品
  .products_prices  产品价格
  .products_description 产品描述
  .products_review  产品评论
  .editor_review  编辑评论
  .news_release 最新产品
  .publisher  生产商
  .screenshot 缩略图
  .faqs 常见问题
  .keyword  关键词
  .blog 博客
  .forum  论坛

grayscale

About

book for css

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published