http://blog.chinaunix.net/uid-22414998-id-2878529.html

1、什么是CSS框架?
    CSS框架是一种你能够使用在你的web项目中概念上的结构,是别人已经写完的,而且很完善的CSS定义集合。CSS框架一般是CSS文件的集合,包括基本风格的字体排版,表单样式,表格布局等等,比如:
    * grid.css 表格布局
    * layout.css 布局
    * form.css 表单
    * general.css CSS常规设置
 
2、CSS框架的种类:
    CSS框架很多,可以说太多了,最近几年像潮水般涌出。只是国内用CSS框架的不多,倒是PHP框架和Spring框架用的更多些。比较著名的CSS框架如下,不同的框架完成的任务不一定完全一样,每个框架都有自己的特色:
    YUI Grids CSS            Blueprint               YAML CSS Framework            CleverCSS
       等等。。。。。。
 
3、960Grid
        由于电脑显示器有方屏、宽屏,宽屏又分16:9和16:10。分辨率更是多种多样,这么多不同模式下得用户如何能看到外观整齐、一致的网站呢?人们发现一个奇妙的事情:960px的宽度是Very Good!无论什么屏,那种分辨率都通吃。
        现在有人专门开发了一组网站架构CSS规则,只要遵守这些简单的规则(其实就是class类),你就能快速设计出960px宽度的网页结构来。
        这,就是960Grid。
        官网:http://960.gs/
 
4、法律问题
    960网格系统的文件都是免费的,MIT / GPL开源许可协议。大家可以放心大胆使用。
 
5、如何使用960Grid框架?
(1)在html文件中引入相关的外部CSS文件:
  1. <link rel="stylesheet" href="css/reset.css" />
  2. <link rel="stylesheet" href="css/text.css" />
  3. <link rel="stylesheet" href="css/960.css" />
      在这必须解释一下,960.css为主要排版样式,缺它肯定不行。还有两个css文件:reset.css和text.css,它们的主要作用是为了消除浏览器间显示差异准备的,前者消除了html标签在各浏览器间的差异,而后者则主要针对的是字体。
 
(2)定义一个DIV大容器,放下整个页面:
  1. <div class="container_12">
  2. </div>
    这个DIV块一定要设定12列还是16列,其实不管12列还是16列宽度都是960px,只不过看你需不需要更细分的列了。
 
(3)在这个DIV大容器里开始布局网页,首先添加一个LOGO栏,这个栏横向跨越整个960宽度:
  1. <div class="container_12">
  2. <div class="grid_12"></div>
  3. </div>
    此时,注意了,在12列的container中,使用了一个12列的grid,下划线后数字就是该DIV所占的列数。当然为了布局方便,我们一定会加入更多的class或id的,最后如下:
  1. <div class="container_12">
  2. <div class="grid_12 logo"></div>
  3. </div>
    设置好.logo的CSS的高和背景图片后,能看到如下图所示的界面:
 
(4)设置导航栏
    刚才那个logo块其实已经完工了,但为了清除它对身后的CSS设置影响,建议在每个横向DIV大块做完之后,都加上class="clear"进行收尾。所以刚才的代码现在更改如下:
  1. <div class="container_12">
  2. <div class="grid_12"></div>
  3. <div class="clear"></div>
  4. </div>
    然后再加入导航栏的DIV块,和LOGO一样,也是一个横向大块,设置后代码如下:
  1. <div class="container_12">
  2. <div class="grid_12 logo"></div>
  3. <div class="clear"></div>
  4. <div class="grid_12 nav">
    • ...
  5. </div>
  6. <div class="clear"></div>
  7. </div>
    添加样式后,网页变为这样:
 
(5)添加PhotoSlide的位置
    一般网站为了漂亮和醒目,会在nav下加入photoslide,有的是js的,有的是flash的,但无论哪种都能把网站衬托起来。当然例子中就不真的放photoslide了。现在要把横行分为两个部分:left和right,left写文字,right放个图片提提神。
    按原案例样子,left会占据7列的宽度,right将占据5列的宽度,7+5=12列!所以一个class用grid_7,另一个用gird_5。然后直接在块后加上clear类。由于这两个块高度一致,边框也一致,所以都加入一个topslider类设置它们的共同特征。
    现在把代码写好:
  1. <div class="container_12">
  2. <div class="grid_12 logo"></div>
  3. <div class="clear"></div>
  4. <div class="grid_12 nav">
  5. <ul>...</ul>
  6. </div>
  7. <div class="clear"></div>
  8. <div class="grid_7 topslider"></div>
  9. <div class="grid_5 topslider"></div>
  10. <div class="clear"></div>
  11. </div>
    填入其它Html标记和各种素材,完成后,如下图所示:
 
