动态网格 CSS
Dynamic Grid CSS
如何实现这样的动态网格? :
我不知道如何正确构建 css 来实现这一点。目前,这是我的网格的样子:
这里是 fiddle 我一直试图解决这个问题的地方:
http://jsfiddle.net/qqeo9ety/2/
这是我当前的css:
blue {
width: 40px;
height: 40px;
margin: 5px;
background-color: blue;
float:left;
display:inline;
}
.red {
width: 90px;
height: 90px;
margin: 5px;
float:left;
background-color: red;
}
非常感谢您的任何想法!!
这样的怎么样?
<div id="container">
<div id="c1">
<div class="blue"></div>
<div class="blue"></div>
<div class="blue"></div>
<div class="blue"></div>
<div class="blue"></div>
<div class="blue"></div>
</div>
<div id="c2">
<div class="red"></div>
<div class="blue"></div>
<div class="blue"></div>
</div>
<div id="c3">
<div class="blue"></div>
<div class="blue"></div>
<div class="blue"></div>
</div>
</div>
加上以下 CSS:
#c1, #c2 {
width: 100px;
float: left;
}
主要思想是首先将其设置为三列。
Gridster
是一个 jQuery
插件,允许从跨多列的元素构建直观的 draggable
布局。尝试使用 GridsterJS. Live Demos.
HTML
<div class="gridster">
<ul>
<li data-row="1" data-col="1" data-sizex="1" data-sizey="1"></li>
<li data-row="2" data-col="1" data-sizex="1" data-sizey="1"></li>
<li data-row="3" data-col="1" data-sizex="1" data-sizey="1"></li>
<li data-row="1" data-col="2" data-sizex="2" data-sizey="1"></li>
<li data-row="2" data-col="2" data-sizex="2" data-sizey="2"></li>
<li data-row="1" data-col="4" data-sizex="1" data-sizey="1"></li>
<li data-row="2" data-col="4" data-sizex="2" data-sizey="1"></li>
<li data-row="3" data-col="4" data-sizex="1" data-sizey="1"></li>
<li data-row="1" data-col="5" data-sizex="1" data-sizey="1"></li>
<li data-row="3" data-col="5" data-sizex="1" data-sizey="1"></li>
<li data-row="1" data-col="6" data-sizex="1" data-sizey="1"></li>
<li data-row="2" data-col="6" data-sizex="1" data-sizey="2"></li>
</ul>
</div>
脚本
$(function(){ //DOM Ready
$(".gridster ul").gridster({
widget_margins: [10, 10],
widget_base_dimensions: [140, 140]
});
});
就是这样。它开始工作。您所要做的就是根据您的需要设置属性以enable/disable它在这个函数中的特性。
您可以enable/disable使用拖放功能,
// Disables drag and drop
$(".gridster ul").gridster().data('gridster').disable()
// Enables drag and drop
$(".gridster ul").gridster().data('gridster').enable()
这是一种在保留语义顺序的同时做到这一点的方法:
<div id="container">
<div class="blue">1</div>
<div class="blue">2</div>
<div class="red"></div>
<div class="blue b3">3</div>
<div class="blue b4">4</div>
<div class="blue b5">5</div>
<div class="blue b6">6</div>
<div class="blue b7">7</div>
<div class="blue">8</div>
<div class="blue">9</div>
<div class="blue">10</div>
<div class="blue">11</div>
</div>
.blue {
width: 40px;
height: 40px;
margin: 5px;
background-color: blue;
float:left;
display:inline;
}
.b3, .b6 {
float: right;
}
.b4, .b7 {
clear: both;
}
.red {
width: 90px;
height: 90px;
margin: 5px;
left: 110px;
float:left;
position: absolute;
background-color: red;
}
#container {
width: 250px;
}
如何实现这样的动态网格? :
我不知道如何正确构建 css 来实现这一点。目前,这是我的网格的样子:
这里是 fiddle 我一直试图解决这个问题的地方:
http://jsfiddle.net/qqeo9ety/2/
这是我当前的css:
blue {
width: 40px;
height: 40px;
margin: 5px;
background-color: blue;
float:left;
display:inline;
}
.red {
width: 90px;
height: 90px;
margin: 5px;
float:left;
background-color: red;
}
非常感谢您的任何想法!!
这样的怎么样?
<div id="container">
<div id="c1">
<div class="blue"></div>
<div class="blue"></div>
<div class="blue"></div>
<div class="blue"></div>
<div class="blue"></div>
<div class="blue"></div>
</div>
<div id="c2">
<div class="red"></div>
<div class="blue"></div>
<div class="blue"></div>
</div>
<div id="c3">
<div class="blue"></div>
<div class="blue"></div>
<div class="blue"></div>
</div>
</div>
加上以下 CSS:
#c1, #c2 {
width: 100px;
float: left;
}
主要思想是首先将其设置为三列。
Gridster
是一个 jQuery
插件,允许从跨多列的元素构建直观的 draggable
布局。尝试使用 GridsterJS. Live Demos.
HTML
<div class="gridster">
<ul>
<li data-row="1" data-col="1" data-sizex="1" data-sizey="1"></li>
<li data-row="2" data-col="1" data-sizex="1" data-sizey="1"></li>
<li data-row="3" data-col="1" data-sizex="1" data-sizey="1"></li>
<li data-row="1" data-col="2" data-sizex="2" data-sizey="1"></li>
<li data-row="2" data-col="2" data-sizex="2" data-sizey="2"></li>
<li data-row="1" data-col="4" data-sizex="1" data-sizey="1"></li>
<li data-row="2" data-col="4" data-sizex="2" data-sizey="1"></li>
<li data-row="3" data-col="4" data-sizex="1" data-sizey="1"></li>
<li data-row="1" data-col="5" data-sizex="1" data-sizey="1"></li>
<li data-row="3" data-col="5" data-sizex="1" data-sizey="1"></li>
<li data-row="1" data-col="6" data-sizex="1" data-sizey="1"></li>
<li data-row="2" data-col="6" data-sizex="1" data-sizey="2"></li>
</ul>
</div>
脚本
$(function(){ //DOM Ready
$(".gridster ul").gridster({
widget_margins: [10, 10],
widget_base_dimensions: [140, 140]
});
});
就是这样。它开始工作。您所要做的就是根据您的需要设置属性以enable/disable它在这个函数中的特性。
您可以enable/disable使用拖放功能,
// Disables drag and drop
$(".gridster ul").gridster().data('gridster').disable()
// Enables drag and drop
$(".gridster ul").gridster().data('gridster').enable()
这是一种在保留语义顺序的同时做到这一点的方法:
<div id="container">
<div class="blue">1</div>
<div class="blue">2</div>
<div class="red"></div>
<div class="blue b3">3</div>
<div class="blue b4">4</div>
<div class="blue b5">5</div>
<div class="blue b6">6</div>
<div class="blue b7">7</div>
<div class="blue">8</div>
<div class="blue">9</div>
<div class="blue">10</div>
<div class="blue">11</div>
</div>
.blue {
width: 40px;
height: 40px;
margin: 5px;
background-color: blue;
float:left;
display:inline;
}
.b3, .b6 {
float: right;
}
.b4, .b7 {
clear: both;
}
.red {
width: 90px;
height: 90px;
margin: 5px;
left: 110px;
float:left;
position: absolute;
background-color: red;
}
#container {
width: 250px;
}