2013-05-11 41 views
0

我使用的是div有一个固定的宽度,而div内我有以下CSS一个p确定Django模板元素的高度

height:100px; 
overflow:hidden; 

我希望我的模板显示MORE按钮,当文本溢出了段落元素并因此被隐藏。根据一个高度为100px的段落的框中有多少个单词,我可以得到一个合理的估计值,这个估计值可以工作90%。但是,这并没有解决诸如短文和换行符等文本块的问题。更不用说用户改变浏览器的默认字体大小了。我不太担心后者,但我真的很想能够准确地确定一个元素是否在django模板中溢出。

回答

0

作为一种替代方法,您可以使用css overflow-y属性,如果内容超出了容器的定义高度,将显示垂直滚动条。 div

overflow-y: scroll 
0

这听起来像是需要JavaScript解决方案。像this这样的东西来检查是否有溢出,那么你可以显示一个隐藏的MORE按钮,如果是的话。

看到它在行动在这个jsfiddle

HTML:

<p class="maybe_more">A lot of text...am I overflowing?</p> 
<input class="show_more" type="submit" value="MORE"> 

CSS:

.maybe_more { 
    height: 100px; 
    overflow: hidden; 
} 
.show_more { 
    display: hidden; 
} 

的jQuery JavaScript的:

$(document).ready(function() { 
    $(".maybe_more").each(function(){ 
    if ($(this)[0].scrollHeight > $(this)[0].clientHeight) { 
     $(this).next(".show_more").toggle(true); 
    } 
    }); 
});