(6)完成接下来的代码
    用两段grid_12的名为class="spacer"的div夹住四篇文章部分,四篇文章分别使用四个grid_3来完成。为什么是四个grid_3呢?横向12列,4篇等宽文章,每篇12/4=3!如果到现在你还有这个疑问,说明你其实没弄明白960grid的原理。建议回到页首再看下来。
    加入很多代码后:
  1. <div class="container_12">
  2. <div class="grid_12 logo"></div>
  3. <div class="clear"></div>
  4. <div class="grid_12 nav">
  5. <ul>...</ul>
  6. </div>
  7. <div class="clear"></div>
  8. <div class="grid_7 topslider"></div>
  9. <div class="grid_5 topslider"></div>
  10. <div class="clear"></div>
  11. <div class="grid_12 spacer"></div>
  12. <div class="clear"></div>
  13. <div class="grid_3"></div>
  14. <div class="grid_3"></div>
  15. <div class="grid_3"></div>
  16. <div class="grid_3"></div>
  17. <div class="clear"></div>
  18. <div class="grid_12 spacer"></div>
  19. <div class="clear"></div>
  20. <div class="grid_4 footer"></div>
  21. <div class="grid_4 footer"></div>
  22. <div class="grid_4 footer"></div>
  23. </div>
    然后添加内容,设置CSS,就是这个页面了:
 
    到目前为止,能明白960Grid原理就达到目的。接下来的是关于这个框架的高级内容部分。
 
高级部分:
(1)alpha和omega参数
    默认情况下,左右margin都是10px,则列间距为20px,但最左边的容器不需要左margin,最右边的容器不需要右margin,所以要改成这样,用alpha出去左margin,omega除去右margin:
  1. <div class="container_12″>
  2. <div class="grid_2 alpha">左侧导航栏</div>
  3. <div class="grid_8″>主版块</div>
  4. <div class="grid_2 omega">右侧广告栏</div>
  5. </div>
(2)prefix和suffix参数
    如同上面那两个margin快捷参数一样,不必非得单独为某个div单独命名id或class,960Grid已经提供了prefix和suffix来处理padding。左侧补白(padding-left)是prefix_i,右侧的是suffix_i。i的值就是补白所占的列数,比如你想左侧加2列补白,则可以使用:
  1. <div class="grid_5 prefix_2"></div>
    多简单。
 
(3)push和pull参数
    最绝的还是这两个参数,一般人用的不多。因为大家都满足自己的网页宽度是960px了,如果现在真想把其中一个涉及到图片或广告的div做到1024px宽,怎么办?其实很好解决,一个div做reletive,它的子div的为absolue并且left为负值就可以,但这种CSS有点麻烦。
    960Grid提供push和pull参数,push是推,pull是拉。关键是在什么位置推拉,就是说那里才是动作的起点?我们浏览网页时几乎都是自左向右看,所以该动作也以左侧为起点,现在想象你就站在最左边。push_i就是把一个块向右推移i个列宽,pull_i就是把这个块向左拉i个列宽。
    push和pull动作对其他兄弟块没有影响。可以直接推出960px去它就在整个网页右边独单显示了,也可以pull出来,就在左边单独显示了。有点像sohu侧边广告的感觉。上个图,直观感受下吧,但sohu可不是用push和pull做出来的,我的意思是和sohu的效果一样。
 
 
(4)clear参数
    class="clear",什么时候用呢。当你想换行的时候就使用它,即使一个横行只有grid_5和grid_4,就是说没有占满12列,也可以在其后增加一个让其后的任何内容都从下一行行首开始:
  1. <div class="clear"></div>
    如果遇到这种情况:
  1. <div class="grid_4"></div>
  2. <div class="grid_5"></div>
  3. <div class="clear"></div>
  4. <div class="grid_3"></div>
    原本横向占满12列的4+5+3,中间夹个clear。会发生什么事呢?grid_3这个块就会从下一个横行最左边出现。所以clear就是一个回车,相当于

块的
 
    好了总结下:
    A、margin参数是alpha和omega;
    B、padding参数是prefix和suffix;
    C、脱离文档流移动参数是push和pull;
    D、clear是块回车换行。
 
    就写到这里吧。五岳之巅原创,转载请注明出处。

