2017-10-28 17 views
1

4kモニタは新生であるため、モニタの4面すべてから小さなページを整列させる必要があります。これは、絶対配置されたdivで構成され、コンテナ内に配置されます。 ボディ:CSS全体のページの縦横の整列

<div id="mainArea"> 
    div elements containing text, images, links go here. 


    </div> 

CSS:

body { 

background-image: url(); 


} 

.mainArea {

position: absolute; 

width: 882px; 

height: 420px; 

left: 50%; top: 50%; 
transform: translate(-50%, -50%); 

私は、インターネット上での提案の数を試みたが、彼らは基本的に水平および垂直の解決ウェブサイト全体ではなく、テキストや画像のような単純なコンテンツの整列。これらは何とか私の場合、おそらく私の経験不足のために動作しません。どんな援助も感謝します

+0

あなたのCSSが見えます。おそらく問題はあなたのCSSに '.mainArea'と書かれていますが、これは* class * mainAreaで要素を選択しますが、あなたのHTMLは* ID *としてmainAreaを持っています。あなたのCSSは、そのIDを持つ要素を参照するには '#mainArea'と言うべきです。 – cjl750

+0

元のpsotには#の代わりに#があったはずです。私はstackoverflowでこれを変更しました。これはコードの残りの部分との関係で大きなフォントで表示されていたからです。これが私が変更することを決めた理由です。 これは私に次のように見えます - http://alsem.lv/index_de2.php –

+1

これを見てください:) https://philipwalton.github.io/solved-by-flexbox/demos/vertical-centering /(垂直センタリング - Flexboxで解決 - クリーナー、ハックフリーCSS) – helb

答えて

0

使用calc:それは限りmainArea` `の祖先あり、他の位置の要素が存在しないとして動作するはずのよう

position: absolute; 

width: 882px; 

height: 420px; 

left: calc((100vw - 882px)/2); 
top: calc((100vh - 420px)/2); 

transform: translate(-50%, -50%); 
+0

しないでください。結果 - http://alesem.lv/index_de3.php –

+1

更新。次のように動作していたようです: .cn { display:flex; justify-content:center; align-items:center; } .inner { \t位置:絶対; \tトップ:50%; \t左:50%; \tトランスフォーム:translate(-50%、 - 50%); \t幅:1246px; \t身長:810px; } 出力 - http://elsem.lv/index_de4.php http://quirktools.com/screenfly/#u=http%3A//alsem.lv/で別のレシチンを使用して表示を確認しましたindex_de4.php&w = 1920&h = 1080&a = 4 これは大きな画面でもうまく表示されますが、スマートフォンやタブレットではこの方法が失敗し、上部のスペースを食べてしまいます。助言がありますか? –

関連する問題