CSS布局問(wèn)題

1.居中布局:

水平居中:子元素于父元素水平居中且其(子元素與父元素)寬度均可變。

inline-block+text-align
<div class="parent">
     <div class="child">Demo</div>
 </div>
<style>
 .child { 
  display: inline-block;
  *display: inline;
  *zoom: 1;/**IE7中居中**/
 } 
.parent { text-align: center; }
</style>
兼容性佳(甚至可以兼容 IE 6 和 IE 7)

table+margin
<div class="parent"> 
  <div class="child">Demo</div>
</div>
<style> 
  .child { display: table; margin: 0 auto; }
</style>
display: table在表現(xiàn)上類(lèi)似 block 元素郑诺,但是寬度為內(nèi)容寬吁讨。支持 IE 8 及其以上版本揪利。

absolute + transform
<div class="parent"> 
  <div class="child">Demo</div>
</div>
<style>
   .parent { position: relative; }
   .child { position: absolute; left: 50%; transform: translateX(-50%); }
</style>
transform為 CSS3 屬性,有兼容性問(wèn)題

flex + justify-content
<div class="parent">
 <div class="child">Demo</div>
</div>
<style> 
  .parent { display: flex; justify-content: center; }
   /* 或者下面的方法,可以達(dá)到一樣的效果 */
  .parent { display: flex; } 
  .child { margin: 0 auto; }
</style>
有兼容性問(wèn)題

2.垂直居中

子元素于父元素垂直居中且其(子元素與父元素)高度均可變礼烈。

table-cell + vertical-align
<div class="parent"> 
  <div class="child">Demo</div>
</div>
<style> 
  .parent { display: table-cell; vertical-align: middle; }
</style>
兼容性好(支持 IE 8,以下版本需要調(diào)整頁(yè)面結(jié)構(gòu)至 table)

absolute + transform
<div class="parent"> 
  <div class="child">Demo</div>
</div>
<style>
   .parent { position: relative; } 
   .child { position: absolute; top: 50%; transform: translateY(-50%); }
</style>
flex + align-items
<div class="parent"> 
  <div class="child">Demo</div>
</div>
<style> 
  .parent { display: flex; align-items: center; }
</style>
有兼容性問(wèn)題

3.水平垂直居中

子元素于父元素垂直及水平居中且其(子元素與父元素)高度寬度均可變婆跑。

inline-block + text-align + table-cell + vertical-align
<div class="parent"> 
  <div class="child">Demo</div>
</div>
<style>
   .parent { text-align: center; display: table-cell; vertical-align: middle; } 
   .child { display: inline-block;}
</style>
兼容性好

absolute + transform
<div class="parent"> 
  <div class="child">Demo</div>
</div>
<style> 
  .parent { display: flex; justify-content: center; align-items: center; }
</style>

flex + justify-content + align-items
<div class="parent"> 
  <div class="child">Demo</div>
</div>
<style>
   .parent { display: flex; justify-content: center; align-items: center; }
</style>
有兼容性問(wèn)題

4.多列布局

多列布局在網(wǎng)頁(yè)中非常常見(jiàn)(例如兩列布局)此熬,多列布局可以是兩列定寬,一列自適應(yīng)滑进, 或者多列不定寬一列自適應(yīng)還有等分布局等犀忱。

一列定寬,一列自適應(yīng)
float + margin
<div class="parent"> 
  <div class="left"> 
    <p>left</p> 
  </div> 
  <div class="right">
     <p>right</p>
     <p>right</p> 
  </div>
</div>
<style> 
  .left { float: left; width: 100px; }
  .right { margin-left: 100px /*間距可再加入 margin-left */ }
</style>
NOTE:IE 6 中會(huì)有3像素的 BUG扶关,解決方法可以在 .left加入 margin-left:-3px阴汇。

float + margin + (fix) 改造版
<div class="parent"> 
  <div class="left"> 
    <p>left</p> 
  </div> 
  <div class="right-fix">
     <div class="right">
       <p>right</p> 
       <p>right</p> 
     </div> 
  </div>
</div>
<style>
  .left { float: left; width: 100px; } 
  .right-fix { float: right; width: 100%; margin-left: -100px; }
  .right { margin-left: 100px /*間距可再加入 margin-left */ }
