亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > CSS > 正文

手把手教你CSS水平、垂直居中的10種方式(小結)

2024-07-11 09:00:24
字體:
來源:轉載
供稿:網友

面試必備,工作一定會用到。emmm大家都懂的,話不多說,先直接貼一個總結和效果圖。

總結

  • PC端有兼容性要求,子元素寬高固定,推薦absolute + 負margin
  • PC端有兼容要求,子元素寬高不固定,推薦absolute + transform
  • PC端無兼容性要求,推薦flex
  • 移動端推薦使用flex

在這里插入圖片描述

要怎么實現上面這幅圖的效果呢,下面為大家總結了10中常用的方法。首先我先創建一個公共的模板樣式

<template>  <div class="two">    <div class="parent">      <div class="child">123</div>    </div>  </div></template><style lang="less" scoped>.parent{  margin: 0 auto;  width: 300px;  height: 300px;  border: 1px solid red;  box-sizing: border-box;  .child {    height: 100px;    width: 100px;    background: #2f8df0;  }}</style>

然后具體用到的樣式單獨寫在方法里面,首先先介紹4個平時布局的技巧。

1.水平居中div里面的div,設置子元素的寬度。

.parent{	width:300px;    margin:0 auto;}

注意:如果子元素設置了display:table-cell,那么margin:0 auto;將會失效。

2.設置文字垂直居中,設置包含文字div的高。

.child{    text-align:center    line-height:100px //知道子元素的高,設置和高一樣的高度}

3.兩個或者多個塊級元素垂直居中對齊,父元素設置height和line-height相等。

 .parent{     line-height: 300px; //知道父元素的高,設置和高一樣的高度	 }   .child1{    display: inline-block;    vertical-align: middle;    line-height: initial;  //initial 關鍵字用于設置 CSS 屬性為它的默認值。   }   .child2{    display: inline-block;    vertical-align: middle;    line-height: initial;  //initial 關鍵字用于設置 CSS 屬性為它的默認值。   }

4.讓一個元素充滿當前整個容器,設置absolute

.parent{position: absolute;top: 0;bottom: 0;left: 0;right: 0;}

OK,介紹完畢,下面開始介紹CSS實現水平垂直居中的方式。

1.不需要設置子元素的寬高,需要設置父元素的高度。使用 absolute + transform (推薦)

.parent{   position: relative }.child{    position: absolute;    top:50%;    left:50%;    transform:translate(-50%,-50%)}// 備注一下,如果只需要上下居中那就只要保留top,只要左右居中的話就保留left,translate設置   translateY(-50%)或者translateX(-50%)

2.不需要設置子元素的寬高,不需要設置父元素的寬高。 使用flex布局(建議移動端直接使用flex
pc端看需要兼容的情況。)

.parent{  display:flex;  align-items:center;  justify-content:center;}.child{ }

3.不需要設置子元素的寬高,需要設置父元素的高度。使用 lineheight。
注意:這種方法需要通過text-align在子元素中將文字顯示重置為想要的效果

.parent{    line-height: 300px;  //設置和父元素的高度一樣    text-align: center;}.child{    display: inline-block;    vertical-align: middle;    line-height: initial; //initial 關鍵字用于設置 CSS 屬性為它的默認值。    text-align: left;  //將文字顯示重置為想要的效果}

4.不需要設置子元素的寬高,需要設置父元素的高度。使用css-table (使用之后此元素的margin:0 auto會失效)

.parent{    display: table-cell;    vertical-align: middle;    text-align: center;}.child{  display: inline-block;}

5.設置子元素的寬高,設置父元素的高度。 使用absolute + 負margin

.parent{   position: relative }.child{    position: absolute;    top: 50%;    left: 50%;    margin-left: -50px; //知道子元素的寬高    margin-top: -50px;  //知道子元素的寬高}

6.設置子元素的寬高,設置父元素的高度。使用 absolute + margin auto

.parent{   position: relative }.child{    position: absolute;    top: 0;    left: 0;    right: 0;    bottom: 0;    margin: auto;}

7.設置子元素的寬高,設置父元素的高度。 使用 absolute + calc(這種方法兼容性依賴calc的兼容性)

.parent{   position: relative }.child{    position: absolute;    top: calc(50% - 50px);    left: calc(50% - 50px);}

8.使用writing-mode(使用起來比較復雜,不推薦)

 //公共的樣式在最上面 <div class="parent">      <div class="box-child">        <div class="child">123</div>      </div>    </div>
.parent{     writing-mode: vertical-lr; //改變文字顯示的方向    text-align: center;}.box-child{    writing-mode: horizontal-tb;    display: inline-block;    text-align: center;    width: 100%;}.child{    text-align: left; //將文字顯示重置為想要的效果    margin: 0 auto;}       

9.不需要設置子元素的寬高,不需要設置父元素的寬高。 使用grid布局(不建議使用,目前兼容性不是很好)

.parent{    display: grid;}.child{     align-self: center;     justify-self: center;}

10.使用table布局(純粹湊方法,這年頭,誰還用table布局呀,哈哈哈哈)

<table>    <tbody>        <tr>            <td class="parent">                <div class="child">123</div>            </td>        </tr>    </tbody></table>
.parent{    text-align: center;}.child{    display: inline-block;}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产91色在线播放| 国产精品老女人视频| 国产精品第一视频| 社区色欧美激情 | 热久久视久久精品18亚洲精品| 亚洲精品综合精品自拍| 在线视频免费一区二区| 国产精品成人va在线观看| 日韩电影大全免费观看2023年上| 日韩免费在线看| 欧美日韩爱爱视频| 97色在线视频| 欧美高清在线观看| 国产第一区电影| 欧美综合一区第一页| 中文字幕不卡av| 日韩精品视频免费在线观看| 欧美大片大片在线播放| 中文字幕无线精品亚洲乱码一区| 久久久国产精彩视频美女艺术照福利| 久久精品国产96久久久香蕉| 日本一区二三区好的精华液| 中文字幕日韩电影| 久久免费观看视频| 一本色道久久88综合日韩精品| 国产精品爽爽ⅴa在线观看| 亚洲精品成人久久久| www.日韩不卡电影av| 成人欧美一区二区三区在线湿哒哒| 亚洲电影中文字幕| 黄色成人av网| 欧美激情视频一区二区三区不卡| 成人免费看吃奶视频网站| 青草青草久热精品视频在线观看| 欧美一区二区三区四区在线| 欧美乱人伦中文字幕在线| 久久久精品视频成人| 亚洲欧美日韩天堂一区二区| 亚洲成人久久网| 2019国产精品自在线拍国产不卡| 亚洲精品国产福利| 精品香蕉在线观看视频一| 欧美一级bbbbb性bbbb喷潮片| 久久久国产精品免费| 欧美视频二区36p| 国产精品极品美女粉嫩高清在线| 91精品视频在线免费观看| 国产一区二区三区在线免费观看| 中文字幕国产精品久久| 91沈先生作品| 日本一区二三区好的精华液| 亚洲欧美中文日韩在线v日本| 中文字幕亚洲一区二区三区五十路| 亚洲国产精品va在看黑人| 国产日韩在线一区| 伊人久久精品视频| 久久久精品久久久| 欧美性理论片在线观看片免费| 国产伦精品免费视频| 亚洲国产精品小视频| 成人精品久久一区二区三区| 亚洲国产小视频在线观看| 伊人久久免费视频| 国产精品18久久久久久首页狼| 日韩视频免费在线观看| 欧美极品少妇xxxxⅹ喷水| 精品国产区一区二区三区在线观看| 欧美视频免费在线| 久久久久一本一区二区青青蜜月| 欧美性极品少妇精品网站| 国产精品亚洲аv天堂网| 国产精品美女久久久久av超清| 国产精品美乳一区二区免费| 久久这里只有精品99| 亚洲色在线视频| 亚洲片在线资源| 日韩av免费看| 亚洲网站视频福利| 黑人巨大精品欧美一区免费视频| 欧美超级免费视 在线| 欧美精品18videos性欧| 日韩免费av在线| 中文字幕亚洲图片| 欧美日韩视频在线| 国产精品爽爽ⅴa在线观看| 精品亚洲一区二区三区| 97精品视频在线观看| 国产区精品视频| 日韩久久精品成人| 欧美激情视频网| 欧美最猛性xxxxx亚洲精品| 国产精品直播网红| 91久久久久久久久久久久久| 亚洲最新中文字幕| 影音先锋欧美在线资源| 日韩在线观看免费av| 国产精品www| 91九色国产社区在线观看| 色777狠狠综合秋免鲁丝| 日韩精品在线视频美女| 国产欧美精品在线| 日韩电影在线观看免费| 国内精品久久久久伊人av| 久久人人爽人人爽人人片av高清| 狠狠躁夜夜躁人人爽超碰91| 日本久久亚洲电影| 成人国产在线视频| 国产成人精品视频| 午夜精品久久久久久久99热浪潮| 亚洲黄页网在线观看| 97精品国产91久久久久久| 亚洲精品美女网站| 欧美极品少妇xxxxⅹ免费视频| 伊人伊成久久人综合网站| 6080yy精品一区二区三区| 国产日韩精品在线播放| 麻豆国产va免费精品高清在线| 精品国产31久久久久久| 一区二区三区亚洲| 蜜臀久久99精品久久久无需会员| 国产成人黄色av| 欧美成人免费在线视频| 91网站在线免费观看| 91免费版网站入口| xxxx欧美18另类的高清| 国产97免费视| 亚洲综合精品伊人久久| 国产精品亚洲欧美导航| 日韩国产精品亚洲а∨天堂免| 久久影院在线观看| 黑人精品xxx一区一二区| 欧美一级视频一区二区| 91久久在线视频| 国产精品视频中文字幕91| www国产91| 久久在精品线影院精品国产| 日韩精品免费在线| 亚洲精品久久久久中文字幕二区| 国产高清视频一区三区| 亚洲天堂av在线播放| 久久综合色影院| 欧美成人精品影院| 日本精品中文字幕| 中文欧美在线视频| 欧美日韩国产123| 欧美大片在线看| 一本一本久久a久久精品牛牛影视| 亚洲天堂av图片| 按摩亚洲人久久| 亚洲free性xxxx护士hd| 欧美精品福利视频| 一本久久综合亚洲鲁鲁| 国产91成人video| 麻豆国产精品va在线观看不卡| 国产精品久久久久久搜索| 日韩在线国产精品| 成人免费自拍视频| 九九热最新视频//这里只有精品| 日韩有码在线播放| 欧美理论在线观看| 国内精品久久久久久中文字幕| 国产视频自拍一区| 午夜精品理论片| 国产精品99一区|