YUI Grid CSS为100%宽度页面,具有自定义模板宽度

时间:2009-06-25 19:04:57

标签: html css yui

我使用Yahoo的UI网格来构建我的大部分页面。我的一个页面是Google地图,我需要大约400像素的固定左列来放置地图图例信息。然而,YUI Grids只为其100%页面布局提供3列,即160px,180px和300px。

有没有办法可以自定义'模板3',它提供300px列来获取我需要的400px色谱柱?

2 个答案:

答案 0 :(得分:2)

我已经决定如何做到这一点。感谢Nate在YUI论坛中为我指明正确的方向。

要设置固定的左列,您需要将列像素宽度除以13,以确定所有非IE浏览器的em。对于IE,将列宽除以13.3333

e.g。想要一个固定的480px宽度,480/13给我36.9231em非IE和480 / 13.33正好是36em for IE

使用模板3,CSS是:

.yui-t3 .yui-b {
  float: left;
  width: 12.3207em; *width: 12.0106em;
}

.yui-t3 #yui-main .yui-b {
  margin-left: 36.9231em; *margin-left: 36em;
}

另外,如果你想调整保证金,例如零保证金,您可以执行以下操作:

#doc3 {
  margin: auto 0;
}

网格目前在YUI 3中被弃用 - 当我看到它时有点震惊。将有一些浏览器在7月份退出A类别,因此,由于一些初步设计决策基于旧版浏览器,因此网格将被重新设计。

答案 1 :(得分:0)

肯定有办法。我认为这只是调整CSS以添加另一个400px列,或修改现有列以满足您的需求。如果要添加其他列,请务必考虑其他宽度(加上边距)并减小其他元素的宽度,或者增加包含元素的宽度。

如果布局使用100%宽度的浏览器,宽度可能不是问题,但如果您的内容包装在容纳所有列的容器元素中,请务必调整现有元素以弥补新列的大小。

编辑:此外,如果您正在处理100%宽度布局,最好使用百分比来调整列的大小,而不是固定的像素大小。由于列的包含元素将是用户的屏幕,因此如果使用百分比,则列大小应相对于其分辨率/窗口大小进行调整。

如果您希望新列显示在其他列的左侧,通常会将其放在标记中的其他列之前,并应用“float:left”属性。但是,看看如何在YUI CSS中设置其他列,并按照他们的方法。

我希望有所帮助。

橡子