最全CSS各種布局詳解

一眶明、單列布局的實(shí)現(xiàn)

1凯傲、單列布局中最常用的水平居中的四種方法

  • 同時(shí)設(shè)置父元素和子元素的樣式:父元素使用text-align實(shí)現(xiàn),子元素使用inline-block浴栽。這里寬高背景只是為了展示坏晦。
 .parent{
        text-align: center;
    }
 .child{
        display: inline-block;
        width: 100px;
        height: 100px;
        background-color: aqua;
    }
  • 使用margin:0 auto來(lái)實(shí)現(xiàn)睁冬,必須要設(shè)置一個(gè)width.
.child{
        margin: 0 auto;
        width: 100px;
        height: 100px;
        background-color: aqua;
    }
  • 使用絕對(duì)定位,父元素使用相對(duì)狼荞,子元素絕對(duì)辽装。
.parent{
        position: relative;
    }
.child{
        position: absolute;
        left: 50%;
    }
  • 使用彈性盒flex布局實(shí)現(xiàn)
    彈性盒是專為不同尺寸和不同設(shè)備的元素排布而設(shè)計(jì)的。父元素中使用block:flex設(shè)置一個(gè)彈性盒相味,子元素中flex:number設(shè)置該子元素占一行中的幾份拾积。
<style>
   .header{
       display: flex;
     }
   a{
       margin: 0 auto;
   }
    .A,.C{
        flex: 1;
    }
    .B{
        flex: 2;
    }
</style>
<body>
<div class="header">
    <a href="##" class="A">AA</a>
    <a href="##" class="B">BB</a>
    <a href="##" class="C">CC</a>
</div>
</body>

彈性盒幾乎能實(shí)現(xiàn)目前存在的所有布局,它還有很多的內(nèi)容在這里也詳細(xì)說(shuō)一下丰涉。

 flex-direction:定義了排布是按行還是列拓巧。
 justify-content:對(duì)于彈性項(xiàng)沒(méi)有填滿彈性容器的時(shí)候,它定義彈性項(xiàng)是怎么對(duì)齊的一死。

二肛度、多列布局

1、多列布局的“雙飛翼布局”投慈,即左右固定承耿,中間自適應(yīng),他可以利用margin-left為負(fù)數(shù)來(lái)實(shí)現(xiàn)伪煤,它的實(shí)現(xiàn)原理就是margin為負(fù)值可以改變float元素的排列位置加袋。

<div class="main">
    <div class="main-content">main content</div>
</div>
<div class="left">left</div>
<div class="right">right</div>


*{
        margin:0;
        padding: 0
    }
    .main{
        float: left;
        width: 100%;

    }
    .main .main-content{
        margin: 0 210px;
        background-color: rgba(33, 114, 214, 0.8);
        height: 500px
    }
    .left{
        width: 200px;
        float: left;
        background-color: rgba(255, 82, 0, 0.8);
        margin-left: -100%;
        height: 200px

    }
    .right{
        width: 200px;
        height: 200px;
        margin-left: -200px;
        float: left;
        background-color: rgba(90, 243, 151, 0.8);
    }

多列布局的“雙飛翼布局”,也可以利用彈性盒實(shí)現(xiàn)抱既,同樣父元素設(shè)置display:flex, 子元素中左右固定欄設(shè)置為固定寬度职烧,中間自適應(yīng)部分設(shè)置flex:1.

<style>
    .parent{display:flex;}
    .left{
        width:100px;
        background-color: aqua;
    }
    .main{
        flex:1;
        background-color: red;
    }
    .right{
        width:100px;
        background-color: greenyellow;
    }
</style>
<div class="parent">
    <div class="left">left</div>
    <div class="main">main</div>
    <div class="right">right</div>
</div>

 

2、真正的多列布局
借助margin為負(fù)值可以增加寬度的方式來(lái)進(jìn)行多列布局。

<style>
.parent{
        margin:0 auto;
        width: 500px;
        border: 1px #ccc solid;
        margin-bottom: 20px;
}

.column{
    width:92px;
    height: 92px;
    background-color: #ccc;
    margin-bottom: 20px;
    float: left;
    margin-right: 10px;
}
</style>

<div class="parent">
    <div class="column">1</div>
    <div class="column">1</div>
    <div class="column">1</div>
    <div class="column">1</div>
</div>

同樣我們也可以使用彈性盒布局

<style>
    .parent{display:flex;}
    .column{flex:1;}
    .column +.column{margin-left:20px;}
</style>
<body>
<div class="parent">
    <div class="column">1</div>
    <div class="column">1</div>
    <div class="column">1</div>
    <div class="column">1</div>
</div>
</body>

三蚀之、響應(yīng)式布局

