Rumah hujung hadapan web html tutorial css 多栏自适应布局_html/css_WEB-ITnose

css 多栏自适应布局_html/css_WEB-ITnose

Jun 24, 2016 am 11:38 AM

在页面重构中,我们经常会需要实现多栏布局,例如n栏固定宽度 + m栏自适应宽度的组合,绝对布局+padding+百分比宽度是容易想到的比较暴力的解决方法,但是作为未来的"工程师",我们应该需求一些优雅点的方法。先说说两栏布局,上例子:

<div class='container' >    <div class='div1' >1</div>    <div class='div2' >2</div></div>
Salin selepas log masuk

如图,假如在一个容器中,有两个子元素,我们想元素1宽度为200px,元素2宽度铺满剩下的容器宽度,比较暴力的方法就是前面说的绝对布局+padding+百分比宽度,关键css:

//暴力方法 绝对布局 + padding + 百分比.container{padding-left: 200px;position: relative;}.div1{height: 200px;position: absolute;left: 0;}.div2{width: 100%;}
Salin selepas log masuk

我是例子,戳我

当然,此处.div2是块级元素,不设宽度也可以。

第二种方法,就是用到dom元素特定条件下的神秘的 “BFC” 特清除浮动性,不了解的搜索一下,直接上关键css

//优雅方法 float + BFC.div1{width:200px;float: left;}.div2{overflow: hidden;}
Salin selepas log masuk

我是例子,戳我

怎么样,是不是优雅了很多。因为在已知.div1具体宽度的条件下,也可以不触发.div2的BFC特性,设置其 margin-left:200px 也可以达到同样的页面效果,但是假如.div1改变了呢,这就需要手动改.div2的margin-left了,这就不够灵活了,感兴趣的可以自己试一下。

第三种方法,用到css3的flex布局,也就是传说中新一代的布局--流动式布局,原理不说,上关键css

//前卫方法 flex.container{display: flex;}.div1{width:200px;}.div2{flex:1;}
Salin selepas log masuk

我是例子,戳我

是不是也很简单,想了解更多原理性的东西还是建议观摩一下大神的博客吧,这里只是总结知识的地方 0.0 ,而且flex布局在某些浏览器下可能需要前缀,可以到 http://pleeease.io/play/ 自动添加浏览器前缀(不错的书签)

第四种方法,曾经在 “远古时期” 的前端圈子风靡一时table布局,上css

//远古方法 table + table-cell.container{display:table;width: 100%;}.div1{width:200px;display: table-cell;}.div2{display:table-cell;}
Salin selepas log masuk

我是例子,戳我

其实看上去也蛮简单的嘛,哈哈。。不过可能是名字不够高大上或者其他什么原因被其他布局方式取代的吧

前面所说的例子都是针对两栏布局的,如果是两栏以上的需求,float + BFC 的方法就不太好使了,因为只能有一栏可以通过清除浮动自适应铺满剩余宽度,个人就建议用 flex 布局了,原理是一样的,固定宽度的就设置宽度,自适应的就根据比例设置flex数值,table布局的话也不够 flex 灵活,固定宽度的 table-cell 就设置宽度,不设置宽度的就会均分剩余宽度了。

总结以上,flex是最灵活的,其实flex的牛13之处还有很多,例如它可以实现

元素垂直、水平居中

