日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > CSS >内容正文

CSS

最全CSS各种布局详解

發(fā)布時(shí)間:2023/12/18 CSS 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最全CSS各种布局详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、單列布局的實(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來實(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ì)說一下。

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

二、多列布局

1、多列布局的“雙飛翼布局”,即左右固定,中間自適應(yīng),他可以利用margin-left為負(fù)數(shù)來實(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ù)值可以增加寬度的方式來進(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ū)域,視口大小決定了頁面布局的可用寬度,我們可以使用meta標(biāo)簽設(shè)置設(shè)置布局寬度等于設(shè)備寬度,布局viewport等于度量viewport.

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

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

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

CSS3的media queries的模塊擴(kuò)展了@media的應(yīng)用,不僅可以識(shí)別不同煩人媒體類型,還能識(shí)別媒體的特征——比如屏幕寬度,像素等參數(shù)。media queries語法:@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>


?

總結(jié)

以上是生活随笔為你收集整理的最全CSS各种布局详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。