Saya telah menemukan cara untuk melakukan ini menggunakan CSS, tetapi Anda harus berhati-hati karena dapat berubah tergantung pada aliran situs web Anda sendiri. Saya sudah melakukannya untuk menanamkan video dengan rasio aspek konstan dalam porsi lebar cairan situs web saya.
Katakanlah Anda memiliki video yang disematkan seperti ini:
<object>
<param ... /><param ... />...
<embed src="..." ...</embed>
</object>
Anda kemudian dapat menempatkan ini semua di dalam div dengan kelas "video". Kelas video ini mungkin akan menjadi elemen cair di situs web Anda sedemikian rupa sehingga, dengan sendirinya, ia tidak memiliki batasan ketinggian langsung, tetapi ketika Anda mengubah ukuran peramban itu akan berubah lebarnya sesuai dengan aliran situs web. Ini akan menjadi elemen yang mungkin Anda coba masukkan video tertanam Anda sambil mempertahankan rasio aspek tertentu dari video.
Untuk melakukan ini, saya meletakkan gambar sebelum objek tertanam dalam div kelas "video".
!!! Bagian yang penting adalah gambar memiliki rasio aspek yang benar yang ingin Anda pertahankan. Juga, pastikan ukuran gambar SETIDAKNYA sebesar yang terkecil yang Anda harapkan video (atau apa pun yang Anda mempertahankan AR) didasarkan pada tata letak Anda. Ini akan menghindari potensi masalah dalam resolusi gambar ketika ukurannya diubah. Misalnya, jika Anda ingin mempertahankan rasio aspek 3: 2, jangan hanya menggunakan gambar 3px x 2px. Ini mungkin berhasil dalam beberapa keadaan, tapi saya belum mengujinya, dan mungkin itu ide yang baik untuk dihindari.
Anda mungkin harus sudah memiliki lebar minimum seperti ini yang ditetapkan untuk elemen cairan situs web Anda. Jika tidak, sebaiknya lakukan hal itu untuk menghindari pemotongan elemen atau tumpang tindih saat jendela browser terlalu kecil. Lebih baik memiliki bilah gulir di beberapa titik. Lebar terkecil yang harus dimiliki halaman web adalah sekitar ~ 600px (termasuk kolom dengan lebar tetap) karena resolusi layar tidak menjadi lebih kecil kecuali Anda berurusan dengan situs ramah-ponsel. !!!
Saya menggunakan png yang benar-benar transparan, tetapi saya pikir itu tidak penting jika Anda melakukannya dengan benar. Seperti ini:
<div class="video">
<img class="maintainaspectratio" src="maintainaspectratio.png" />
<object>
<param ... /><param ... />...
<embed src="..." ...</embed>
</object>
</div>
Sekarang Anda harus dapat menambahkan CSS yang mirip dengan yang berikut:
div.video { ...; position: relative; }
div.video img.maintainaspectratio { width: 100%; }
div.video object { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; }
div.video embed {width: 100%; height: 100%; }
Pastikan Anda juga menghapus deklarasi tinggi atau lebar eksplisit di dalam objek dan tag embed yang biasanya datang dengan copy / paste kode embed.
Cara kerjanya bergantung pada properti posisi elemen kelas video dan item yang Anda inginkan mempertahankan rasio aspek tertentu. Itu mengambil keuntungan dari cara gambar akan mempertahankan rasio aspek yang tepat ketika diubah ukurannya dalam suatu elemen. Ini memberitahu apa pun yang ada dalam elemen kelas video untuk mengambil keuntungan penuh dari real estat yang disediakan oleh gambar dinamis dengan memaksa lebar / tinggi hingga 100% elemen kelas video yang disesuaikan oleh gambar.
Cukup keren, eh?
Anda mungkin harus bermain-main dengannya sedikit agar bisa bekerja dengan desain Anda sendiri, tetapi ini sebenarnya bekerja sangat baik bagi saya. Konsep umum ada di sana.