YUI Grids实现自定义宽度的Template

简介: 也许有些人不喜欢用YUI的CSS,但是我觉得这个对我来说,简直是太方便了,特别是如果你赞同Yahoo的栅格理论的话,YUI Css几乎可以用在你所有的项目上。但是也有缺陷,YUI预设的Template中只为我们提供了六种预设的模板,并没有像整个页面那样提供一个可以自定义的标签,那么当我们的需求需要实现不同的宽度的时候,就只有自定义了,我的目标是实现一个符合yui-t规则的自定义样式。

也许有些人不喜欢用YUI的CSS,但是我觉得这个对我来说,简直是太方便了,特别是如果你赞同Yahoo的栅格理论的话,YUI Css几乎可以用在你所有的项目上。但是也有缺陷,YUI预设的Template中只为我们提供了六种预设的模板,并没有像整个页面那样提供一个可以自定义的标签,那么当我们的需求需要实现不同的宽度的时候,就只有自定义了,我的目标是实现一个符合yui-t规则的自定义样式。

在进行之前,首先了解一下YUI所使用的尺寸单位:em。作为一个相对单位,1em是指当前一个字体的大小,例如你将一个字体设置为14px,那么1em=14px了。选用相对度量单位的好处就是我们可以更改网页中文字的大小,而且这个好像是美国的 803 法案要求网页必须对于视力弱的人所具有的功能。但并不是px就没有了作用,我们的页面必须限制在一个宽度范围内以防止变形,所以 min-width 的设置就必须用px了。

#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7 {
margin:auto;text-align:left;
width:57.69em;
*width:56.301em;
min-width:750px;}

下面进入正题,我需要设置一个页面宽度800px,然后右边有一个350px宽的侧栏,如何写呢?

先计算一下页面宽度:800/13 = 61.54em; (For None IE) 800/13.3333 = 60.00em; (For IE)

侧栏宽度:350/13 = 26.92em (For None IE) 350/13.3333 = 26.25em; (For IE)

那么参考 yui-t1 的写法,我们可以知道了:

.yui-t-custom, doc-custom { margin:auto; text-align:left; width:69.46em; *width:67.73em; min-width:750px; }
.yui-t-custom #yui-main { float:left; margin-right:-25em; }
.yui-t-custom .yui-b { float:right; width:26.92em; *width:26.25em; }
.yui-t-custom #yui-main .yui-b { margin-right:27.92em; *margin-right:27.25em; }

Ok,大功告成


参考资料:
1、YUI Css Grids and customization

相关文章
|
JavaScript
第4天:JS入门-给div设置宽高背景色
今天学习了js入门课程,听的不多,做了个小练习,给div设置宽高、背景色。一点点都是进步。核心代码如下: JS入门_设置div宽、高、背景色 *{ margin:0; padding:0; } h2{ float: left; } #span1{ width:100px; ...
984 0
|
JavaScript
js控制div颜色
#div1{width:400px;height:400px;background-color:red;} function blue(){ div1=document.getElementById('div1'); div1.
833 0
|
前端开发
css设置数组最后2个没有下边框效果(demo)整理
css设置数组最后2个没有下边框效果(demo)整理
|
Web App开发 前端开发 容器
CSS 美化滑动输入条 input range
CSS 美化滑动输入条 input range
CSS 美化滑动输入条 input range
|
Web App开发 前端开发
CSS Float 以及相关布局模式
float 取值 属性 值 描述   left 向左浮动   right 向右浮动   none 默认值   inherit 继承 看一个栗子 红色线框代表父元素   脱离文档流,其实也没有完全脱离,会被父元素的边界挡住。
980 0
|
9月前
|
前端开发
CSS关于默认宽度
CSS关于默认宽度
|
编解码 前端开发 JavaScript
@property自定义CSS属性,实现不一样的动画效果
@property是CSS的新特性,用于定义自定义CSS属性,并使这些属性可以在CSS中使用,当然也可以在JavaScript中使用。 @property 简介 @property允许开发者显示的定义
263 1
@property自定义CSS属性,实现不一样的动画效果
|
JavaScript
计算滚动条的宽度--js
计算滚动条的宽度--js
76 0

热门文章

最新文章