2017-04-05 20 views
1

CSSスタイルに問題があります。私は私のモーダルの中心位置を設定したいが、私はできないし、それをどうやって作るのかもわからない。また、モーダルサイズを小さくする方法もわかりません。中心位置CSS

// Get the modal 
 
var modal = document.getElementById('myModal'); 
 

 
// Get the button that opens the modal 
 
var btn = document.getElementById("myBtn"); 
 

 
// Get the <span> element that closes the modal 
 
var span = document.getElementsByClassName("close")[0]; 
 

 
// When the user clicks the button, open the modal 
 
btn.onclick = function() { 
 
    modal.style.display = "block"; 
 
} 
 

 
// When the user clicks on <span> (x), close the modal 
 
span.onclick = function() { 
 
    modal.style.display = "none"; 
 
} 
 

 
// When the user clicks anywhere outside of the modal, close it 
 
window.onclick = function(event) { 
 
    if (event.target == modal) { 
 
     modal.style.display = "none"; 
 
    } 
 
}
/* The Modal (background) */ 
 
.modal { 
 
    display: none; /* Hidden by default */ 
 
    position: fixed; /* Stay in place */ 
 
    z-index: 1; /* Sit on top */ 
 
    padding-top: 100px; /* Location of the box */ 
 
    left: 0; 
 
    top: 0; 
 
    width: 100%; /* Full width */ 
 
    height: 100%; /* Full height */ 
 
    overflow: auto; /* Enable scroll if needed */ 
 
    background-color: rgb(0,0,0); /* Fallback color */ 
 
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */ 
 
} 
 

 
/* Modal Content */ 
 
.modal-content { 
 
    position: relative; 
 
    background-color: #fefefe; 
 
    margin: auto; 
 
    padding: 0; 
 
    border: 1px solid #888; 
 
    width: 80%; 
 
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19); 
 
    -webkit-animation-name: animatetop; 
 
    -webkit-animation-duration: 0.4s; 
 
    animation-name: animatetop; 
 
    animation-duration: 0.4s 
 
} 
 

 
/* Add Animation */ 
 
@-webkit-keyframes animatetop { 
 
    from {top:-300px; opacity:0} 
 
    to {top:0; opacity:1} 
 
} 
 

 
@keyframes animatetop { 
 
    from {top:-300px; opacity:0} 
 
    to {top:0; opacity:1} 
 
} 
 

 
/* The Close Button */ 
 
.close { 
 
    color: white; 
 
    float: right; 
 
    font-size: 28px; 
 
    font-weight: bold; 
 
} 
 

 
.close:hover, 
 
.close:focus { 
 
    color: #000; 
 
    text-decoration: none; 
 
    cursor: pointer; 
 
} 
 

 
.modal-header { 
 
    padding: 2px 16px; 
 
    background-color: #5cb85c; 
 
    color: white; 
 
} 
 

 
.modal-body {padding: 2px 16px;} 
 

 
.modal-footer { 
 
    padding: 2px 16px; 
 
    background-color: #5cb85c; 
 
    color: white; 
 
} 
 

 
.video-container { 
 
    position:relative; 
 
    padding-bottom:56.25%; 
 
    padding-top:30px; 
 
    height:0; 
 
    overflow:hidden; 
 
} 
 

 
.video-container iframe, .video-container object, .video-container embed { 
 
    position:absolute; 
 
    top:0; 
 
    left:0; 
 
    width:100%; 
 
    height:100%; 
 
}
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e4/Small-city-symbol.svg/348px-Small-city-symbol.svg.png" id="myBtn" class="image fit" alt="" /> 
 
\t <div id="myModal" class="modal"> 
 
\t \t <div class="modal-content"> 
 
\t \t \t <div class="modal-header"> 
 
\t \t \t \t <span class="close">&times;</span> 
 
\t \t \t \t <h2>Header</h2> 
 
\t \t \t </div> 
 
\t \t \t <div class="modal-body"> 
 
\t \t \t <br /> 
 
\t \t \t <br /> 
 
\t \t \t <div class="video-container"><iframe width="100" height="100" src="https://www.youtube.com/embed/LRblJyq_4Ko?rel=0?ecver=1" frameborder="0" allowfullscreen></iframe></div> 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t </div>

私は常に中央にモーダルを作るためにスケーリングされたことにしたいです。底面は画面サイズより長くすることはできません。

+0

あなたのスニペットを実行しようとしました。 '.modal-content'クラスの' width'を '80%'から '60%'に変更すると、 '.modal'クラスの' margin-top:-3% 'を含むモーダルサイズが小さくなり、中心にある。それを試してみてください。 –

