详解CSS百分比padding制作图片自适应布局
margin
和padding
属性的垂直方向的百分比值都是相对于宽度计算的,这个和top
, bottom
等属性的百分比值不一样。
<p>这么设计的原因在我的新书(应该不出几个月就要出版了)中会有说明,这里不展开。
<p>对于padding
属性而言,任意方向的百分比padding
都现对于宽度计算可以让我们轻松实现固定比例的块级容器,举个例子,假设现在有个<p>
元素:
p { padding: 50%; }
p { padding: 100% 0 0; }
p { padding-bottom: 100%; }
<p>
元素尺寸就是一个宽高1:1的正方形,无论其父容器宽度是多少,这个<p>
元素总能保持比例不变。<p>这种能固定比例的特性什么作用呢?<p>对于绝大多数都布局,我们并不要求非要比例固定,但是有一种情况例外,那就是图片,因为图片原始尺寸它是固定的。在传统的固定宽度的布局下,我们会通过给图片设定具体的宽度和高度值,来保证我们的图片占据区域稳固;但是在移动端或者在响应式开发情况下,图片最终展现的宽度很可能是不确定的,例如手机端的一个通栏广告,iPhone7下宽度是375,iPhone7 Plus下是414,还有360等尺寸,此时需要的不是对图片进行固定尺寸设定,而是比例设定。<p>通常有如下一些实现:<p><p><p>1. 固定一个高度,然后使用background-size
属性控制,如下:.banner { height: 40px; background-size: cover; }
vw
,如下:.banner { height: 15.15vw; background-size: cover; }
vw
也是一个不错的做法,至少理解起来要更轻松一点。<p>但是,如果我们的图片不是通栏,而是需要离左右各1rem
的距离,此时,我们的CSS代码就要啰嗦点了,想要保持完美比例,就使用借助CSS3 calc()
计算:.banner { height: calc(0.1515 * (100vw - 2rem)); background-size: cover; }
calc()
也捉襟见肘了,但,恰恰是普普通通其貌不扬的padding
属性,其兼容性和适应性都一级棒。<p>3. 使用百分比padding
,如下:.banner { padding: 15.15% 0 0; background-size: cover; }
<img>
,百分比padding
也是可以轻松应对的,求套路是比较固定的,图片元素外面需要一个固定比例的容器元素,例如下面的HTML结构:<br/>
<p class="banner"> <img src=""banner.jpg> </p>
.banner
元素同样负责控制比例,然后图片填充.banner
元素即可,CSS代码如下:.banner { padding: 15.15% 0 0; position: relative; } .banner > img { position: absolute; width: 100%; height: 100%; left: 0; top: 0; }

padding
的实际应用价值,因为有vw
单位的存在,毕竟理解vw
看上去要更简单一些,所以,一直就没做相关技巧的介绍。但是,随着图片相关布局处理越来越多,我发现,百分比padding
的实用价值要比想象的大,要比vw
单位适用场景更多,兼容性更好(百分比特性IE6+支持,图片100%覆盖IE8+支持)。<p>对于复杂布局,如果图片的宽度是不固定的自适应的,我们通常会想到这么一个取巧的做法,就是只设定图片的宽度,例如:img { width: 100%; }
0
到计算高度的图片变化,视觉上会有明显的元素跳动,代码层面会有布局重计算。<p>所以对图片高宽进行同时约定还是有必要的,但是同时要保证宽度自适应,似乎有点难度。记住,如果遇到这种需求场景,没有比百分比padding
布局更好的做法!<p>缩小浏览器宽度可以看到不同宽度下的布局效果,Gif效果截图如下:<p>
<br/>
<p class="works-item-t"> <img src="./150x200.png"> </p>
.works-item-t { padding-bottom: 133%; position: relative; } .works-item-t > img { position: absolute; width: 100%; height: 100%; }
padding
值只使用padding-bottom
表示的时候,如果没有text-align
属性干扰,<img>
元素的left:0;top:0
是可以省略的。<p>对于这种图片宽度100%容器,高度按比例的场景,padding-bottom
的百分比值大小就是图片元素的高宽比,就这么简单。<p>但,有时候,图片宽度并不是100%容器的,例如,图片宽度50%容器宽度,图片高宽比4:3
,此时,CSS垂直方向百分比就666了,如下:.img-box { padding: 0 50% 66.66% 0; }
<p>一个CSS+div高度自适应布局模型_html/css_WEB-ITnose <p>CSS3自适应全屏焦点图切换的特效怎么做 <p>响应式和自适应有什么区别 <p>
Atas ialah kandungan terperinci 详解CSS百分比padding制作图片自适应布局. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Pecahan dan peratusan ialah dua konsep asas matematik yang digunakan dalam pelbagai bidang seperti kewangan, analisis data dan statistik. Menukar pecahan kepada peratusan ialah operasi yang mudah tetapi perlu yang membolehkan kita mewakili nilai pecahan dengan cara yang lebih mudah difahami. Python, salah satu bahasa pengaturcaraan yang paling popular, menawarkan beberapa kaedah untuk menukar pecahan kepada peratusan, dan memahami kaedah ini adalah penting bagi sesiapa yang bekerja dengan data dalam Python. Artikel ini melihat secara mendalam tentang menukar pecahan kepada peratusan dalam Python. Kami akan meneroka cara yang berbeza untuk melakukan ini dan memberikan contoh untuk membantu anda memahami setiap kaedah. Sama ada anda seorang pemula atau pengaturcara Python yang berpengalaman, artikel ini memberi anda kunci untuk melakukan ini dalam Python

