关于CSS框架其实一直是一个比较热门且很有争议的话题,的确,国内的一些前端er们越来越关注CSS框架,并都开始尝试使用,觉得CSS框架能够节省更多的开发时间,显著提高工作效率。当然,还有很多人持相反意见,认为CSS并没有这么高级以至于要涉及到框架!在这里要讲解一下目前在国外很热门的一个框架,严格讲是网格系统,那就是960 Grid System。通过这篇教程你会知道使用960框架之后,你的开发工作会更快的开展。

960 Grid System 基本原理

不要编辑960.css

不要编辑960.css文件,如果你修改了它,那么你今后将无法更新这个框架。

读取网格

在我们使用外部文件中的CSS代码之前,首先要在我们的HTML文件中调用它们。像这样调用:

<link rel=”stylesheet” type=”text/css” media=”all” href=”path/to/960/reset.css” />
<link rel=”stylesheet” type=”text/css” media=”all” href=”path/to/960/960.css” />
<link rel=”stylesheet” type=”text/css” media=”all” href=”path/to/960/text.css” />

当我们调用好它们以后,我们要调用自己的CSS文件了。例如,你也许会将你的CSS文件命名为style.css或site.css或者其它什么的。这样调用它:

<link rel=”stylesheet” type=”text/css” media=”all” href=”path/to/style.css” />

Containers(容器)

在960框架中,你可以选择两种类名为.container_12 和 .container_16的容器。这两种容器都是960px的宽度(这就是为什么叫做960 grid),但他们的不同之处是它们包含不同数量的列。顾名思义,.container_12的容器被分为12列,而 .container_16被分为16列。这两种960px宽的容器都是水平居中的。

Grids (网格)/ Columns(列)

你可以选择很多种不同的列宽组合,不过在这两种容器中是有所不同的。你可以通过打开960.css来了解这些宽度,但这对于设计一个网站并没有什么必要。在这里将一个很有用的技巧让你使用框架更加容易。

例如:如果你想在你的容器中仅使用两列(分别是主内容区/侧边栏),你可以这样做:

<div class=”container_12″>
<div class=”grid_4″>sidebar</div>
<div class=”grid_8″>main content</div>
</div>

看到上面的代码你也许已经明白,不过我还是要讲一下。也就是说你在container_12这个容器中使用了grid_4和grid_8两列,4+8恰好等于12!明白了吗?使用网格系统的好处之一就是你不用去计算没列的宽度到底是多少,省去了很多运算。

下面让我们看看如何编写四列布局:

<div class=”container_12″>
<div class=”grid_2″>sidebar</div>
<div class=”grid_6″>main content</div>
<div class=”grid_2″>photo’s</div>
<div class=”grid_2″>advertisement</div>
</div>

正如你看到的,这个系统工作得很好。如果你尝试使用你的浏览器读取他的话,你会发现有一些不对劲的地方。不过不要紧,那正是我们下一个话题要讨论的。

Margins

默认情况下,每列之间都会存在一些margin。每个grid_(这里插入数值)类都有10px的左margin和右margin。也就是说两列之间的margin值是20px。

20px的margin能让布局保持应有的留白并看上去更平滑,这也是我喜欢960 grid System的原因之一。

在上面的例子中,我们将它使用浏览器读取时出现了一些问题,现在我们来修复它。

问题在于每个列都包含左margin和右margin,但是最左面的列不应该有左margin,最右面的列不应该有右margin。下面是解决方法:

<div class=”container_12″>
<div class=”grid_2 alpha”>sidebar</div>
<div class=”grid_6″>main content</div>
<div class=”grid_2″>photo’s</div>
<div class=”grid_2 omega”>advertisement</div>
</div>

你仅需添加alpha类来去除左margin,添加omega类去除右margin。好了,现在我们的布局已经可以完美在浏览器中对齐了。(是的,包括IE6)

Styling(添加样式)

事实上,你已经掌握了如何使用960框架创建基本的网格布局了。不过你也许还想为自己的布局添加一些样式。

<div class=”container_12″>
<div id=”sidebar” class=”grid_2 alpha”>sidebar</div>
<div id=”content” class=”grid_6″>main content</div>
<div id=”photos” class=”grid_2″>photo’s</div>
<div id=”advertisements” class=”grid_2 omega”>advertisement</div>
</div>

由于CSS使用优先级的形式来决定如何解释样式,而id要比class的优先级高。这样我们就可以在我们的独立CSS文件中以id选择符创建个性化的样式了。如果凑巧有的样式属性与960相同但值又不同,浏览器会优先选择你的CSS文件中的样式。

原文:http://blog.bingo929.com/960-css-framework-learn-the-basics.html

转载于:https://www.cnblogs.com/keenhome/archive/2010/12/05/1897155.html

