流体网格布局jQuery

时间:2009-08-21 12:12:51

标签: css layout grid fluid

我使用http://phase-change.org/jquery.gridlayout来实现布局中几个div的流畅布局。

我需要在右侧保留一个div,其中包含我的主菜单,剩下的只是内容div。

我无法弄清楚如何在不浮动菜单的情况下维护菜单,或者让网格元素尊重菜单并因其宽度而重新排列,它们只是重叠。

我的代码如下:

HTML:

<div id="menu">
</div>

<div id="content">



<div class="block">
<p>1</p>
</div>

<div class="block">
<p>2</p>
<p>2</p>
</div>

<div class="block">
<p>3</p>
<p>3</p>
<p>3</p>
<p>3</p>
</div>

<div class="block">
<p>4</p>
<p>4</p>
<p>4</p>
<p>4</p>
</div>

<div class="block">
<p>5</p>
<p>5</p>
<p>5</p>
<p>5</p>
<p>5</p>
<p>5</p>
<p>5</p>
</div>

<div class="block">
<p>6</p>
<p>6</p>
<p>6</p>
<p>6</p>
</div>

</div>

CSS:

#content.hasLayout {

position:relative;
margin-left:30px;

}

#block {

width:214px;
background-color:#CF0;
margin:30px 0 10px 0;

}

 #menu {
width:180px;
height:700px;
background-color:#669;
float:right;


 }

我之间的JavaScript&lt;头&gt;和&lt; / head&gt;:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
<script type="text/javascript" src="JQuery_Plug_ins/jquery.gridlayout.js"></script>

<script type="text/javascript">             

$(document).ready(function(){


 $('#content').addClass('hasLayout').gridLayout('div.block' , { col_widht:250, min_cols: 3 } );
                       });
</script>

我对java脚本知识不是很了解,我真的不知道甚至开始研究如何以这种方式实现它。

谢谢。

2 个答案:

答案 0 :(得分:1)

如果您对Javascript不了解,您可能不应该使用Javascript来设置您的网站样式。阅读原始的CSS fluid grid tutorial,了解如何在没有Javascript和jQuery的情况下布局流畅的网格。

答案 1 :(得分:0)

首先,保罗值得我感谢他的小编,但同样重要的编辑,让我思考,他只是将其中一个标签从jQuery更改为CSS。

在考虑了这个问题后,我意识到了一些事情:

  1. jQuery插件正在根据窗口大小进行调整

  2. 流体布局不是蛋糕! :p

  3. 我之前做了一个左边距,以便div在左边有一个边距。

  4. 我回到我的CSS并定义:

    #content.hasLayout {
    
    position:relative;
    margin-left:30px;
    **margin-right:180px;**   <------- Added this
    }
    

    现在我的流体div表现得并且不允许菜单重叠,因为菜单是“phisically”aprocahing它们而不是浏览器窗口的边缘。

    我不认为这是最佳解决方案,但它确实有效。