Saya membaca posting stackoverflow ini berjudul "Bisakah Anda membuat iFrame responsif?", Dan salah satu komentar / jawaban membawa saya ke jfiddle ini.
Tetapi ketika saya mencoba menerapkan HTML dan CSS agar sesuai dengan kebutuhan saya, saya tidak memiliki hasil / keberhasilan yang sama. Saya membuat biola JS saya sendiri sehingga saya bisa menunjukkan kepada Anda bagaimana itu tidak bekerja sama untuk saya. Saya yakin itu ada hubungannya dengan jenis iFrame yang saya gunakan (misalnya, gambar produk mungkin perlu responsif juga atau sesuatu?)
Kekhawatiran utama saya adalah bahwa ketika pembaca blog saya mengunjungi blog saya di iPhone mereka, saya tidak ingin semuanya berada pada lebar x (100% untuk semua konten saya) dan kemudian iFrame bertingkah salah dan merupakan satu-satunya elemen yang lebih luas (dan karenanya tetap ada melewati semua konten lainnya - jika itu masuk akal ??)
Lagi pula, apakah ada yang tahu mengapa ini tidak berhasil? Terima kasih.
di sini adalah HTML & CSS dari JSFIDDLE SAYA (jika Anda tidak ingin mengklik tautan):
<div class="wrapper">
<div class="h_iframe">
<!-- a transparent image is preferable -->
<img class="ratio" src="http://www.brightontheday.com/wp-content/uploads/2013/07/placeholder300.png" />
<iframe frameborder='0' height='465px' width='470px' scrolling='no' src='http://currentlyobsessed.me/api/v1/get_widget?wid=30&blog=Brighton+The+Day&widgetid=38585'
frameborder="0" allowfullscreen></iframe>
</div>
</div>
dan di sini adalah CSS yang menyertainya:
.wrapper {
width: 100%;
height: 100%;
margin: 0 auto;
background: #ffffff;
}
.h_iframe {
position: relative;
}
.h_iframe .ratio {
display: block;
width: 100%;
height: auto;
}
.h_iframe iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
sumber
Jawaban:
Saya mempersembahkan kepada Anda solusi The Incredible Singing Cat =)
jsFiddle: http://jsfiddle.net/omarjuvera/8zkunqxy/2/
Saat Anda memindahkan bilah jendela, Anda akan melihat iframe untuk mengubah ukuran secara responsif
Atau, Anda juga dapat menggunakan teknik rasio intrinsik - Ini hanya pilihan alternatif dari solusi yang sama di atas (tomat, tomat)
sumber
Coba gunakan kode ini untuk membuatnya responsif
sumber
Saya menemukan solusi dari dari Dave Rupert / Chris Coyier. Namun, saya ingin membuat gulir tersedia sehingga saya datang dengan ini:
// HTML
// CSS
sumber
Anda dapat menggunakan trik ini yang disebutkan di situs ini http://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php .
Ini sangat berguna dan mudah dimengerti. Yang Anda butuhkan untuk membuat
Ini biola js Anda yang diedit untuk demonstrasi.
sumber
lihat solusi ini ... berfungsi untuk saya >> https://jsfiddle.net/y49jpdns/
sumber
sumber
DA benar. Di biola Anda sendiri, iframe memang responsif. Anda dapat memverifikasi itu di pembakar dengan memeriksa ukuran kotak iframe. Tetapi beberapa elemen di dalam iframe itu tidak responsif, sehingga mereka "menonjol" ketika ukuran jendela kecil. Misalnya,
div#products-post-wrapper
lebarnya adalah 8800px.sumber
iFrames BISA sepenuhnya responsif sambil menjaga rasio aspek mereka dengan teknik CSS kecil yang disebut Teknik Rasio Intrinsik . Saya menulis posting blog yang membahas pertanyaan ini secara khusus: https://benmarshall.me/responsive-iframes/
Intinya adalah:
BOOM, sepenuhnya responsif!
sumber
iframes tidak bisa responsif. Anda dapat membuat wadah iframe responsif tetapi bukan konten yang ditampilkannya karena itu adalah laman web yang memiliki tinggi dan lebar pengaturan sendiri.
Contoh biola tautan berfungsi karena menampilkan tautan video youtube tertanam yang tidak memiliki ukuran yang dinyatakan.
sumber
Sederhana, dengan CSS:
Harap perhatikan : Tetapi itu tidak akan membuat konten di dalamnya responsif!
EDIT ke-2 :: Ada dua jenis iframe responsif, tergantung pada konten dalamnya:
salah satu yang adalah ketika dalam iframe hanya berisi sebuah video yang atau sebuah gambar atau banyak vertikal diposisikan, untuk yang di atas dua-baris kode CSS hampir cukup sepenuhnya, dan aspek rasio memiliki makna ...
dan yang lainnya adalah:
kontak / formulir pendaftaran jenis konten , di mana bukan rasio aspek yang harus kita pertahankan, tetapi untuk mencegah bilah gulir muncul, dan konten di bawah mengalir wadah. Di ponsel Anda tidak melihat bilah gulir, Anda hanya menggulir sampai Anda melihat konten (iframe). Tentu saja Anda memberikannya setidaknya beberapa jenis
height
, untuk membuat ketinggian konten beradaptasi dengan ruang vertikal yang terjadi pada layar yang lebih sempit - dengan pertanyaan media, seperti, misalnya:sumber
Saya perhatikan bahwa postingan leowebdev tampaknya berhasil pada ujung saya, namun, itu merobohkan dua elemen situs yang saya coba buat: scrolling dan footer.
Pengguliran saya kembali dengan menambahkan
scrolling="yes"
kode embed Ke iframe.Saya tidak yakin apakah footer secara otomatis pingsan karena responsif atau tidak, tetapi mudah-mudahan orang lain tahu jawaban itu.
sumber
Hapus tinggi dan lebar iframe yang ditentukan dalam piksel dan gunakan persentase
sumber
sumber
itu memecahkan saya dengan menyesuaikan kode dari @Connor Cushion Mulhall oleh
sumber
Karena kendala keamanan browser, Anda harus memasukkan file Javascript baik di halaman "induk", maupun di halaman yang disematkan melalui iframe ("anak").
Dalam versi saat ini, halaman induk harus menyertakan versi terbaru jQuery. Tidak ada ketergantungan pada jQuery untuk fungsionalitas halaman anak. Dalam versi yang akan datang, kami juga ingin menghapus ketergantungan pada jQuery untuk orang tua.
Catatan: parameter "xdomain" dalam panggilan fungsi makeResponsive () adalah opsional.
Contoh kode<!-- Activate responsiveness in the "child" page -->
<script src="/js/jquery.responsiveiframe.js"></script>
<script>
var ri = responsiveIframe();
ri.allowResponsiveEmbedding();
</script>
<!-- Corresponding code in the "parent" page -->
<script src="/js/jquery.js"></script>
<script src="/js/jquery.responsiveiframe.js"></script>
<script>
;(function($){
$(function(){
$('#myIframeID').responsiveIframe({ xdomain: '*'});
});
})(jQuery);
</script>
sumber
Dengan markup berikut:
CSS berikut ini membuat video menjadi penuh dan 16: 9:
sumber
Saya mencari lebih banyak tentang topik ini dan akhirnya mendapatkan jawaban yang bagus. Anda dapat mencoba seperti ini :
sumber
Solusi terbaik untuk membuat "iframe" responsif dan cocok dengan semua layar perangkat, cukup gunakan kode ini (berfungsi baik dengan situs Game):
Jika Anda mencari wadah permainan responsif yang cocok dengan semua perangkat, gunakan kode ini yang menggunakan kueri CSS @ media.
sumber
IFrame yang sepenuhnya responsif untuk situasi di mana rasio aspek tidak diketahui dan konten di iFrame sepenuhnya responsif.
Tidak ada solusi di atas yang berfungsi untuk kebutuhan saya, yaitu membuat iFrame yang sepenuhnya responsif yang memiliki konten dinamis yang sepenuhnya responsif di dalamnya. Mempertahankan segala jenis aspek rasio bukanlah suatu pilihan.
Kode:
Saya juga membuat batas waktu sehingga pada mengubah ukuran fungsi tidak akan dipanggil jutaan kali.
sumber
sumber
Lihat kode lengkap ini. Anda dapat menggunakan wadah dalam persentase seperti kode di bawah ini:
Lihat Halaman demo ini .
sumber
Solusi ini berhasil untuk saya. Dan saya merasa lebih mudah. https://jameshfisher.com/2017/08/30/how-do-i-make-a-full-width-iframe/
sumber