オーバーフローがスクロールに設定されていても、オーバーレイでGoogleフォームのiframeをスクロールさせることはできません。代わりに、下の背景がモバイルでスクロールし続けます。デスクトップクロームでデバイスをモバイルデバイスに変更した場合でも、デスクトップクローム/サファリではiframe内を問題なくスクロールします。
HTML:
<div class="modal fade" id="follow-modal" tabindex="-1" role="dialog" aria-labelledby="follow-modal">
<div class="modal-background"></div>
<div class="modal-wrapper">
<div class="survey-wrapper">
<iframe src="https://docs.google.com/forms/d/e/1FAIpQLScYLpClPexPWtT9UETnksKMKnzH5xRgs-UikH21Ktl6PhJQ-w/viewform?embedded=true" frameborder="0" marginheight="0" marginwidth="0">Loading...</iframe>
</div>
</div>
</div>
SCSS:
#follow-modal {
.modal-background {
background-color: rgba(0,0,0,.9);
}
.modal-wrapper {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
display: flex;
align-items: flex-start;
justify-content: center;
}
.survey-wrapper {
position: relative;
background-color: transparent;
text-align: center;
margin-top: 100px;
width: 700px;
-webkit-overflow-scrolling: touch;
overflow-y: scroll;
@media (max-width: $screen-md-min) {
margin-left: 10px;
margin-right: 10px;
}
iframe {
width: 100%;
height: 600px;
}
}
h3 {
margin-bottom: 15px;
}
button.close {
color: white;
position: absolute;
top: -60px;
right: -50px;
opacity: 1;
@media (max-width: $screen-md-min) {
right: -20px;
}
&:hover {
color: white;
}
}
}
位置属性に注意してください。
<iframe src="www.website.com/" style="position:absolute; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;">
Your browser doesn't support iframes
</iframe>
位置を「絶対」に設定して修正しました。
*これらの属性も試してみてください:
scrolling = "no"(または "yes"、必要に応じて)
オーバーフロー:スクロール; (または「スクロール」の代わりに、visible | hidden | auto | initial | inherit;のいずれかを使用します)
他の答えがあなたのために機能しない場合(それらは私のために機能しなかったので)、このコードをチェックしてください:
<div style="overflow: auto!important; -webkit-overflow-scrolling: touch!important;">
<iframe>Loading...</iframe>
</div>