.container{ display:flex;            align-items: center;//子元素垂直居中            justify-content: center;//子元素水平居中      }                
Salin selepas log masuk

当然,align-items 和 justify-content 在旧浏览器也有不同写法的,但是现代浏览器大多数都支持这种写法了,保守起见,使用的时候还是去 http://pleeease.io/play/ 、http://caniuse.com/ 查一查

垂直多栏自适应布局等

.container{display: flex;flex-direction: column;height: 500px;}.div1{width: 100%; flex:1;}.div2{width: 100%;height: 200px;}.div3{width: 100%;flex:1;}
Salin selepas log masuk

 

 

 其他更神奇的用法就慢慢学习吧,有不正确的地方请指出

 

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah tujuan & lt; kemajuan & gt; unsur? Apakah tujuan & lt; kemajuan & gt; unsur? Mar 21, 2025 pm 12:34 PM

Artikel ini membincangkan html & lt; kemajuan & gt; elemen, tujuan, gaya, dan perbezaan dari & lt; meter & gt; elemen. Tumpuan utama adalah menggunakan & lt; kemajuan & gt; untuk menyelesaikan tugas dan & lt; meter & gt; untuk stati

Apakah tujuan & lt; DATALIST & GT; unsur? Apakah tujuan & lt; DATALIST & GT; unsur? Mar 21, 2025 pm 12:33 PM

Artikel ini membincangkan html & lt; datalist & gt; elemen, yang meningkatkan bentuk dengan menyediakan cadangan autokomplete, meningkatkan pengalaman pengguna dan mengurangkan kesilapan. Kira -kira: 159

Apakah amalan terbaik untuk keserasian penyemak imbas dalam HTML5? Apakah amalan terbaik untuk keserasian penyemak imbas dalam HTML5? Mar 17, 2025 pm 12:20 PM

Artikel membincangkan amalan terbaik untuk memastikan keserasian silang pelayar HTML5, memberi tumpuan kepada pengesanan ciri, peningkatan progresif, dan kaedah ujian.

Apakah tujuan & lt; meter & gt; unsur? Apakah tujuan & lt; meter & gt; unsur? Mar 21, 2025 pm 12:35 PM

Artikel ini membincangkan html & lt; meter & gt; elemen, digunakan untuk memaparkan nilai skalar atau pecahan dalam julat, dan aplikasi umum dalam pembangunan web. Ia membezakan & lt; meter & gt; dari & lt; kemajuan & gt; dan Ex

Bagaimana saya menggunakan html5 & lt; masa & gt; elemen untuk mewakili tarikh dan masa secara semantik? Bagaimana saya menggunakan html5 & lt; masa & gt; elemen untuk mewakili tarikh dan masa secara semantik? Mar 12, 2025 pm 04:05 PM

Artikel ini menerangkan html5 & lt; time & gt; elemen untuk perwakilan tarikh/masa semantik. Ia menekankan pentingnya atribut DateTime untuk pembacaan mesin (format ISO 8601) bersama teks yang boleh dibaca manusia, meningkatkan aksesibilit

Bagaimana saya menggunakan atribut pengesahan borang html5 untuk mengesahkan input pengguna? Bagaimana saya menggunakan atribut pengesahan borang html5 untuk mengesahkan input pengguna? Mar 17, 2025 pm 12:27 PM

Artikel ini membincangkan menggunakan atribut pengesahan bentuk HTML5 seperti had, corak, min, max, dan panjang untuk mengesahkan input pengguna secara langsung dalam penyemak imbas.

Apakah tag meta viewport? Mengapa penting untuk reka bentuk responsif? Apakah tag meta viewport? Mengapa penting untuk reka bentuk responsif? Mar 20, 2025 pm 05:56 PM

Artikel ini membincangkan tag Meta Viewport, penting untuk reka bentuk web responsif pada peranti mudah alih. Ia menerangkan bagaimana penggunaan yang betul memastikan skala kandungan yang optimum dan interaksi pengguna, sementara penyalahgunaan boleh membawa kepada isu reka bentuk dan kebolehaksesan.

Apakah tujuan & lt; iframe & gt; Tag? Apakah pertimbangan keselamatan semasa menggunakannya? Apakah tujuan & lt; iframe & gt; Tag? Apakah pertimbangan keselamatan semasa menggunakannya? Mar 20, 2025 pm 06:05 PM

Artikel ini membincangkan & lt; iframe & gt; Tujuan TAG dalam membenamkan kandungan luaran ke dalam halaman web, kegunaan umum, risiko keselamatan, dan alternatif seperti tag objek dan API.

See all articles