Apakah tinggi iframe = 100% didukung di semua browser?
Saya menggunakan DOCTYPE sebagai:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Dalam kode iframe saya, jika saya katakan:
<iframe src="xyz.pdf" width="100%" height="100%" />
Maksud saya apakah ini akan benar-benar mengambil ketinggian halaman yang tersisa (karena ada bingkai lain di atas dengan ketinggian tetap 50px) Apakah ini didukung di semua browser utama (IE / Firefox / Safari)?
Juga mengenai scrollbar, meskipun saya katakan scrolling="no"
, saya bisa melihat scrollbar yang dinonaktifkan di Firefox ... Bagaimana saya menyembunyikan scrollbar sepenuhnya dan mengatur tinggi iframe secara otomatis?
javascript
html
css
iframe
html-frames
testndtv
sumber
sumber
Jawaban:
Anda dapat menggunakan frameset sebagai status jawaban sebelumnya tetapi jika Anda bersikeras menggunakan iFrames, 2 contoh berikut ini akan berfungsi:
Sebuah alternatif:
Untuk menyembunyikan gulir dengan 2 alternatif seperti yang ditunjukkan di atas:
Retas dengan contoh kedua:
Untuk menyembunyikan bilah gulir di iFrame, orang tua dibuat
overflow: hidden
untuk menyembunyikan bilah gulir dan iFrame dibuat untuk naik ke 150% lebar dan tinggi yang memaksa bilah gulir di luar halaman dan karena tubuh tidak memiliki bilah gulir orang mungkin tidak mengharapkan iframe melebihi batas halaman. Ini menyembunyikan bilah gulir iFrame dengan lebar penuh!sumber
3 pendekatan untuk membuat layar penuh
iframe
:Pendekatan 1 - Panjang viewport-persentase
Di browser yang didukung , Anda dapat menggunakan panjang viewport-persentase seperti
height: 100vh
.Di mana
100vh
mewakili ketinggian viewport, dan juga100vw
mewakili lebar.Contoh Di Sini
Pendekatan 2 - Memperbaiki posisi
Pendekatan ini cukup mudah. Hanya mengatur posisi dari
fixed
elemen dan menambahkanheight
/width
dari100%
.Contoh Di Sini
Pendekatan 3
Untuk metode terakhir ini, hanya mengatur
height
daribody
/html
/iframe
elemen untuk100%
.Contoh Di Sini
sumber
display: block
melakukan trik untuk mencegah memiliki bilah gulir ganda1. Ubah DOCTYPE Anda menjadi sesuatu yang kurang ketat. Jangan gunakan XHTML; ini konyol. Cukup gunakan doctype HTML 5 dan Anda bagus:
2. Anda mungkin perlu memastikan (tergantung pada browser) bahwa orang tua iframe memiliki ketinggian. Dan orang tuanya. Dan orang tuanya. Dll:
sumber
Saya mengalami masalah yang sama, saya menarik iframe ke div. Coba ini:
Ketinggian diatur ke 100vh yang merupakan singkatan dari tinggi viewport. Selain itu, lebarnya dapat diatur ke 100vw, meskipun Anda mungkin akan mengalami masalah jika file sumber responsif (frame Anda akan menjadi sangat lebar).
sumber
Ini bekerja dengan sangat baik bagi saya (hanya jika konten iframe berasal dari domain yang sama ):
sumber
iframe
src
berada pada domain yang sama dengan halaman induk, jika tidak Anda akan mendapatkan izin ditolak kesalahancontentWindow.document
.sumber
sumber
Berikut ini diuji coba
sumber
Tambahan untuk jawaban Akshit Soota: impor dan untuk secara eksplisit mengatur ketinggian setiap elemen induk, juga dari tabel dan kolom jika ada:
sumber
Anda pertama kali menambahkan css
Ini akan menjadi html:
sumber
Berikut ini adalah kode ringkas. Itu bergantung pada metode jquery untuk menemukan ketinggian jendela saat ini. Saat memuat iFrame, ia menetapkan tinggi iframe sama dengan jendela saat ini. Kemudian untuk menangani pengubahan ukuran halaman, tag body memiliki event handler onresize yang menetapkan tinggi iframe setiap kali dokumen diubah ukurannya.
inilah contoh yang berfungsi: http://jsbin.com/soqeq/1/
sumber
Cara lain untuk membangun layar penuh cairan
iframe
:Video tertanam mengisi seluruh
viewport
area saat halaman dimuatPendekatan yang bagus untuk halaman arahan dengan video atau konten yang disematkan. Anda dapat memiliki konten tambahan apa pun di bawah video tertanam, yang terungkap saat menggulir halaman ke bawah.
Contoh:
CSS dan kode HTML.
sumber
http://embedresponsively.com/
Ini adalah sumber yang bagus dan telah bekerja dengan sangat baik, beberapa kali saya menggunakannya. Membuat kode berikut ....
sumber
Hanya ini yang berfungsi untuk saya (tetapi untuk "domain-sama"):
Anda dapat menggunakan:
atau
sumber
Sesuai https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe , nilai persentase tidak lagi diizinkan. Tetapi yang berikut ini berhasil untuk saya
Meskipun
width:100%
berhasil,height:100%
tidak berhasil. Jadiwindow.innerHeight
sudah digunakan. Anda juga dapat menggunakan piksel css untuk ketinggian.Kode kerja: Tautan Situs kerja: Tautan
sumber
sumber
Anda dapat memanggil fungsi yang akan menghitung hieght tubuh iframe ketika iframe dimuat:
sumber