私の div には スタイリングposition:absolute
があり、その結果、コンテンツが高さよりも高い場合、展開されません。
div
したがって、実際のコンテンツの高さを見つけて、position:absolute
スタイリングで高さを割り当てれば解決策になると思いました。
それを行う方法はありますか?absolute
div
または、コンテンツに応じて展開するを作成する方法のアイデアかもしれません。
前もって感謝します!
私の div には スタイリングposition:absolute
があり、その結果、コンテンツが高さよりも高い場合、展開されません。
div
したがって、実際のコンテンツの高さを見つけて、position:absolute
スタイリングで高さを割り当てれば解決策になると思いました。
それを行う方法はありますか?absolute
div
または、コンテンツに応じて展開するを作成する方法のアイデアかもしれません。
前もって感謝します!
Element.scrollHeight
仕事をするべきです。
コンテナの高さを取得するひどい方法を次に示します。基本的に div 全体を複製し、高さがあるように位置を設定し、その高さを確認してから削除します。
$(function () {
var clone = null;
alert( clone = $('.test').clone().css('position', 'static').appendTo(".container").height());
clone.remove();
});
これがフィドルです:http://jsfiddle.net/vPMDh/1/
<div class="classname">
Some content....
<p style="clear:both"> </p>
</div>
質問にご協力いただきありがとうございます。これを使用する場合:
$(document).ready(function(){
var x = $("#container").height();
alert(x);
//if not works then
var y = $("#container").outerHeight();
alert(y);
});
divの高さも適用しない場合、divの高さを見つけるのはきれいなコードとして簡単だと思います。
絶対的であっても拡大する必要があります。高さがないことを確認してください: xxpx
もしそうなら、それを min-height に変更します
clearfix ハックを使用します。リンクはこちら
divにclearfixを追加します
例
あなたのスタイルシートで
<style>
.clearfix:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
.clearfix {
display: inline-block;
}
html[xmlns] .clearfix {
display: block;
}
* html .clearfix {
height: 1%;
}
</style>
...そしてあなたのdivにclearfixクラスを追加します
<div class="clearfix">
//some html tags
</div>
あなたが言っ"it doesn't expand if the content is higher than it's height."
たように、固定の高さが設定されていると思います..何らかの理由でこれが必要な場合は、min-height
代わりに使用してみてください.
このフィドルを見てください。