Iframeに問題があります。 iframe内のコンテンツに応じて、フレームの高さを自動的に調整したいのです。私は本当にJavaScriptなしでCSSを介してこれをやりたいです。ただし、もしあればJavaScriptを使用します。
私はもう試した height: 100%;
およびheight: auto;
など。他に何を試すべきかわからない!
これが私のCSSです。フレーム用...
#frame {
position: relative;
overflow: hidden;
width: 860px;
height: 100%;
}
そして、フレームのページに。
#wrap {
float: left;
position: absolute;
overflow: hidden;
width: 780px;
height: 100%;
text-align: justify;
font-size: 16px;
color: #6BA070;
letter-spacing: 3px;
}
ページのコーディングは次のようになります...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" �� "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>...</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div id="container">
<div id="header">
</div>
<div id="navigation">
<a href="/" class="navigation">home</a>
<a href="about.php" class="navigation">about</a>
<a href="fanlisting.php" class="navigation">fanlisting</a>
<a href="reasons.php" class="navigation">100 reasons</a>
<a href="letter.php" class="navigation">letter</a>
</div>
<div id="content" >
<h1>Update Information</h1>
<iframe name="frame" id="frame" src="http://website.org/update.php" allowtransparency="true" frameborder="0"></iframe>
</div>
<div id="footer">
</div>
</div>
</body>
</html>
Iframe内のURLは、iframeが表示されるWebサイトとは異なることに注意してください。ただし、両方のWebサイトにアクセスできます。
誰でも助けることができますか?
私はこれと同じ問題を抱えていましたが、次のことがうまくいくことがわかりました。
レスポンシブなYouTube埋め込みを作成する鍵は、パディングとコンテナ要素を使用することです。これにより、固定のアスペクト比を与えることができます。スライドショーなど、他のほとんどのiframeベースの埋め込みでもこの手法を使用できます。
幅と高さを固定した典型的なYouTube埋め込みコードは次のとおりです。
<iframe width="560" height="315" src="//www.youtube.com/embed/yCOY82UdFrw"
frameborder="0" allowfullscreen></iframe>
幅を100%にすればいいのですが、高さが固定されているため機能しません。あなたがする必要があるのは、そのようにコンテナにラップすることです(クラス名と幅と高さの削除に注意してください):
<div class="container">
<iframe src="//www.youtube.com/embed/yCOY82UdFrw"
frameborder="0" allowfullscreen class="video"></iframe>
</div>
そして、次のCSSを使用します。
.container {
position: relative;
width: 100%;
height: 0;
padding-bottom: 56.25%;
}
.video {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
ここに私が解決策を見つけたページがあります:
https://www.h3xed.com/web-development/how-to-make-a-responsive-100-width-youtube-iframe-embed
アスペクト比に応じて、おそらくpadding-bottom: 56.25%;
高さを正しく取得します。
これが私の純粋なCSSソリューションです:)
追加し、はいをiframeにスクロールします。
<iframe src="your iframe link" width="100%" scrolling="yes" frameborder="0"></iframe>
トリック :)
<style>
html, body, iframe { height: 100%; }
html { overflow: hidden; }
</style>
応答性について心配する必要はありません:)
@SweetSpice、相対の代わりに絶対として位置を使用します。それが動作します
#frame{
overflow: hidden;
width: 860px;
height: 100%;
position: absolute;
}
これをセクションに追加します。
<script> function resizeIframe(obj) { obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px'; } </script>
Iframeをこれに変更します:
<iframe src="..." frameborder="0" scrolling="no" onload="resizeIframe(this)" />
掲載されています ここ
ただし、JavaScriptを使用しますが、問題を解決するためのシンプルで使いやすいコードです。
<div id="content" >
<h1>Update Information</h1>
<div id="support-box">
<div id="wrapper">
<iframe name="frame" id="frame" src="http://website.org/update.php" allowtransparency="true" frameborder="0"></iframe>
</div>
</div>
</div>
#support-box {
width: 50%;
float: left;
display: block;
height: 20rem; /* is support box height you can change as per your requirement*/
background-color:#000;
}
#wrapper {
width: 90%;
display: block;
position: relative;
top: 50%;
transform: translateY(-50%);
background:#ddd;
margin:auto;
height:100px; /* here the height values are automatic you can leave this if you can*/
}
#wrapper iframe {
width: 100%;
display: block;
padding:10px;
margin:auto;
}
absolute
位置と希望する高さを使用する必要があります。 CSSで、次を実行します。
#id-of-iFrame {
position: absolute;
height: 100%;
}