</style>
NOTE:此方法不會(huì)存在 IE 6 中3像素的 BUG,但 .left不可選擇节槐, 需要設(shè)置 .left {position: relative}來(lái)提高層級(jí)搀庶。 此方法可以適用于多版本瀏覽器(包括 IE6)。缺點(diǎn)是多余的 HTML 文本結(jié)構(gòu)铜异。

float + overflow
<div class="parent"> 
  <div class="left"> 
    <p>left</p>
  </div>
 <div class="right"> 
    <p>right</p> 
    <p>right</p>
 </div>
</div>
<style>
 .left { float: left; width: 100px; } 
 .right { overflow: hidden; }
</style>
設(shè)置 overflow: hidden會(huì)觸發(fā) BFC 模式(Block Formatting Context)塊級(jí)格式化文本哥倔。 BFC 中的內(nèi)容與外界的元素是隔離的
  • 不支持 IE 6

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末揍庄,一起剝皮案震驚了整個(gè)濱河市咆蒿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌币绩,老刑警劉巖蜡秽,帶你破解...
    沈念sama閱讀 223,126評(píng)論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異缆镣,居然都是意外死亡芽突,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門(mén)董瞻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)寞蚌,“玉大人田巴,你說(shuō)我怎么就攤上這事⌒樱” “怎么了壹哺?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,941評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)艘刚。 經(jīng)常有香客問(wèn)我管宵,道長(zhǎng),這世上最難降的妖魔是什么攀甚? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,294評(píng)論 1 300
  • 正文 為了忘掉前任箩朴,我火速辦了婚禮,結(jié)果婚禮上秋度,老公的妹妹穿的比我還像新娘炸庞。我一直安慰自己,他們只是感情好荚斯,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布埠居。 她就那樣靜靜地躺著,像睡著了一般事期。 火紅的嫁衣襯著肌膚如雪滥壕。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,874評(píng)論 1 314
  • 那天刑赶,我揣著相機(jī)與錄音捏浊,去河邊找鬼懂衩。 笑死撞叨,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的浊洞。 我是一名探鬼主播牵敷,決...
    沈念sama閱讀 41,285評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼法希!你這毒婦竟也來(lái)了枷餐?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 40,249評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤苫亦,失蹤者是張志新(化名)和其女友劉穎毛肋,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體屋剑,經(jīng)...
    沈念sama閱讀 46,760評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡润匙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了唉匾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片孕讳。...
    茶點(diǎn)故事閱讀 40,973評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡匠楚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出厂财,到底是詐尸還是另有隱情芋簿,我是刑警寧澤,帶...
    沈念sama閱讀 36,631評(píng)論 5 351
  • 正文 年R本政府宣布璃饱,位于F島的核電站与斤,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏荚恶。R本人自食惡果不足惜幽告,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望裆甩。 院中可真熱鬧冗锁,春花似錦、人聲如沸嗤栓。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,797評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)茉帅。三九已至叨叙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間堪澎,已是汗流浹背擂错。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,926評(píng)論 1 275
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留樱蛤,地道東北人钮呀。 一個(gè)月前我還...
    沈念sama閱讀 49,431評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像昨凡,于是被迫代替她去往敵國(guó)和親爽醋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案便脊? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,762評(píng)論 1 92
  • 前言 溫馨提示:本文較長(zhǎng)蚂四,圖片較多,本來(lái)是想寫(xiě)一篇 CSS 布局方式的哪痰,但是奈何 CSS 布局方式種類(lèi)太多并且實(shí)現(xiàn)...
    sunshine小小倩閱讀 3,142評(píng)論 0 59
  • 水平居中布局 首先我們來(lái)看看水平居中 1.margin + 定寬 Demo.child{width:100px;m...
    xiaotao123閱讀 327評(píng)論 0 1
  • 至少我變成了更好的人了 不是嗎遂赠?
    SweetCC閱讀 184評(píng)論 0 0
  • 因工作需要年后再次去亳州出差,巧合的是今天情人節(jié)晌杰,下午兩點(diǎn)二十五的火車(chē)跷睦。昨天去蚌埠陪父親做手術(shù),晚上匆匆忙忙...
    nike簡(jiǎn)書(shū)閱讀 233評(píng)論 0 0