DIVのプロパティを設定するための優れたクロスブラウザのmax-height
方法はありますか?そのDIVがを超えるとmax-height
、スクロールバーでオーバーフローになりますか?
6 に答える
残念ながら、IE6はそうではないので、IE6の式を使用してから、他のすべてのブラウザーの最大高さを設定する必要があります。
div{
_height: expression( this.scrollHeight > 332 ? "333px" : "auto" ); /* sets max-height for IE6 */
max-height: 333px; /* sets max-height value for all standards-compliant browsers */
overflow:scroll;
}
オーバーフロー:autoは、ほとんどの場合、余分な流出がある場合に機能します。
2005 年に作成された投稿 ( Min-Height Fast hack ) からこのソリューションを見つけました。これはハックですが、シンプルで純粋な CSS です。
selector {
max-height:500px;
height:auto !important;
height:500px;
}
例は max-height ですが、min-height、min-width、max-width でも機能します。:)
*注意: 絶対値を使用する必要があります。パーセンテージは機能しません。
今必要なのは「overflow:scroll;」だけです。これをスクロールバーで機能させるには
selector
{
max-height:900px;
_height:expression(this.scrollHeight>899?"900px":"auto");
overflow:auto;
overflow-x:hidden;
}
高さを高さとオーバーフローとして設定したラッパーdivを作成できますか:スクロール。次に、内側のdivには高さが設定されておらず、成長するにつれて最初のdivのスクロールバーがいっぱいになりますか?
主要なハック (RedWolves スタイル):
.divMax{width:550px;height:200px;overflow-Y:auto;position:absolute;}
.divInner{border:1px solid navy;background-color:white;}
私は max-height 属性から愛を得ていなかったので、すでにこれを持っていて、これらの 2 つのクラスで成功しました。しかし、それは醜いので、より良い検索でこの質問にヒットします。divMax をposition:absolute
使用すると、下のコンテンツが透けて見えますが、divInner の最終的な高さは 200px に制御されます。
http://www.tutorialspoint.com/css/css_scrollbars.htmからこれを見つけて、少し変更しました。IE9とFF19の両方で動作しているようです
<style type="text/css">
.scroll{
display:block;
border: 1px solid red;
padding:5px;
margin-top:5px;
width:300px;
max-height:100px;
overflow:scroll;
}
.auto{
display:block;
border: 1px solid red;
padding:5px;
margin-top:5px;
width:300px;
height: 100px !important;
max-height:110px;
overflow:hidden;
overflow-y:auto;
}
</style>
<p>Example of scroll value:</p>
<div class="scroll">
I am going to keep lot of content here just to show
you how scrollbars works if there is an overflow in
an element box. This provides your horizontal as well
as vertical scrollbars.<br/>
I am going to keep lot of content here just to show
you how scrollbars works if there is an overflow in
an element box. This provides your horizontal as well
as vertical scrollbars.<br/>
I am going to keep lot of content here just to show
you how scrollbars works if there is an overflow in
an element box. This provides your horizontal as well
as vertical scrollbars.<br/>
I am going to keep lot of content here just to show
you how scrollbars works if there is an overflow in
an element box. This provides your horizontal as well
as vertical scrollbars.<br/>
</div>
<br />
<p>Example of auto value:</p>
<div class="auto">
I am going to keep lot of content here just to show
you how scrollbars works if there is an overflow in
an element box. This provides your horizontal as well
as vertical scrollbars.<br/>
</div>