2016-10-09 8 views
0

私はページ内の要素のサイズに収まるように縮小し、ページ上に中央に表示するポップアップライトボックスを作成しようとしています。これまでのところ私が持っている:今絶対配置された、可変幅の、中心に置かれたHMTL要素

.lightboxVariable{ 
    display:block; 
    position: absolute; 
    top:0; 
    bottom: 0; 
    width : auto; 
    left:0; 
    right:0; 
    padding-left:10px;  
    padding-right:20px; 
    padding-top:10px; 
    padding-bottom:20px; 
    background:rgba(255,255,255,0.9); 
    border:black, thin; 
    box-shadow: 5px 5px 5px grey; 
    z-index:1000000; 
    overflow: auto; 
    text-align:center; 
    height:800px; 
    } 

左:0; right:0;要素はページ全体に広がります(つまり、width:auto;は無視されます)。がない場合、要素はページの左側に配置されます。

jsベースのコードに頼らなくても、両方を実行する方法はありますか?

+0

jsfiddleでコードを提供できますか? – Varin

+0

これを試してください:width:100%;ボックスサイズ:border-box; –

+0

[Magnific Popup](http://dimsemenov.com/plugins/magnific-popup/)の人たちがどうしたのかチェックしてください。それとも、スクリプトを使用する方がいいですか? – skobaljic

答えて

1

あなたは

width: auto; 
height: auto; 
top: 50%; 
left: 50%; 
// don't declare right or bottom 
transform: translateX(-50%) translateY(-50%); 

次それは中央に要素の左端を置く試みることができる(左:50%;)それから、左に戻ってそれを微調整(移動X(-50%) )。

垂直中心(上:50%;および(translateY(-50%))も同様です。

+0

パーフェクト、それは終わった! –

+1

良いもの。 max-widthとmax-heightは、設定するのに適したプロパティかもしれません。 – Davey

+0

実際には、ほぼ完璧です。スクロールがない場合は、ページの中央に垂直に配置されます。ページがスクロールダウンされると、要素はもはや垂直方向にセンタリングされなくなります。 –

関連する問題