`

960 Grid System 基本原理及使用方法

 
阅读更多

960-网格系统

由于一些读者对于960 Grid System CSS Framework的原理和使用方法比较感兴趣,暴风彬彬今天将和大家一同分享这篇关于960 grid CSS Framework的基本原理和简单的使用方法。

关于CSS框架其实一直是一个比较热门且很有争议的话题,的确,国内的一些前端er们越来越关注CSS框架,并都开始尝试使用,觉得CSS框架能够节省更多的开发时间,显著提高工作效率。当然,还有很多人持相反意见,认为CSS并没有这么高级以至于要涉及到框架!我记得在cnBeta上曾经有位程序员讽刺道:”这年头,连CSS都有框架了?!”。今天暴风彬彬并不是要向大家介绍什么是CSS框架,也不会介绍各种CSS框架的优缺点。只是要讲解一下目前在国外很热门的一个框架,严格讲是网格系统,那就是960 Grid System。通过这篇教程你会知道使用960框架之后,你的开发工作会更快的开展。

如果您对其他CSS框架也很感兴趣或想了解更多CSS框架,您可以参考《精选15个国外CSS框架》。

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文件中的样式。当然,如果您感兴趣,也可以看看上面的实例添加样式后的实际效果

我们做到了

这是这样!你已经掌握的如何使用960网格系统来创建兼容所有浏览器的布局。当你完全掌握熟练960系统之后,你会发现它为你节省了很多很多编写CSS的时间。

分享到:
评论

相关推荐

    WPF实现控件拖动的示例代码

    实现控件拖动的基本原理是对鼠标位置的捕获,同时根据鼠标按键的按下、释放确定控件移动的幅度和时机。 简单示例: 在Grid中有一个Button,通过鼠标事件改编Button的Margin属性,从而改变Button在Grid中的相对...

    Bootstrap官网教程整理

    Bootstrap 网格系统(Grid System)的工作原理 21 媒体查询 21 网格选项 22 响应式的列重置 23 偏移列 25 嵌套列 26 列排序 28 Bootstrap 排版 31 标题 31 引导主体副本 33 强调 34 缩写 35 地址(Address) 36 引用...

    python2.7栅格数据批量转换投影

    python2.7栅格数据批量转换投影:ProjectRaster_management (in_raster, out_raster, out_coor_system, {resampling_type}, {cell_size}, {geographic_transform}, {Registration_Point}, {in_coor_system}) ...

    Quartus_II使用教程

    Quartus使用入门及一些实验经验 Maxplus主要是教学使用,对于一般的教学需求,Maxplus软件可以很好的满足要求了, 但是为了以后学习的需要,还是得尝试学会使用更加专业的软件,比如Altera公司的Quartus 软件。 ...

    37篇经过消化云计算论文打包下载

    本文提出形成产品的系统应该为终端用户提供高度抽象的使用方法,以便容易表达,对于精密数据的工作量能高效的执行。文中提出了一个抽象的例子,all-pairs,他满足精密数据科学应用的需要。 19、 Seattle: A ...

    37篇经过消化的云计算论文

    本文提出形成产品的系统应该为终端用户提供高度抽象的使用方法,以便容易表达,对于精密数据的工作量能高效的执行。文中提出了一个抽象的例子,all-pairs,他满足精密数据科学应用的需要。 19、 Seattle: A ...

    深入浅出mfc简体中文版

    Template-Based Classes 的使用方法/ 471 CScribbleDoc 的修改/ 473 SCRIBBLEDOC.H / 475 SCRIBBLEDOC.CPP / 477 文件:㆒連串的線條/ 481 CScribbleDoc 的成員變數/ 481 CObList / 481 CScribbleDoc 的成員函式/ ...

    Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好

    6.这时软件自动添加基本的头文件,因为这个程序我们不需要其他的功能,所以 直接点击Next。 7.我们将base class 选为QDialog 对话框类。然后点击Next。 8.点击Finish,完成工程的建立。 9.我们可以看见工程中的所有...

    Python 科学计算

    2.2.5 ufunc 函数的方法.......................46 2.3 多维数组的下标存取....................48 2.3.1 下标对象.....................................48 2.3.2 整数数组作为下标.....................49 2.3.3 ...

Global site tag (gtag.js) - Google Analytics