CSS框架960Grid从入门到精通一步登天的更多相关文章

  1. Locust性能测试框架,从入门到精通

    1. Locust简介 Locust是使用Python语言编写实现的开源性能测试工具,简洁.轻量.高效,并发机制基于gevent协程,可以实现单机模拟生成较高的并发压力. 主要特点如下: 使用普通的P ...

  2. Python编程Web框架 :Django 从入门到精通

    Django是一个高级别的Python Web框架,它鼓励快速开发和干净实用的设计. 现在我们开始学习它. Django学习之 第一章:Django介绍 Django学习之 第二章:Django快速上 ...

  3. 26、ASP.NET MVC入门到精通——后台管理区域及分离、Js压缩、css、jquery扩展

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 有好一段时间没更新博文了,最近在忙两件事:1.看书,学习中...2.为公司年会节目做准备,由于许久没有练习双截棍了,难免生疏,所以现在临时抱 ...

  4. Spring Boot从入门到精通(十一)集成Swagger框架,实现自动生成接口文档

    Swagger是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.Swagger 是一组开源项目,其中主要要项目如下: Swagger-tools:提供各种与S ...

  5. 【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 目录索引

    索引 [无私分享:从入门到精通ASP.NET MVC]从0开始,一起搭框架.做项目(1)搭建MVC环境 注册区域 [无私分享:从入门到精通ASP.NET MVC]从0开始,一起搭框架.做项目(2)创建 ...

  6. 22、ASP.NET MVC入门到精通——搭建项目框架

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 前面的章节,说了ASP.NET MVC项目中常用的一些技术和知识点,更多的是理论上面的东西,接下来,我将通过一个简单的OA项目来应用我们之前 ...

  7. HTML、CSS、JavaScript网页制作从入门到精通 (刘西杰) pdf扫描版彩色版​

    html.css.JavaScript网页制作从入门到精通中从基础知识开始讲起,如html的基本标记.文字与段落标记.表格标记.超链接标记……同时介绍了目前流行的web标准与css网页布局实例,以及基 ...

  8. CSS+DIV网页样式布局实战从入门到精通 中文pdf扫描版

    CSS+DIV网页样式布局实战从入门到精通通过精选案例引导读者深入学习,系统地介绍了利用CSS和DIV进行网页样式布局的相关知识和操作方法. 全书共21章.第1-5章主要介绍网页样式布局的基础知识,包 ...

  9. Spring Boot从入门到精通(九)整合Spring Data JPA应用框架

    JPA是什么? JPA全称Java Persistence API,是Sun官方提出的Java持久化规范.是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. ...

随机推荐

  1. 20155339 Exp6 信息搜集与漏洞扫描

    20155339 Exp6 信息搜集与漏洞扫描 实验后回答问题 (1)哪些组织负责DNS,IP的管理. 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器.DNS和IP地址管理. ...

  2. 7、Class文件的格式

    Class文件的格式 1.magic(魔数) 身份标识,用来标记这是不是一个CLASS文件 CLASS的魔数比较有浪漫气息,是0xCAFEBABE(咖啡宝贝),也标识着将来JAVA咖啡商标: 2.之后 ...

  3. 记录一次 @Autowired 无法注入( spring依赖正常 idea显示有spring已注入的图标)导致空指针异常的原因

    首先,参考 https://blog.csdn.net/weixin_40475523/article/details/81085990 然后发现 是因为我把自己的这个类加上了 @Service 注解 ...

  4. 手撸orm框架

    一 前言 1 我在实例化一个user对象的时候,可以user=User(name='lqz',password='123') 2 也可以 user=User() user['name']='lqz' ...

  5. 取两张mysql表中分别两个字段相同的值

    看起来有点绕口吧,举个例子吧,如图 两张表,字段名也不同字段gs 和另一张表 gsmc  的有些值是相同的 我们要做的就是把这个相同的值找出来 会写这个sql语句就可以 只写重点 $sql2 = &q ...

  6. jinkens 构建java及vue 项目

  7. EVA索赔系统JAVA拦截例外站点

    控制面板->JAVA->JAVA控制面板->安全->添加以下例外站点: https://aftersales.i.daimler.com https://swdist.afte ...

  8. Selenium+Python自动化测试环境搭建和搭建过程遇到的问题解决

    环境搭建: 第一步:安装Python  网址:https://www.python.org/ 按照如图提示安装,并且配置环境变量(安装时候选中pip会自动安装Python的包管理工具 pip,推荐选择 ...

  9. 《LINUX内核设计与实现》第五章学习总结

    一.与内核通信 系统调用:用户控件进程和硬件设备之间添加了一个中间层 系统调用的三个主要作用: 为用户空间提供了一种硬件的抽象接口 系统调用保证了系统的稳定和安全 每个进程都运行在虚拟系统中,而在用户 ...

  10. 团队项目7——团队冲刺beta版本目录

    Beta版本冲刺计划及安排http://www.cnblogs.com/zy-96/p/8017331.html 第二次项目冲刺(Beta版本12.04) www.cnblogs.com/zy-96/ ...