对于一个Android项目,我需要显示一个动态加载内容的视图(WebView)。
内容项将是<div class="content-item">
标记,在页面加载后由JavaScript
添加到<div class="content-holder">
。
设计如下:
关于如何使用css,javascript实现的任何想法?
答案 0 :(得分:1)
您可以遍历内容项,检查它们是否适合列,如果不符合,则创建一个新列并将其余项目移动到新列...就像这样:
$(".content-item").each( function() {
// iterate the content items and see if the bottom is out of the container
var bottom = $(this).position().top + $(this).height();
if ( bottom > $(this).parent().height() ) {
// shift it and following content items to new column
columnShift( $(this) );
}
} );
function columnShift( el ) {
var parent = el.parent();
var container = $(".content-container");
// create a new column
var newCol = $("<div class='content-holder'></div>");
// get the content items that don't fit and move them to new column
el.nextAll(".content-item").appendTo( newCol );
el.prependTo( newCol );
// widen the parent container
container.width( container.width() + parent.width() );
// add the new column to the DOM
parent.after( newCol );
}
使用html
<div class="content-container">
<div class="content-holder">
<div class="content-item"></div>
<div class="content-item"></div>
<div class="content-item"></div>
<div class="content-item"></div>
<div class="content-item"></div>
</div>
</div>
包含任意数量的.content-item div,包含任意数量的内容
和
的css.content-holder {
float: left;
width: 300px;
height: 300px;
border: 1px solid #000000;
overflow: hidden;
margin: 5px;
padding: 10px;
}
.content-item {
max-height: 280px;
overflow: hidden;
}
我确信你可以让代码更聪明,但这应该是一个开始