css框架之960 Grid System 基本原理及使用方法相关推荐

  1. CSS Framework 960 Grid System (收)

    CSS框架 :960 Grid System  官网:http://960.gs/ 什么是框架?框架是一种你能够使用在你的web项目中概念上的结构.CSS框架一般是CSS文件的集合,包括基本风格的字体 ...

  2. compass安装使用960 Grid System

    960 Grid System 是一个CSS的页面布局框架 demo:  http://960.gs/demo.html 前提:安装Ruby .NodeJS 步骤1:在命令行下安装css插件: gem ...

  3. 10个值得关注的优秀CSS框架

    大多数做过网页设计的都知道"CSS框架",而且肯定有很多设计师已经开始在作品中使用CSS框架. 就像其他编程语言一样,CSS也可以把一些重复使用的代码整合起来,这样可以减轻很多的工 ...

  4. 精选15个国外CSS框架

    下面一起来了解一下各种不同的CSS框架吧: 1.960 Grid System 960网格系统是一个通过提供通常使用的尺寸简化网站开发流程的努力的结果,基于960像素的页面宽度.它有两种类型,12和1 ...

  5. 20个优秀的前端css框架

    前端开发并不难,但是要想做得优雅.健壮并不容易,使用一个好的前端框架能够帮你很多忙.本文列举了20个优秀的前端框架,供选择使用. 1. Twitter BootStrap (Apache v2.0:响 ...

  6. web前端开源框架_9个用于前端Web开发的开源CSS框架

    web前端开源框架 当大多数人想到Web开发时,通常会想到HTML或JavaScript. 他们通常会忘记对访问网站的能力有更大影响的技术: 级联样式表(CSS) . 根据Wikipedia的说法,C ...

  7. 介绍27款经典的CSS框架

    < DOCTYPE html PUBLIC -WCDTD XHTML TransitionalEN httpwwwworgTRxhtmlDTDxhtml-transitionaldtd> ...

  8. 27 款经典的CSS 框架

    27 款经典的CSS 框架 利用 CSS 框架,可以简化你的工作,提高工作效率.CSS 框架是一系列 CSS 文件的集合体,包含了基本的元素重置,页面排版.网格布局.表单样式.通用规则等代码块.下面给 ...

  9. 27款经典网站设计必备的CSS框架

    1. BlueTrip (网址:http://bluetrip.org/) BlueTrip 是一个集成了BluePrint & Tripoli 框架的做好的部分;Hartija 的打印样式; ...

最新文章

  1. 加入新e时代建站网后,我可以做什么
  2. 2020 ACM / ICPC 济南 A Matrix Equation (高斯消元、乘法原理)
  3. 百度推ACE交通引擎:不仅是无人车,车路协同新基建我也包了
  4. java的基本数据类型有
  5. Java并发—锁的使用及原理
  6. Dev C++ 运行后显示Failed to execute 文件夹位置: Error 0: 操作成功完成。(只需一步)
  7. 深度linux运行卡顿,Deepin很卡怎么办?Deepin卡顿解决方法盘点
  8. Android开发笔记(十六)秋千摇摆动画SwingAnimation
  9. 办公室局域网组建计算机网络,如何组建办公室局域网
  10. 游戏软件提示dll丢失、缺少dll等解决方法及dll文件大合集
  11. 【J2ME笔记】关于J2ME Image图片指定颜色透明化
  12. mrpt在win8.1 64bit + vs2013环境下的安装和编译
  13. NetApp存储设置时间报“date: cannot set date when NTP is running.”处理
  14. 数据分析 之 归因分析,多因素影响下如何归因?
  15. 038-拯救大兵瑞恩之 TiDB 如何在 TiKV 损坏的情况下恢复
  16. 理解SPI/Dual SPI/Quad SPI/QPI之间的区别
  17. Flink二:IngestionTime与ProcessingTime
  18. Leetcode466.统计重复个数——掐头去尾寻找循环点
  19. 小程序如何开通微信支付?
  20. 【java华为机试】HJ10 字符个数统计

热门文章

  1. 编译libav(ffmpeg)库
  2. u-boot2013.01.01 for s5pv210: u-boot启动流程
  3. nginx之Geoip读取地域信息模块
  4. 在做TLS/SSL时报错
  5. 【鬼网络】之远程访问及控制ssh
  6. java求质数为什么%3ci 2_C语言程序设计部分习题及例题参考程序
  7. linux fastQC 操作命令,linux-ubuntu下fastQC的安裝及使用
  8. 原生js已载入就执行函数_手写CommonJS 中的 require函数
  9. 阿里云低延时直播RTS能力升级,让直播推流效果更佳
  10. Quick BI:降低使用门槛,大东鞋业8000家门店的数据导航