有没有办法在多列中对齐项目,列数取决于最宽的项目?项目高度和容器宽度都是固定的,但项目宽度是动态的.
我正在寻找一种只有CSS的方法来实现以下行为:
(假设父容器的宽度为300px.)
- 如果最宽的项目大于150px,请使用单个列
- 如果最宽的项目介于100px和150px之间,请使用两列
- 如果最宽的项目小于100px,请使用三列
- ...
- 如果最宽的项目小于容器宽度/ N,请使用N列
获得此行为的一种可能方法是使用JavaScript并使用JavaScript display:inline-block将width属性设置为容器中最宽元素的宽度.
请参阅此JSFiddle以获取示例:
但是,我认为应该只有CSS这样做.可能吗?
如果没有,也许有一种优雅的CSS方式将动态大小的项目分发/捕捉到具有固定宽度的容器中的列?
我只是通过jQuery API,我对map()&get()方法有点困惑.我知道我错了,但这个map()方法看起来很像一个.each()陈述?除了文档说它返回一个新的jQuery对象.
我一直在玩jsfiddle试图让我的头围绕它,但我不是那里. 这是jsfiddle链接:
这里还有代码片段:
$.fn.equalizeHeights = function() {
var two = $(this).map(function(i, e) {
return $(e).height();
});
console.log(two);
console.log(two.constructor);
console.log(two.get());
console.log(two.get().constructor);
return this.height(Math.max.apply(this,two.get()));
}
$('input').click(function() {
$('div').equalizeHeights();
});
Run Code Online (Sandbox Code Playgroud)
我看到他们正在使用原型扩展jQuery来创建一个名为的函数equalizeHeights().并$(this)表示页面上所有"div"元素的选择器.在map()通过每个项目的通话迭代的div的数组中,并返回其高度?但我感到困惑的是我正在登录控制台.一个是一个object,另一个是array?
有人可以详细说明这段代码中的内容map()和内容get()吗?
提前致谢.
我对javascript/jquery的东西很新,但我想用它做这样的事情:
我有四个这样的div并排在每个div中.现在,如果一个人有更多的内容,它会变得更高.即使他们没有那么多内容,我也希望其他div也高.所以基本上我希望脚本通过div并检查高度并将所有div高度设置为与最高div相同.希望你明白:)
我有一个自定义JavaScript对象的数组,它有一个名为的属性order.我有一个这个对象的数组,我想得到具有最高"顺序"的项目.
由于我对jQuery相对较新,并且来自C#背景,这是我非常欣赏LINQ的实例之一:)
无论如何,长话短说,我已经检查了以下链接,但他们只返回值而不是数组元素本身的引用...所以有一点帮助改变它返回元素将不胜感激.
有问题的自定义对象(我有一个数组)如下:
var severity = function (key, value, order) {
this.key = key;
this.value = value;
this.order = order;
};
Run Code Online (Sandbox Code Playgroud) 我有一个 div 并且不止一个数据通过 jstl 标签进入这个 div。我想找到最大内容 div 高度。我看到了一个链接,但它每次都显示在警报中 20. 具有一组元素中最大高度的元素
JSP
<div id="div-height" class='cat-product-name'>${i.name} </div>
Run Code Online (Sandbox Code Playgroud)
爪哇脚本
$(window).load(function () {
var maxHeight = Math.max.apply(null, $("#div-height").map(function ()
{
return $(this).height();
}).get());
alert(maxHeight);
});
Run Code Online (Sandbox Code Playgroud)
我想找到 div 的最大高度并设置每个 div 的高度。