Sifat sempadan CSS dijelaskan secara terperinci: padding, margin dan borderCSS ialah bahasa helaian gaya yang digunakan untuk mengawal dan susun atur elemen halaman web. Dalam reka bentuk web, atribut sempadan adalah salah satu bahagian yang paling penting. Artikel ini akan memperkenalkan secara terperinci cara menggunakan atribut sempadan dalam CSS dan memberikan contoh kod khusus. padding Sifat padding digunakan untuk menetapkan padding elemen, iaitu ruang antara kandungan elemen dan sempadan elemen. Kita boleh menetapkan padding menggunakan nombor positif atau nilai peratusan

Dalam artikel ini, kita akan belajar cara mendapatkan kekerapan perkataan sebagai peratusan dalam Python. Katakan kita telah memperoleh senarai input rentetan. Sekarang, kita akan mencari peratusan setiap perkataan dalam senarai rentetan input yang diberikan. Kaedah yang digunakan oleh formula (OccurrenceofXword/Totalwords)*100 ialah menggunakan fungsi sum(), Counter(), join() dan split() untuk menggunakan fungsi join(), split() dan count() untuk digunakan fungsi countOf() modul operator. Kaedah 1: Gunakan fungsi sum(), Counter(), join() dan split() join() ialah Py

Penjelasan terperinci tentang sifat susun atur teks CSS: limpahan teks dan ruang putih Dalam reka bentuk web, reka letak teks ialah pautan yang sangat penting Susun atur yang munasabah boleh menjadikan teks lebih mudah dibaca dan cantik. CSS menyediakan beberapa sifat untuk mengawal cara teks dipaparkan, termasuk limpahan teks dan ruang putih. Artikel ini akan memperincikan penggunaan dan kod sampel kedua-dua sifat ini. 1. teks atribut limpahan-teks

Dalam CSS, sifat padding digunakan untuk menetapkan padding sesuatu elemen. Ini bermakna ia mentakrifkan ruang antara kandungan elemen dan sempadannya. Sintaks asas ialah "padding: value;".

Cara Menunjukkan Peratusan Bateri pada iPhone Sebelum ini, anda perlu meleret ke bawah untuk membuka Pusat Kawalan untuk mencari peratusan tepat baki kuasa bateri. Walau bagaimanapun, pilihan untuk melihat peratusan bateri yang tepat pada tepi atas skrin kunci kembali. Untuk menunjukkan peratusan bateri pada iPhone anda: Buka apl Tetapan daripada skrin utama iPhone anda. Leret ke bawah menu Tetapan dan ketik Bateri daripada senarai. Seterusnya, tukar butang peratusan bateri ke kedudukan hidup. Akhir sekali, anda akan melihat peratusan tepat baki kuasa di atas ikon bateri di penjuru kanan sebelah atas skrin. Apabila ciri didayakan, nombor peratusan akan muncul apabila anda menyemak imbas skrin Kunci, Skrin Utama dan kebanyakan apl. Tidak dapat melihat peratusan bateri? Jika anda tidak melihat

Tekan 1 untuk melihat penggunaan setiap CPU Baris pertama ialah masa semasa Masa berjalan ialah pengguna yang dilog masuk (1 minit, 5 minit, 10 minit). setiap 5 saat dan mengira nilainya. Jika nombor dibahagikan dengan bilangan CPU logik melebihi 5, sistem akan terlebih beban. Baris kedua mempunyai sejumlah 248 proses, 1 berjalan, 247 tidur, 0 berhenti, 0 proses zombie Baris ketiga us (ruang pengguna): peratusan cpu yang diduduki oleh ruang pengguna sy (sysctl): peratusan cpu yang diduduki oleh. ruang kernel ni()— Peratusan CPU yang diduduki oleh proses yang telah mengubah id keutamaan (idola): peratusan CPU terbiar wa (tunggu): IO menunggu diduduki CP

Windows 11 Microsoft terus berkembang, seperti yang ditunjukkan oleh data Februari 2022 terkini daripada laporan AdDuplex. Sistem pengendalian dengan cepat menghampiri angka 20%, bermakna kira-kira satu daripada lima PC kini menjalankan Windows 11. Versi awam Windows 11, Windows 1121H2, kini berada pada tahap 19.3%. Sementara itu, kadar orang dalam menjalankan pelbagai binaan pratonton kini ialah 0.3%. Ini menjadikan jumlah bahagian Windows 11 kepada 19.6%, dan menjelang Mac, bahagian peratusan ini mungkin melebihi 20%. Windows 11 dan banyak Wind
