10

我刚刚开始为自己开发一个爱好网站,并尝试使用960 css 网格系统在屏幕上布局我的 html 元素。

我有了基本的想法,刚刚在我的服务器上实现了一个骨架网站

到目前为止,我有几个问题:

<div class="container_12">
<div class="grid_12">
    <div id='top_bar' class='grid_insider'><!-- start of #top_bar -->

        <ul id='top_menu' class='grid_5'><!-- start of #top_menu -->
            <li>Home</li>
            <li>Fake1</li>
            <li>Fake2</li>
            <li>Fake3</li>
        </ul><!-- end of #top_menu -->
        <ul id='user_panel' class='grid_2 prefix_4'><!-- start of #user_panel -->

            <li>log in</li>
            <li>faq</li>
        </ul><!-- end of #user_panel -->

    </div><!-- end of #top_bar -->
</div>
<div class="clear"></div>
<div id='title_bar' class="grid_12">
    <h1 id="logo" align='center'>LOGO, TITLE and SLOGAN all go here!</h1>

</div><!-- end .grid_1 -->
<div class="clear"></div>

我正在使用基于网格 12 的模板,因此每个“行”上的“网格”总数应该是 12。但是,我只能在同一“行”上制作两个元素,网格总数加起来为 11 ,但不是 12。如果我将 #user_panel" 的类更改为 "grid_3 prefix4",那么实际上会将这个元素带到下一行,这会破坏一切。

另一件事是,虽然 top_bar 和 title_bar 等第一级元素在正确的位置(您可以使用方便的 Firefox 插件gridfox 确认),精确宽度为 940px,嵌套网格不在他们应该的位置是(有点远离设计的位置)。

我是这个 CSS 网格系统的新手,有没有更好的方法来管理嵌套元素?我不得不说 960.gs 上的一些示例网站非常令人惊叹:)

感谢您提前提出任何建议!

更新信息

好的,根据下面的答案,我认为在调试嵌套网格时仍然可以使用彩色边框,有一种“作弊”的临时方法:

.grid_insider
{
    border : 1px solid red;
    margin : -1px; /* this will stop the element from 'expanding' its space */
}
4

2 回答 2

14

不确定您是否还没有意识到,但该框架确实为嵌套元素提供了一种方法。

/* `Grid >> Children (Alpha ~ First, Omega ~ Last)
------------------------------------------------*/

.alpha {
    margin-left: 0;
}

.omega {
    margin-right: 0;
}

这会覆盖它们为所有网格元素提供的边距,从而允许侧面的元素靠在其容器的侧面。

你需要做的是给左边的菜单栏alpha类,右边的omega类。然后,您必须删除添加到这两个元素及其容器的所有边框。这是因为 CSSfloat非常精确,如果您使元素大于定义的框架,则会损坏。

如果您需要添加边框,则必须添加一些额外的样式来覆盖这些样式,并为它们提供比框架中定义的宽度小两个 px(边框的每一侧一个)的宽度。

于 2010-08-31T11:43:58.397 回答
2

和一个很晚的答案....

使用任一轮廓作为边框

`outline: 1px solid red;`

或使用 box-sizing

     .gridInsider {
       -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
       box-sizing: border-box;
     }
于 2012-09-19T13:33:23.940 回答