Html 等于缩略图的高度
我每个Twitter引导行有3个Html 等于缩略图的高度,html,css,twitter-bootstrap,Html,Css,Twitter Bootstrap,我每个Twitter引导行有3个缩略图span3元素,但是文本是可变的,这会破坏布局。如何将每个缩略图设置为最大缩略图的高度,使其正确流动 <div class="box_line" style="float: left; border: 1px solid red;"> <div class="thumbnail span3"> <img src="http://placehold.it/260x180" alt=""/> <div
缩略图span3
元素,但是
文本是可变的,这会破坏布局。如何将每个缩略图设置为最大缩略图的高度,使其正确流动
<div class="box_line" style="float: left; border: 1px solid red;">
<div class="thumbnail span3">
<img src="http://placehold.it/260x180" alt=""/>
<div class="caption">
<h5>Thumbnail label</h5>
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
</div>
</div>
</div>
缩略标签
我是奥迪奥先生,我是艾格斯塔·艾格特·奎姆先生。Donec在eget metus为非mi porta孕妇确定了最佳身份。我不知道是谁干的,我不知道是谁干的
我还没有找到一个可以执行此操作的jQuery插件,中的解决方案对我也不起作用。试试这把小提琴:(我使用了您在评论中链接的脚本)
无论如何,请确保只有在加载所有缩略图后才调用该函数,否则可能会得到错误的值
function equalHeight(group) {
var tallest = 0;
group.each(function() {
var thisHeight = $(this).height();
if(thisHeight > tallest) {
tallest = thisHeight;
}
});
group.each(function() { $(this).height(tallest); });
}
$(document).ready(function() {
equalHeight($(".thumbnail"));
});
CSS解决方案是使用clear:left代码>用于应位于行中第一位的每个缩略图。如果您事先知道一行中的缩略图数量,则此操作有效
我使用以下css类:
ul.thumbnails.per6 > li:nth-child(6n+1) {
clear: left;
}
HTML如下所示:
<ul class="thumbnails per6">
<li class="span2">
<div class="thumbnail">...</div>
</li>
</ul>
-
...
请参阅以获取浏览器支持。我知道我来晚了,但这里是Fabrizio答案的一个方便的变体,包装为jQuery插件:
(function($) {
$.fn.uniformHeight = function() {
var maxHeight = 0,
max = Math.max;
return this.each(function() {
maxHeight = max(maxHeight, $(this).height());
}).height(maxHeight);
}
})(jQuery);
…并使用它:
$(".thumbnails").find(".thumbnail").uniformHeight();
另外,如果您的缩略图包含图像,请确保在触发窗口加载事件后调用此选项。只需设置最大高度即可
.caption p {
height: 120px;
}
对于有响应的站点,您可能需要在调整窗口大小时更新高度。我扩展了Tim Lowrimore的uniformHeight
插件,使用了Gaby aka G.Petrioli的巧妙技巧,使用wrapInner获得元素内容的高度
我喜欢蒂姆的回答,以下是我的一行文字版本:
$(".thumbnail").height(Math.max.apply(null, $(".thumbnail").map(function() { return $(this).height(); })));
通过点头来获取数组的最大值。这是css中的代码
/*in css*/
.thumbnail img{
height:100px;
}
/或者直接添加到内联/
就这样 使用css flexbox,可以使用css使缩略图的高度相等
这里有最好的例子
。等高缩略图{
显示:-webkit flex;
显示:-ms flexbox;
显示器:flex;
-webkit柔性包装:包装;
-ms-flex-wrap:wrap;
柔性包装:包装;
保证金:0;
填充:0;
列表样式:无;
}
.等高{
宽度:22%;
利润率:0.1%20px;
填充:0.5%;
背景:#FFF;
长方体阴影:0 1px 1px rgba(0,0,0,0.1)
}
.等高缩略图{
显示:块;
保证金:5px0;
填充:0;
}
.等高缩略图img{宽度:100%;}
.caption{填充:2%;}
-
Lorem ipsum dolor sit amet,是一位杰出的献身者。佩伦特·埃尼姆和奥古斯·马蒂斯是临时的猫咪
-
Lorem ipsum dolor sit amet,是一位杰出的献身者。阿利奎姆·埃拉特·帕特。库拉比图尔、洛雷姆·伊普苏姆·多洛·希特·阿梅特、康塞特图尔·阿迪皮斯精英。佩伦特·埃尼姆和奥古斯·马蒂特·费利斯。阿利奎姆·埃拉特·帕特。库拉比图尔
-
Lorem ipsum dolor sit amet,是一位杰出的献身者
-
Lorem ipsum dolor sit amet,是一位杰出的献身者。佩伦特·埃尼姆和奥古斯·马蒂斯是临时的猫咪。阿利奎姆·埃拉特·帕特。库拉比图尔
-
Lorem ipsum dolor sit amet,tempor nec eget felis。阿利奎姆·埃拉特·帕特。库拉比图尔
-
Lorem ipsum dolor sit amet,是一位杰出的献身者。佩伦特·埃尼姆和奥古斯·马蒂斯是临时的猫咪。阿利奎姆·埃拉特·帕特。库拉比图尔
-
Lorem ipsum dolor sit amet,是一位杰出的献身者。佩伦特·埃尼姆和奥古斯·马蒂斯·泰尔纳比托
只需在下面添加css即可解决您的问题
.container{
display: flex;
flex-wrap: wrap;
}
你可以在这里看到结果。
很抱歉,我不懂你的英语:你说的“每次元素中的文本都有其他高度”是什么意思,以及“最高的缩略图”是什么意思?也许这很有用,知道为什么你希望所有具有相同高度的框尝试不同的方法(css纯)@GeorgeKatsanos有时p标记中的文本可以有10个字符,有时300个字符=>p中的文本将在一行中,或者也可以在5行中。“最高缩略图”是指具有最高高度的缩略图(因为p中有可变文本)@FabrizioCalderan,因为我试图获取。(这个例子对我不起作用)@user984621也许你正在尝试在完整图像加载之前获取列的高度。你能提供一个你所做的演示吗?但问题是,这个示例在Chrome中不起作用-这里是通过第一个框设置行的高度(在FF中它起作用。)嗨,Fabrizio,你能再给我发一次Chrome的补丁吗?如果能在这个答案中看到代码就好了,而不必遵循链接代码>应为var=0代码>。否则,这将成为窗口
对象上的全局属性:-(这是非响应性的,这违背了使用Twitter引导的缩略图
的主要目的,因为如果图像(以及其他可能的元素)碰巧有不同的高度,同样的问题也会发生。包括我自己在内,这是一个挫折点,但这不是一个灵活的解决方案。这工作非常完美,直接插入我的引导设置,其中有未知数量的可变高度指标。感谢!+1提到等待所有图像loadedIt不起作用。你知道吗让所有人都使用相同的内容
/*in css*/
.thumbnail img{
height:100px;
}
<img="imglinkwhateveryouwant" style="height:100px;">
.container{
display: flex;
flex-wrap: wrap;
}