九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
前端經(jīng)典案例:CSS水平、垂直居中布局

1、水平居中

1.1、行內(nèi)元素水平居中

這里行內(nèi)元素是指文本text、圖像img、按鈕超鏈接等,只需給父元素設(shè)置text-align:center即可實(shí)現(xiàn)。

.box {    text-align: center;    background-color: #f6e5dd;}<div class="box">    水平居中</div>

1.2、塊級(jí)元素水平居中

1.2.1、固定寬度塊級(jí)元素水平居中

只需給需要居中的塊級(jí)元素加margin:0 auto即可,但這里需要注意的是,這里塊狀元素的寬度width值一定要有

.box {    width: 200px;    margin: 0 auto;  /*左右margin值auto自動(dòng),不能為0*/        background-color: #f6e5dd;}<div class="box">水平居中</div>

?

1.2.2、不固定寬度塊級(jí)元素水平居中

  • 方法1:設(shè)置table布局

通過給要居中顯示的元素,設(shè)置display:table,然后設(shè)置margin:0 auto來實(shí)現(xiàn)

.box {    display: table;    margin: 0 auto;        background-color: #f6e5dd;}<div class="box">水平居中</div>

  • 方法2:設(shè)置子元素inline-block(多個(gè)塊狀子元素均可居中)

子元素設(shè)置inline-block,同時(shí)父元素設(shè)置text-align:center

.box {    text-align: center;        background-color: #f6e5dd;}.inlineblock-div {    display: inline-block;  /*不能設(shè)置為block或其他*/        text-align: center;    background-color: #d5eeeb;}<div class="box">    <div class="inlineblock-div">子元素1</div>    <div class="inlineblock-div">子元素2</div></div>

  • 方法3:設(shè)置flex布局

只需把要處理的塊狀元素的父元素設(shè)置display:flex,justify-content:center;

.box {    display: flex;    justify-content: center;        background-color: #f6e5dd;}.flex-div {    background-color: #d5eeeb;    border: 2px solid red;}<div class="box">    <div class="flex-div">子元素1</div>    <div class="flex-div">子元素2</div></div>

2、垂直居中

2.1、單行文本垂直居中

設(shè)置line-height=height;

.box {    height: 100px;    line-height: 100px;        background-color: #f6e5dd;}<div class="box">垂直居中的文本</div>

2.2、 多行文本垂直居中

通過設(shè)置父元素table,子元素table-cell和vertical-align

vertical-align:middle的意思是把元素放在父元素的中部

.box {    display: table;    width: 300px;    height: 200px;        background-color: #f6e5dd;}.table-div {    display: table-cell;    vertical-align: middle;        border: 5px solid blue;}<div class="box">    <div class="table-div">         垂直居中的文本<br/>        另一行文本    </div></div>

2.3、塊級(jí)元素垂直居中

  • 方法1:flex布局

在需要垂直居中的父元素上,設(shè)置display:flex和align-items:center

要求:父元素必須顯示設(shè)置height值

.box {    height: 100px;    width: 300px;    display: flex;    align-items: center;        background-color: #f6e5dd;}.item {    background-color: #d5eeeb;}<div class="box">    <div class="item">垂直居中的塊級(jí)元素</div></div>

  • 方法2:利用position和top和負(fù)margin(需知寬高)

.parent {    position: relative;    height: 200px;    width: 200px;        background-color: #f6e5dd;}.child {    position: absolute;    height: 100px;    width: 150px;    top: 50%;    margin-top: -50px;  /*高度的一半*/    line-height: 100px;    background-color: #d5eeeb;}<div class="parent">    <div class="child">已知高度垂直居中</div></div>

  • 方法3:利用position和top和transform

transform中translate偏移的百分比就是相對(duì)于元素自身的尺寸而言的。

.parent {    position: relative;    height: 200px;    width: 200px;    background-color: #f6e5dd;}.child {    position: absolute;    top: 50%;    transform: translate(0, -50%);    background-color: #d5eeeb;}<div class="parent">    <div class="child">已知高度垂直居中</div></div>

3、水平垂直居中

3.1、絕對(duì)定位 + 負(fù) Margin

  • 原理:首先利用 absolute 定位把容器塊 左頂角 對(duì)準(zhǔn)瀏覽器中心,然后再使用 負(fù) margin 把容器塊向左移動(dòng)自身寬度的一半,向上移動(dòng)自身高度的一半,即可以把容器塊的中心移到瀏覽器中心。

  • 優(yōu)點(diǎn):兼容性好

  • 缺點(diǎn):需要知道寬高,不夠靈活

.container {    /* ---容器盒子水平、垂直居中對(duì)齊--- */    width: 200px;    height: 100px;    position: absolute;    left: 50%;    top: 50%;    margin-left: -100px;    /* 寬度的一半 */    margin-top: -50px;  /* 高度的一半 */    /* ---內(nèi)容居中對(duì)齊--- */    line-height:100px;	/* 同容器盒子的高度一致 */    text-align: center;    background: #f6e5dd;}<div class="container">水平、垂直居中布局</div>

3.2、絕對(duì)定位+Transform

  • 原理:首先利用 absolute 定位把容器塊 左頂角 對(duì)準(zhǔn)瀏覽器中心,然后再使用 CSS3 transform 的 translate(x,y) 把容器塊向左(x)移動(dòng)自身寬度的一半,向上(y)移動(dòng)自身高度的一半,即可以把容器塊的中心移到瀏覽器中心。

  • 優(yōu)點(diǎn):不依賴盒子的寬高,比較靈活

  • 缺點(diǎn),兼容不好,在移動(dòng)設(shè)備上建議使用

.container {    /* ---容器盒子水平、垂直居中對(duì)齊--- */    position: absolute;    left: 50%;    top: 50%;    transform: translate(-50%, -50%);    width: 200px;    height: 100px;    /* ---內(nèi)容居中對(duì)齊--- */    line-height: 100px;    /* 同容器盒子的高度一致 */    text-align: center;    background: #e6f4f5;}<div class="container">水平、垂直居中布局</div

3.3、絕對(duì)定位 + 自動(dòng) Margin

  • 原理:瀏覽器自動(dòng)計(jì)算絕對(duì)定位的容器塊上下左右外邊距。

  • 優(yōu)點(diǎn):靈活切兼容性好(IE8+)

  • 缺點(diǎn):適用于本身有尺寸的元素(比如圖片),對(duì)于段落等必須顯式設(shè)置其寬高

.container {    /* ---容器盒子水平、垂直居中對(duì)齊--- */    position: absolute;    top: 0;    right: 0;    bottom: 0;    left: 0;    margin: auto;    width: 200px;    height: 100px;    /* ---內(nèi)容居中對(duì)齊--- */    line-height: 100px;    /* 同容器盒子的高度一致 */    text-align: center;    background: #d5eeeb;}<div class="container">水平、垂直居中布局</div>

3.4、Flex布局

  • 優(yōu)點(diǎn):不需要知道寬高

  • 缺點(diǎn):相對(duì)于父容器定位,兼容性不好

.container {    /* ---容器盒子水平、垂直居中對(duì)齊--- */    display: -webkit-flex;    display: -moz-flex;    display: -ms-flex;    display: -o-flex;    display: flex;    justify-content: center;    align-items: center;    width: 200px;    height: 100px;    background: #d5eeeb;}.child {    background: #f6e5dd;    height: 50px;    width: 100px;}<div class="container">    <div class="child">水平、垂直居中布局</div></div>

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
CSS的23個(gè)垂直居中技巧,你都學(xué)會(huì)了嗎?
淺談css中一個(gè)元素如何在其父元素居中顯示
web前端開發(fā)面試題分享,值得一看
CSS3之Flexbox布局
移動(dòng)Web開發(fā)必備基礎(chǔ)(flex容器屬性)
display : -webkit-box-inline 我見
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服