javascript - 根据列表中的最大高度/宽度调整所有元素的大小

标签 javascript html css

我有这个列表

<ul>
    <li><img src="https://via.placeholder.com/650x100"></li>
    <li><img src="https://via.placeholder.com/150x350"></li>
    <li><img src="https://via.placeholder.com/100"></li>
    <li><img src="https://via.placeholder.com/350x350"></li>
</ul>

每个 li 都有不同的宽度和高度。我需要按如下方式呈现:

1) Each li needs to have the width of the widest li
2) Each li needs to have the height of the tallest li 
3) There is a max-width and max-height for li

因此,使用 Flexbox 我可以轻松满足 1) demo 但是我不能用css满足宽度和高度。这里的首选解决方案是什么。如果没有 javascript,这甚至可能吗?

更新:我已经实现了建议 here

最佳答案

无法检索未知高度并将其存储为变量 CSS甚至使用像 SASS 这样的预处理器, 所以没有办法用 CSS 做#2独自的。我知道您希望获得纯粹使用样式表的东西,但我提供了一个干净的示例,说明如何通过组合 CSS 来实现#1 和#2。和 jQuery .

希望对您有所帮助!

var tallest;
$('li').each(function() {
  tallest = tallest > $(this).height() ? tallest : $(this).height();
});

$('li').each(function() {
  $(this).height(tallest);
});
li {
  border: 1px solid gray;
  width: 100%;
  list-style-type: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li><img src="https://via.placeholder.com/650x100"></li>
  <li><img src="https://via.placeholder.com/150x350"></li>
  <li><img src="https://via.placeholder.com/100"></li>
  <li><img src="https://via.placeholder.com/350x350"></li>
</ul>

关于javascript - 根据列表中的最大高度/宽度调整所有元素的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49800694/

相关文章:

javascript - 防止用户跳过我的测验问题

javascript - 从数组中随机选择对象

javascript - 检索索引 ul li 列表

css - 在 VS 2008 中注释 CSS 的快捷方式

jquery - :hover styles don't work

javascript - 动态地将文本文件读入页面

javascript - 将 http 请求中的数据保存到数组中,以 json 形式发送回客户端

html - Clearfix 不适用于所有页面

css - 如何创建语音识别后自动搜索的搜索引擎

html - Phonegap Scaling 困惑和字体大小缩放