2016-05-25 3 views
1

divの高さを親の100%に設定する方法がわかりませんビューポート親ビューポートの100%のDIV

目的は、他のdiv(「welcome-screen」)+テキストをスクロール可能なdivにすることです。 "Welcome-screen"は完全なビューポートを満たしているはずです。スクロールした後にのみ下のテキストが表示されます。 「ウェルカムスクリーン」の内側は、中心のロゴでなければなりません。

私は非常に多くのことを試みましたが、Joomlaが生成する追加のdivを考えれば解決策を見つけることができませんでした。

は、私は問題を説明するためにJSFiddleを生成: https://jsfiddle.net/z8xy6ttL/私は動的にアーカイブしてみたが何

#outer { 
    height: 300px; 
    width: 400px; 
    overflow: auto; 
} 

.welcome-screen { 
    background-color: darkred; 
    height: 100%; 
    position: relative; 
} 

.article-wrap { 
    height: 100%; 
    min-height: 100%; 
    background-color: aquamarine; 
    overflow: auto; 
} 

article { 
    padding: 30px; 
    text-align: left; 
    display: table-cell; 
} 

https://jsfiddle.net/hausmaster/z8xy6ttL/3/

はあなたの助けをお願い申し上げます。ありがとう!

+2

が重複する可能性をブラウザウィンドウの(http://stackoverflow.com/questions/1575141/make-div-100-height-of-browser-window) – rnevius

+0

'#outer'は300pxなので、単に' 'の高さを作ることはできません。ウェルカムスクリーン '300px?または、よりダイナミックなソリューションをお探しですか? –

+1

正確には、私は動的なソリューションを探しています。 – user1658080

答えて

3

更新JSFiddle:https://jsfiddle.net/z8xy6ttL/5/

私はちょうど.articleラップに.welcome画面のdivを移動し、絶対にその位置を設定します。

はまた、私は記事のタグにこのCSSを追加しました:

position: relative; 
top: 100%; 

を使用すると、途中に歓迎スクリーンのコンテンツの垂直方向の整列を設定したい場合は、テーブルにその表示プロパティを設定し、にそのHTMLを更新する必要があります:

<div class="welcome-screen"> 
    <div class="display-table-cell"> 
    Welcome Screen 100% 
    </div>  
</div> 

そして、このCSSクラスを定義:[メイクdivの100%の高さの

.display-table-cell { 
    display: table-cell; 
    text-align: center; 
    vertical-align: middle; 
} 
+0

ええと。私は既に15分前にフルスクリーンの例を共有しました.. –

+0

ありがとう! @ RachelGallen - 彼のものは親の身長に動的に適応します:-) – user1658080

0

私は質問を完全に理解していますが、#300x400に設定しているかどうかはわかりません。 (あなたが実際には必要ありません!重要)この内部のすべてのdiv要素は、その

+0

いいえ、私の例ではありません。ウェルカムスクリーンの高さを230ピクセルに設定したように見えるはずです。これは、#与えられたサイズの#outerに対してアーカイブしたい "外観"です。 – user1658080

+0

幅は100%、高さは100%となります。 OPはビューポートの高さの100%を取ることを望んでいます。 –

1

変更歓迎クラスの100vh100%の100%がかかりますし、それが

https://jsfiddle.net/RachGal/z8xy6ttL/1/

うまくいく

詰め物のほうがよく見えるかもしれませんので、より低い%にサイズ変更してください - フィドルでは、60vhがうまく機能します。 (しかし、あなたはあなたのdivが大きくなりたい場合は、これは調整する必要があります)(300の60%は180ですが、30px上下のパディングを占める - 240)あなたが持っているあなたのHTMLコード内

https://jsfiddle.net/RachGal/4duqzsh2/

+0

100vhは** body **ビューポートの100%を取りますが、** parentの**ビューポートの100%が必要です。私がウェルカムスクリーンを230pxの高さに設定するのと同様ですが、それは動的に動作します。 – user1658080

+0

@ user1658080あなたもフィドルを見ましたか?できます。親はスクロール可能divです、そうですか?まあそれはそれが高さになるものです。そうでなければ私はあなたの意図が何であるか理解していません。どのようにそれを見たいですか? –

+0

例を使って質問を更新しました。前もって感謝します! – user1658080

-1

以下だ:

<div class="article"> 
... 
<div class="welcome">...</div> 
... 
</div> 

あなたのクラスは.article 30pxのパディングを必要とし、.welcomeクラスがあなたのページを埋めることはありません。ここで

+1

こんにちは@enrique、ようこそ。あなたの答えは不明で不完全です。ヘルプについては、[どのように私は良い答えを書くのですか?](http://stackoverflow.com/help/how-to-answer)をチェックしてください。それを改善するために[あなたの答えを編集する](http://stackoverflow.com/posts/37449325/edit)ができます。 –