答えて

0

@Oliwier、質問を詳しく教えてください。 あなたの質問とコメントから、 は、 です。ビデオのサイズを小さくして、中央に揃えたいと思っています。

// Get the modal 
 
var modal = document.getElementById('myModal'); 
 

 
// Get the button that opens the modal 
 
var btn = document.getElementById("myBtn"); 
 

 
// Get the <span> element that closes the modal 
 
var span = document.getElementsByClassName("close")[0]; 
 

 
// When the user clicks the button, open the modal 
 
btn.onclick = function() { 
 
    modal.style.display = "block"; 
 
} 
 

 
// When the user clicks on <span> (x), close the modal 
 
span.onclick = function() { 
 
    modal.style.display = "none"; 
 
} 
 

 
// When the user clicks anywhere outside of the modal, close it 
 
window.onclick = function(event) { 
 
    if (event.target == modal) { 
 
     modal.style.display = "none"; 
 
    } 
 
}
/* The Modal (background) */ 
 
.modal { 
 
    display: none; /* Hidden by default */ 
 
    position: fixed; /* Stay in place */ 
 
    z-index: 1; /* Sit on top */ 
 
    padding-top: 100px; /* Location of the box */ 
 
    left: 0; 
 
    top: 0; 
 
    width: 100%; /* Full width */ 
 
    height: 100%; /* Full height */ 
 
    overflow: auto; /* Enable scroll if needed */ 
 
    background-color: rgb(0,0,0); /* Fallback color */ 
 
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */ 
 
} 
 

 
/* Modal Content */ 
 
.modal-content { 
 
    position: relative; 
 
    background-color: #fefefe; 
 
    margin: auto; 
 
    padding: 0; 
 
    border: 1px solid #888; 
 
    width: 80%; 
 
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19); 
 
    -webkit-animation-name: animatetop; 
 
    -webkit-animation-duration: 0.4s; 
 
    animation-name: animatetop; 
 
    animation-duration: 0.4s 
 
} 
 

 
/* Add Animation */ 
 
@-webkit-keyframes animatetop { 
 
    from {top:-300px; opacity:0} 
 
    to {top:0; opacity:1} 
 
} 
 

 
@keyframes animatetop { 
 
    from {top:-300px; opacity:0} 
 
    to {top:0; opacity:1} 
 
} 
 

 
/* The Close Button */ 
 
.close { 
 
    color: white; 
 
    float: right; 
 
    font-size: 28px; 
 
    font-weight: bold; 
 
} 
 

 
.close:hover, 
 
.close:focus { 
 
    color: #000; 
 
    text-decoration: none; 
 
    cursor: pointer; 
 
} 
 

 
.modal-header { 
 
    padding: 2px 16px; 
 
    background-color: #5cb85c; 
 
    color: white; 
 
} 
 

 
.modal-body {padding: 2px 16px;} 
 

 
.modal-footer { 
 
    padding: 2px 16px; 
 
    background-color: #5cb85c; 
 
    color: white; 
 
} 
 

 
.video-container { 
 
    position:relative; 
 
    padding-bottom:56.25%; 
 
    padding-top:30px; 
 
    height:0; 
 
    overflow:hidden; 
 
} 
 

 
.video-container iframe, .video-container object, .video-container embed { 
 
    position:absolute; 
 
    top:0; 
 
    left:0; 
 
    width:100%; 
 
    height:100%; 
 
} 
 
.container{ 
 
    width: 100%; 
 
    height: auto; 
 

 
    display: block; 
 
} 
 
.image{ 
 
display:block; 
 
margin: auto; 
 
}
<div class ="container"> 
 
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e4/Small-city-symbol.svg/348px-Small-city-symbol.svg.png" id="myBtn" class="image fit" alt="" /></div> 
 
\t <div id="myModal" class="modal"> 
 
\t \t <div class="modal-content"> 
 
\t \t \t <div class="modal-header"> 
 
\t \t \t \t <span class="close">&times;</span> 
 
\t \t \t \t <h2>Header</h2> 
 
\t \t \t </div> 
 
\t \t \t <div class="modal-body"> 
 
\t \t \t <br /> 
 
\t \t \t <br /> 
 
\t \t \t <div class="video-container"><iframe width="100" height="100" src="https://www.youtube.com/embed/LRblJyq_4Ko?rel=0?ecver=1" frameborder="0" allowfullscreen></iframe></div> 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t </div>

これは、あなたが探しているものですか?

+0

Nope。あなたは黒いボタンを中央に置いた。彼らが望むのは、モーダル・サイズが小さく、スクリーン・サイズより長くすべきではないということです。 –

関連する問題