2016-12-14 17 views
0

aye folks!css要素の高さ - 高さが変化する要素の高さ

css3で動的な高さの計算が可能ですか?私は何かを見つけることができませんでした..多分私は私の検索のために間違った言葉を使用しています。

問題:100%の高さからnav要素の高さを差し引いたiframeを含めるサイトがあります。残念ながら、nav要素は必ずしも同じ高さではありません(1つのデバイスの44px、他のデバイスの36pxなど)

これを計算する方法はありますか?またはこれを正しく動作させるにはnav-elementの高さを修正する必要がありますか?

+1

高さを計算する場合は、このためにJqueryを使用する必要があります。そうでなければ、そのnav要素の固定高さを維持する必要があります。 – Taniya

+0

ありがとうございました! 私はこのすべてを初めて知っています。あなたはおそらく私がこれをどうやってできるかの例を持っていますか?そうでなければ..何とか見つけ出す必要があると思います。 –

+0

これは、測定ユニットvhとvwが発明されたものです。それらを見てください。 – Kyle

答えて

0

次の2つの要素のラッパーにdisplay: flexプロパティを使用することができますので、あなただけの要素の高さが変更されるサイズや幅を決定する必要があります。

html, body, #wrapper { 
    height: 100%; 
} 

#wrapper { 
    display: flex; 
    flex-direction: column; 
} 

#frame-fill { 
    flex-grow: 1; 
} 

<div id="wrapper"> 
    <div>HEADER DYNAMIC</div> 
    <iframe id="frame-fill" src=''></iframe> 
</div> 

フレックスのブラウザサポートを必ず確認してください。その新しいコンセプト。

1

確かに! 私は、nav要素の高さが画面サイズに依存していると仮定しています。そのため、メディアクエリで異なる高さを与えることができます。

/*put your conditions here*/ 
    @media (min-height: 500px), (min-width: 580px) { 
     iframe{ 
      height: calc(100% - 44px); 
     } 
    } 
    /*put your conditions here*/ 
    @media (max-height: 1000px), (min-width: 580px) { 
     iframe{ 
      height: calc(100% - 36px); 
     } 
    } 

詳細情報:http://www.w3schools.com/cssref/css3_pr_mediaquery.asp

+0

興味深いことに、それは画面のサイズthoとは何の関係もありません。家で私の1920x1080画面上では、そのnavは仕事で44pxの高さです私は同じモニターと同じオペレーティングシステムを持っていますが、navは高さがわずか36pxです。 明らかに内容は同じです。トップとボトムには16ptのアイコンフォントと10pxのパディングがあります。なぜ実際に高さの違いがあるのか​​分かりません。 –

+0

あなたが試してみることができる解像度のような他の条件がありますが、実際にはnavのサイズの原因を突き止めることができない場合、jQueryまたはJavascript。 – Flink

+0

私は現在、これを動作させようとしています。モバイルデバイス上のページを見たい場合は、助けてくれてありがとうございます。 (: –

関連する問題