響應(yīng)式布局在不同的大小的屏幕上如何做出不同的布局蝗敢,視口指的是瀏覽器窗口的可視區(qū)域,視口大小決定了頁(yè)面布局的可用寬度足删,我們可以使用meta標(biāo)簽設(shè)置設(shè)置布局寬度等于設(shè)備寬度,布局viewport等于度量viewport.

<meta name="viewport" content="width=device-width,initial-scale=1">

此時(shí)寿谴,頁(yè)面布局的寬度就是你的設(shè)配的寬度。

使用媒體查詢來(lái)實(shí)現(xiàn)響應(yīng)設(shè)計(jì)(CSS3 media queries)

CSS3的media queries的模塊擴(kuò)展了@media的應(yīng)用壹堰,不僅可以識(shí)別不同煩人媒體類型拭卿,還能識(shí)別媒體的特征——比如屏幕寬度,像素等參數(shù)贱纠。media queries語(yǔ)法:@media 媒體類型 媒體識(shí)別條件表達(dá)式峻厚。

@media handheld, (min-width:700px) and (orientation:landscape){
    
}

當(dāng)使用有顯示屏的設(shè)備的時(shí)候:當(dāng)最小寬度<700px,或者是橫屏的時(shí)候執(zhí)行代碼。

在三欄布局中使用響應(yīng)設(shè)計(jì)

.row{
        width: 960px;
    }
    .row:after{
        clear: left;
        content: '';
        /*清除浮動(dòng)*/
        display: table;
    }
    [class^='col']{
        float: left;
    }
    .col1{
        width: 25%;
    }
    .col2{
        width: 50%;
    }
    .col3{
        width: 75%;
    }
    /** 屏幕設(shè)備寬度大于1200的時(shí)候谆焊,row寬度固定為1170px**/
    @media (min-width: 1200px) {
        .row{
            width:1170px
        }
    }
    /** 平板電腦的設(shè)置**/
    @media (min-width: 768px) and (max-width: 979px){
        .row{
            width:724px
        }
    }
    /** 橫屏手機(jī)或者豎屏平板的所有列按行排列**/
    @media  (max-width:767px){
        [class^='col']{
            float:none;
            width: 100%;
        }
        .row{
            width: 100%;
        }
    }
    /** 豎屏手機(jī)**/
    @media (max-width: 480px){

    }
</style>
<body>
<div class="container">
    <div class="row">
        <div class="header">header</div>
    </div>
    <div class="row">
        <div class="col1">q</div>
        <div class="col2">w</div>
        <div class="col1">e</div>
    </div>
    <div class="row">
        <div class="footer">footer</div>
    </div>
</div>
</body>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末惠桃,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子辖试,更是在濱河造成了極大的恐慌辜王,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件罐孝,死亡現(xiàn)場(chǎng)離奇詭異呐馆,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)莲兢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門汹来,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人改艇,你說(shuō)我怎么就攤上這事收班。” “怎么了谒兄?”我有些...
    開(kāi)封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵摔桦,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我承疲,道長(zhǎng)邻耕,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任燕鸽,我火速辦了婚禮赊豌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘绵咱。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布悲伶。 她就那樣靜靜地躺著艾恼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪麸锉。 梳的紋絲不亂的頭發(fā)上钠绍,一...
    開(kāi)封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音花沉,去河邊找鬼柳爽。 笑死,一個(gè)胖子當(dāng)著我的面吹牛碱屁,可吹牛的內(nèi)容都是我干的磷脯。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼娩脾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼赵誓!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起柿赊,我...
    開(kāi)封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤俩功,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后碰声,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诡蜓,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年胰挑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蔓罚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡洽腺,死狀恐怖脚粟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蘸朋,我是刑警寧澤核无,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站藕坯,受9級(jí)特大地震影響团南,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜炼彪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一吐根、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧辐马,春花似錦拷橘、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)萄唇。三九已至,卻和暖如春术幔,著一層夾襖步出監(jiān)牢的瞬間另萤,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工诅挑, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留四敞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓拔妥,卻偏偏與公主長(zhǎng)得像忿危,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子毒嫡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

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

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案癌蚁? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,748評(píng)論 1 92
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font兜畸,text-align努释,li...
    wzhiq896閱讀 1,749評(píng)論 0 2
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font咬摇,text-align伐蒂,li...
    love2013閱讀 2,314評(píng)論 0 11
  • 移動(dòng)開(kāi)發(fā)基本知識(shí)點(diǎn) 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,466評(píng)論 0 6
  • 門 要么開(kāi)著 要么關(guān)上 請(qǐng)不要虛掩 就如你的心門
    不不不不不不熱閱讀 264評(píng)論 5 8