我做了一个配电箱这样的:如何在使用动态身高父母时阻止儿童剪裁?
HTML
<section class="panel">
<div class="title">Hot</div>
<div class="content">
<a href="">Article</a>
<a href="">Article</a>
<a href="">Article</a>
<a href="">Article</a>
<a href="">Article</a>
<a href="">Article</a>
</div>
</section>
CSS
#body #rightPanel .panel {
width: 220px;
height: calc((100% - 160px)/2);
overflow: hidden;
}
#body #rightPanel .panel .content {
width: calc(100% - 2px);
height: calc(100% - 34px);
}
#body #rightPanel .panel .content a {
width: 100%;
height: 27px;
display: block;
}
面板上有根据视口大小动态的大小和工作非常如何我想要它。但是,如果你看下面的图片,你会发现一个明显的问题:最后一个元素被剪裁。
我怎么能只显示一个子元素只有如果他能完全显示?对儿童来说,这是一种什么都没有的?
我很喜欢纯粹的CSS解决方案,但我不介意使用一些JS/jQuery。
编辑
如果有人跌倒这里寻找答案:亚当的答案的作品,但最终裁剪比需要的多一个元素。我稍作简化了代码为:
function resizePanelArticles() {
var panelHeight = $(".content").height();
$("a").show().each(function() {
if ($(this).position().top > panelHeight) {
$(this).hide();
}
});
}
出于某种原因,当我遍历每个'了'元素你做到这一点,他们都返回完全相同的'位置()。top'(在我的情况下,在所有6种元素位置顶部636px) – Juicy
@Juicy hm,你可以尝试设置'.panel'的css'position:relative'吗?看看如果没有,我想我会看到它。你可以让它的小提琴不起作用吗? –
位置亲戚做的伎俩!我调整了一下你的代码,以获得确切的预期效果,但它总体上起作用! – Juicy