960网格系统(5)
作者:kinsuhoo 来源:译言 发布时间:2009-02-17 12:22:00
列
960网格系 统中与Blueprint有着不少大不相同的地方,除了命名规则不一样外,还有各列获得各列之间的间隔的方式也大不相同。在Blueprint中,每个列 直接的间隔都是10px(对我来说,觉得太少了),而且都是在列的右边。每行的最后一列要用class=”last”来去掉它本身的右边的间隔。这意味着 不管在容器的左边还是右边,都必须会有空隙。在大多数的情况下,这不会有什么大问题,但是如果如果用户的使用了特殊的浏览器,实际上使用Chrome浏览 器时就会显示出不正常。
在960网格系统里,每一列都是左右各有边距10px,这是考虑到有些容器会留有10px作为边上的缓冲,而且列与列中间的宽度会达到20px,还有一个就是:没有必要在每行最后一列额外的指定class来清除多余间隔。
在少数情况下,你可能需要将一个网格嵌套在另一个网格里面。在这种情况下,你需要用class=”alpha”,用在嵌套在里面每一行的第一个网格,用class=”omega”在嵌套在里面的网格的每一行的最后一个网格。这稍微增加了你工作量,但是这就是比较边缘的情况,并不会出现得太多。
我特地选用了这样一种方式约定命名规则,使用grid_xx,出于以下几种考虑,假如用span-xx这类会容易把人弄糊涂,因 为<span>,<td colspan=”x”>和<colgroup span=”x”>在HTML标签早已存在了。我想只有在这几个标签或属性没有被使用的情况下我才选择这个命名规则。同时我也不喜欢一而再的用这种 ——class=”column…”,虽然这个方法是不错的,但是Bluprint那伙人在最近的项目中把这个东西用滥了。
你通过给网格样式用prefix_XX 或者suffix_XX组合控制,就可以很容易的在每个单元网格的前面或后面添加空白的列(栏),这很像Blueprint。命名规则其实是按个人喜欢,就像我确实很容易就被诸如“Append”这些词搞昏头,所以还是少惹它为妙。
IE浏览器
今天又不少人问我有关960网格系 统的IE兼容的问题,还有压缩包里面为什么ie.css这个文件?简单的说,本系统根本不用进行修补来适应IE浏览器。IE6有个顽固的问题,就是在任何 浮动的元素的margin显示上都会是控制上的两倍。或者这是个大问题,但是在那些浮动的元素样式控制上添加display:inline后能很好地解决 这问题。这方法对其他浏览器也没有任何副作用,所以在在主样式表——960.css里很容易找到这段代码。
你也许也会发现<hr />在IE6和IE7下,在画出的横线的四方都会有些空隙,其中上下各有大概7个像素的空隙。通过调节<hr />的margin属性很容易解决这个问题。对于我来说,这个问题还可以接受,并不值得通过再加css控制来修复它。假如你非要给解决这个问题的 话,你单独写个css来兼容IE浏览器吧,记住,要单独写个css文件和做好标注。
清除元素
最后一点,我想说说960.css中的清除元素的方式。这是我个人最喜欢的部分,通过添加极少数标签就可以清除任何元素。由于我之前已经大篇幅说过 了这问题,这里就不再展开细说了。基本上,通过添加“class=”clear””在对应的你希望消除的<span>或者<div& gt;这类的标签里,就可以让对应内容“消失”。唯一的影响就是它同时会消除浮动。
对于一些不想将自己HTML代码弄得“如此混乱”的人,其实还有其他清除的方法——你可以通过CSS来增加标签,而这种方法已经有非常丰富的文档可参考。实际上,通过添加class=”clearfix”到元素里,是清除元素后方的内容。
使用许可
整个源代码压缩包是完全免费的,许可发布遵循GPL和MIT。其实我也不是非常清楚这两个东西,按我理解遵循这两个许可证发布协议以为着你可以将我的代码用在任何情况下(商用或者自用)。在这我尤其要感谢我的朋友Michael Montgomery ,感谢他那些不是很专业的建议,感谢他帮我在各种法律术语之间理清了思路。他白天是个有资质的律师,晚上则是网络武士,帮我修饰960网格系统的文字资料。
尾声
好了,伙计们,就这样了。真心希望960网格会对你们的画草图,搭建框架,网页设计/编码等工作有所帮助。


猜你喜欢
- 1 概述在前面,我们已经对Python学习做了系统的知识梳理(Python思维导图),我们接下来把知识点分节进行细讲。这一节,我们讲解序列。
- 别误会,IE是不支持CSS3高级选择器,包括最新的IE8(详见《CSS选择器的浏览器支持》),但是CSS选择器的确是很有用的,它可以大大的简
- 问题:如何用ASP实现点击数统计?比如我要实现某篇文章被浏览一次就增加一个点击数,该怎么做?回答:就是说,比如,你的页面是:shownews
- 一、两层结构的ASP应用有何缺点 在Browser/Server 应用程序开发领域,微软公司的IIS/ASP以其强大的功能,良好的扩展能力,
- 前言这几天caffe2发布了,支持移动端,我理解是类似单片机的物联网吧应该不是手机之类的,试想iphone7跑CNN,画面太美~作为一个刚入
- salt分发后,主动将已完成的任务数据推送到redis中,使用redis的生产者模式,进行消息传送#coding=utf-8import f
- Redis数据类型String:二进制安全,可以包含任何数据Hash:一个键值(key=>value)对集合List:简单的字符串列表
- 一、概述现有一个wenda1.xlsx文件,内容如下:需要将faq记录合并为一行,效果如下:注意:faq记录,每一行用||来拼接。二、多行转
- 可输入的下拉列表框(select),这个不同于网页上常见的下拉列表框,那个是只能选择不能输入的,而这个是可以自己输入文字的。例如:我们最常见
- 有时候,我们可能想在django中写一些代码来测试某些功能,我们希望在django项目中单独运行某个python文件来做这项测试工作。但是如
- 同一进程下的多个线程共享内存数据,多个线程之间没有主次关系,相互之间可以操作;cpu执行的都是线程,默认程序会开一个主线程;进程是程序以及和
- 1.打包项目期间遇到的坑,提前说下,避免重复工作。1.1打包的app出现白屏。出现原因:路径不对,需要改config\index.js解决办
- 模板图片如下:需识别的图片如下:一、模板预处理1.将模板设置为二值图2.检测模板的轮廓3.对模板轮廓排序,并将数字和轮廓一一对应,以字典存储
- var YX = { //得到JS内置数据类型的类型,返回值包括[Date,RegExp,Number,String,Array,Boole
- PyCharm 是我用过的python编辑器中,比较顺手的一个。而且可以跨平台,在macos和windows下面都可以用,这点比较好。是py
- 1.删除 1)删除记录 Delete from 表名 where id ='xx' 2)
- 计时器setTimeout()和setInterval()两个都是js的计时功能的函数两个有些区别。 setTimeout(): 在js手册
- 1. 手动操作1.1. 显示模块pip list1.2. 显示过期模块pip list --outdated1.3. 安装模块pip ins
- 本文实例讲述了python实现将元祖转换成数组的方法。分享给大家供大家参考。具体分析如下:python的元祖使用一对小括号表示的,元素是固定
- 什么是跨域跨域是浏览器的专用概念,指js代码访问自己来源站点之外的站点。比如A站点网页中的js代码,请求了B站点的数据,就是跨域。A和B要想