Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 91精品国产自产在线观看永久∴,日韩在线视频免费播放,日韩精品亚洲精品485页

          整合營(yíng)銷(xiāo)服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢(xún)熱線:

          CSS經(jīng)典面試題-如何使用絕對(duì)定位來(lái)讓元素水平垂直居

          CSS經(jīng)典面試題-如何使用絕對(duì)定位來(lái)讓元素水平垂直居中

          對(duì)于使用CSS屬性使得元素水平垂直居中問(wèn)題,基本是在前端面試問(wèn)題中必問(wèn)的一個(gè)問(wèn)題。由于這個(gè)問(wèn)題的回答要分好幾種情況,我也會(huì)寫(xiě)幾篇文章分別講述。

          今天這篇文章我們首先看看,只有一個(gè)元素的時(shí)候采用絕對(duì)定位如何實(shí)現(xiàn)水平垂直居中的。

          我已經(jīng)將代碼放到github上,感興趣的同學(xué)可以去看看。

          https://github.com/zhouxiongking/article-pages/blob/master/articles/position-center/position-absolute-center.html

          CSS

          場(chǎng)景

          我們假定頁(yè)面只有一個(gè)div元素,目的是通過(guò)CSS屬性控制該div元素的水平垂直居中。

          因?yàn)檫@篇文章講述的是絕對(duì)定位方法,因此要將div的position設(shè)置為absolute。為了讓div的水平垂直居中看起來(lái)更形象,我們添加border屬性。

          通用屬性

          接下來(lái)我們看看兩種實(shí)現(xiàn)方法吧。

          方法1

          在方法1中,我們首先需要使用margin: auto;在普通內(nèi)容流中,margin: auto;相當(dāng)于margin-top:0;margin-bottom:0。

          其次因?yàn)閐iv已經(jīng)被設(shè)置為absolute,脫離文檔流,因此可以方便設(shè)置left,top,right,bottom四個(gè)值。

          將left,top,right,bottom四個(gè)之都設(shè)置為0,瀏覽器會(huì)重新分配一個(gè)邊界框,這樣整個(gè)元素就會(huì)填充body所有可用空間。

          為了讓元素能呈現(xiàn)水平垂直居中的狀態(tài),必須給div元素設(shè)置高度和寬度,添加height和width屬性。

          通過(guò)以上描述,我們可以得到以下的CSS屬性。

          css屬性

          通過(guò)在頁(yè)面上測(cè)試,我們可以得到以下的效果。而且不管瀏覽器窗口大小怎么變化,這個(gè)div元素始終是水平垂直居中的狀態(tài)。

          方法1效果圖

          方法2

          方法2更好理解一些,首先給div設(shè)定高度和寬度。

          由于position設(shè)置為absolute;給div設(shè)定left和top屬性都為50%

          最后將div的margin-left和margin-top設(shè)置為寬度和高度的一半。

          通過(guò)以上描述,得到以下的CSS代碼。

          CSS代碼

          通過(guò)在頁(yè)面上測(cè)試,我們可以得到以下效果圖。而且不管瀏覽器窗口大小怎么變化,這個(gè)div元素始終是水平垂直居中的狀態(tài)。

          方法2效果圖

          方法優(yōu)點(diǎn)

          1. 上述兩種方法的CSS屬性都未曾使用CSS3特性,因此不用擔(dān)心兼容性問(wèn)題。

          2. 兩種方法均只需要這一個(gè)類(lèi),就可實(shí)現(xiàn)在任何內(nèi)容塊的水平垂直居中。

          3. 是否設(shè)置padding值對(duì)居中效果沒(méi)有影響

          方法缺點(diǎn)

          1. 元素必須設(shè)置高度和寬度,不設(shè)置的話(huà)將不會(huì)有任何效果。

          2. 由于必須設(shè)置高度,相當(dāng)于定高,因此為了防止內(nèi)容邊界溢出,一般需要設(shè)置overflow屬性。

          方法的優(yōu)點(diǎn)很明顯,效果也很容易達(dá)到;但是方法缺點(diǎn)也是很明顯的,因?yàn)橛泻芏嘣囟嘉幢厥嵌ǜ吆投▽挼摹?偟膩?lái)說(shuō)還是應(yīng)該看看實(shí)際應(yīng)用場(chǎng)景。

          結(jié)束語(yǔ)

          今天這篇文章只是講解了,使用絕對(duì)定位讓元素水平垂直居中。后面會(huì)繼續(xù)講解其他元素水平垂直居中的情況,敬請(qǐng)期待吧。

          素分類(lèi)

          在講解CSS布局之前,我們需要提前知道一些知識(shí),在CSS中,html中的標(biāo)簽元素大體被分為三種不同的類(lèi)型:

          塊狀元素、內(nèi)聯(lián)元素(又叫行內(nèi)元素)和內(nèi)聯(lián)塊狀元素。

          常用的內(nèi)聯(lián)元素有:

          <a>、<span>、<br/>、<sub>、<sup>、<label>、<b>、<i>、<u>、<del>

          常用的塊狀元素有:

          <div>、<p>、<h1>...<h6>、<ol>、<ul>、<li>、<dl>、<dt>、<dl>、<table>、<marquee>、<form>、<pre>

          常用的內(nèi)聯(lián)塊狀元素(又叫行內(nèi)塊元素)有:

          <img>、<input>

          內(nèi)聯(lián)元素(行內(nèi))

          在html中,<span>、<a>、<label>、<input>、 <img>、 <strong> 和<em>就是典型的內(nèi)聯(lián)元素(行內(nèi)元素)(inline)元素。

          當(dāng)然塊狀元素也可以通過(guò)代碼display:inline將元素設(shè)置為內(nèi)聯(lián)元素。如下代碼就是將塊狀元素div轉(zhuǎn)換為內(nèi)聯(lián)元素,從頁(yè)使用div元素具有內(nèi)聯(lián)元素特點(diǎn)。

          div{display:inline}

          內(nèi)聯(lián)元素(行內(nèi))特點(diǎn):

          1、和其他元素都在一行上;

          2、元素的高度、寬度、行高及頂部和底部邊距不可設(shè)置;(padding可以設(shè)置)

          3、元素的寬度就是它包含的文字或圖片的寬度,不可改變。

          塊級(jí)元素

          什么是塊級(jí)元素?在html中<div>、<p>、<h1>、<form>、<ul> 和 <li>就是塊級(jí)元素。

          設(shè)置display:block就是將元素顯示為塊級(jí)元素。如下代碼就是將內(nèi)聯(lián)元素a轉(zhuǎn)換為塊狀元素,從而使a元素具有塊狀元素特點(diǎn)。

          a{display:block;}

          塊級(jí)元素特點(diǎn):

          1、每個(gè)塊級(jí)元素都從新的一行開(kāi)始,并且其后的元素也另起一行。(真霸道,一個(gè)塊級(jí)元素獨(dú)占一行)

          2、元素的高度、寬度、行高以及頂和底邊距都可設(shè)置。

          3、元素寬度在不設(shè)置的情況下,是它本身父容器的100%(和父元素的寬度一致),除非設(shè)定一個(gè)寬度。

          內(nèi)聯(lián)塊狀元素(行內(nèi)塊)

          內(nèi)聯(lián)塊狀元素(inline-block)就是同時(shí)具備內(nèi)聯(lián)元素、塊狀元素的特點(diǎn),

          代碼display:inline-block就是將元素設(shè)置為內(nèi)聯(lián)塊狀元素。(css2.1新增),<img>、<input>標(biāo)簽就是這種內(nèi)聯(lián)塊狀標(biāo)簽。

          inline-block元素特點(diǎn):

          1、和其他元素都在一行上;

          2、元素的高度、寬度、行高以及頂和底邊距都可設(shè)置。

          提示:下一小節(jié)是用視頻動(dòng)畫(huà)來(lái)講解css中的盒模型。

          塊元素盡量采用div嵌套, 行內(nèi)元素盡量采用span嵌套

          顯示模式的轉(zhuǎn)換

          塊級(jí)、行內(nèi) 、行內(nèi)塊元素三者是可以相互轉(zhuǎn)換的。

          display 顯示 的意思

          block 塊

          inline 行內(nèi)


          塊級(jí) → 行內(nèi)元素 display: inline;

          <style>
          div{
              width:100px;
              height:100px;
              background-color:#036;
              display:inline;
          }
          </style>

          行內(nèi)元素 → 塊級(jí)元素 display: block;

          <style>
          a{
              width:100px;
              height:100px;
              background-color:#960;
              display:block
          }
          </style>

          行內(nèi)和塊級(jí) → 行內(nèi)塊 display:inline-block;

          span{
              width:100px;
              height:100px;
              background-color:#960;
              didplay:inline-block;
          }

          水平居中設(shè)置-行內(nèi)元素

          如果被設(shè)置元素為文本、圖片等行內(nèi)元素時(shí),水平居中是通過(guò)給父元素設(shè)置text-align:center來(lái)實(shí)現(xiàn)的。如下代碼:

          html代碼:

          <body>
          <div class="txtCenter">我是文本,哈哈,我想要在父容器中水平居中顯示。</div>
          <div class="imgCenter"><img src="http://img.mukewang.com/52da54ed0001ecfa04120172.jpg" /></div>
          </body>

          css代碼:

          <style>
          div.txtCenter{
          text-align:center;
          }
          div.imgCenter{
          text-align:center;
          }
          </style>

          水平居中設(shè)置-定寬塊狀元素

          當(dāng)被設(shè)置元素為塊狀元素時(shí)用text-align:center就不起作用了,這時(shí)也分兩種情況:定寬塊狀元素和不定寬塊狀元素。

          滿(mǎn)足定寬和塊狀兩個(gè)條件的元素是可以通過(guò)設(shè)置"左右margin"值為"auto"來(lái)實(shí)現(xiàn)居中的。我們來(lái)看個(gè)例子就是設(shè)置div這個(gè)塊狀元素水平居中:

          第一種方法

          html代碼:

          <body>
          <div>我是定寬塊狀元素,哈哈,我要水平居中顯示。</div>
          </body>

          css代碼:

          <style>
          div{
          border:1px solid red;/*為了顯示居中效果明顯為 div 設(shè)置了邊框*/
          width:500px;/*定寬*/
          margin:20px auto;/* margin-left 與 margin-right 設(shè)置為 auto */
          }
          </style>

          也可以寫(xiě)成:

          margin-left:auto;
          margin-right:auto;

          注意:元素的"上下margin"是可以隨意設(shè)置的。這種水平居中的方法兩個(gè)2個(gè)條件缺一不可

          第二種方法

          html代碼:

          <body>
          <div>我是定寬塊狀元素,哈哈,我要水平居中顯示。</div>
          </body>

          css代碼:

          <style>
          div{
          border:1px solid red;/*為了顯示居中效果明顯為 div 設(shè)置了邊框*/
          width:500px;/*定寬*/
          position:absoute;
          left:50px;
          margin-left:-25px;
          }
          </style>

          水平居中設(shè)置-不定寬塊狀元素

          在實(shí)際工作中我們會(huì)遇到需要為"不定寬度的塊狀元素"設(shè)置居中,比如網(wǎng)頁(yè)上的分頁(yè)導(dǎo)航,因?yàn)榉猪?yè)的數(shù)量是不確定的,所以我們不能通過(guò)設(shè)置寬度來(lái)限制它的彈性。

          不定寬度的塊狀元素有三種方法居中(這三種方法目前使用的都比多):

          加入table標(biāo)簽

          設(shè)置display;inline方法

          設(shè)置position:relative和left:50%;

          (1)第一種方法:

          第一步:為需要設(shè)置的居中的元素外面加入一個(gè)table標(biāo)簽(包括<tbody>、<tr>、<td>)。

          第二步:為這個(gè)table設(shè)置"左右margin auto"(這個(gè)和定寬塊狀元素的方法一樣)。舉例如下:

          html代碼:

          <div>
          <table>
          <tbody>
          <tr><td>
          <ul>
          <li><a href="#">1</a></li>
          <li><a href="#">2</a></li>
          <li><a href="#">3</a></li>
          </ul>
          </td></tr>
          </tbody>
          </table>
          </div>

          css代碼:

          <style>
          table{
          margin:0 auto;
          }
          ul{list-style:none;margin:0;padding:0;}
          li{float:left;display:inline;margin-right:8px;}
          </style>

          (2)第二種方法:

          改變塊級(jí)元素的dispaly為inline類(lèi)型,然后使用text-align:center來(lái)實(shí)現(xiàn)居中效果。如下例子:

          html代碼:

          <body>
          <div class="container">
          <ul>
          <li><a href="#">1</a></li>
          <li><a href="#">2</a></li>
          <li><a href="#">3</a></li>
          </ul>
          </div>
          </body>

          css代碼:

          <style>
          .container{
          text-align:center;
          }
          .container ul{
          list-style:none;
          margin:0;
          padding:0;
          display:inline;
          }
          .container li{
          margin-right:8px;
          display:inline;
          }
          </style>

          這種方法相比第一種方法的優(yōu)勢(shì)是不用增加無(wú)語(yǔ)義標(biāo)簽,簡(jiǎn)化了標(biāo)簽的嵌套深度,

          但也存在著一些問(wèn)題:它將塊狀元素的display類(lèi)型改為inline,變成了行內(nèi)元素,所以少了一些功能,比如設(shè)定長(zhǎng)度值。

          (2)第三種方法:

          通過(guò)給父元素設(shè)置float,然后給父元素設(shè)置position:relative和left:50%,子元素設(shè)置position:relative和left:-50%來(lái)實(shí)現(xiàn)水平居中

          代碼如下:

          <body>
          <div class="container">
          <ul>
          <li><a href="#">1</a></li>
          <li><a href="#">2</a></li>
          <li><a href="#">3</a></li>
          </ul>
          </div>
          </body>

          css代碼:

          <style>
          .container{
          float:left;
          position:relative;
          left:50%
          }
          .container ul{
          list-style:none;
          margin:0;
          padding:0;
          position:relative;
          left:-50%;
          }
          .container li{float:left;display:inline;margin-right:8px;}
          </style>

          這種方法可以保留塊狀元素仍以display:block的形式顯示,優(yōu)點(diǎn)不添加無(wú)語(yǔ)議表標(biāo)簽,不增加嵌套深度,

          但它的缺點(diǎn)是設(shè)置了position:relative,帶來(lái)了一定的副作用。

          這三種方法使用得都非常廣泛,各有優(yōu)缺點(diǎn),具體選用哪種方法,可以視具體情況而定。

          隱性改變display類(lèi)型

          有一個(gè)有趣的現(xiàn)象就是當(dāng)為元素(不論之前是什么類(lèi)型元素,display:none除外)設(shè)置以下2個(gè)句之一:

          position:absolute

          float:left或float:right

          元素會(huì)自動(dòng)變?yōu)橐詃isplay:inline-block的方式顯示,當(dāng)然就可以設(shè)置元素的width和height了且默認(rèn)寬度不占滿(mǎn)父元素。

          如下面的代碼,小伙伴們都知道a標(biāo)簽是行內(nèi)元素,所以設(shè)置它的width是沒(méi)有效果的,但是設(shè)置為position:absolute以后,就可以了。

          <div class="container">
          <a href="#" title="">進(jìn)入課程請(qǐng)單擊這里</a>
          </div>

          css代碼

          <style>
          .container a{
          position:absolute;
          width:200px;
          background:#ccc;
          }
          </style>

          如何讓一段文字水平居中且垂直居中

          <div>水平垂直居中</div>
          div{
          width:200px;height:200px; /*設(shè)置div的大小*/
          border:1px solid green; /*邊框*/
          text-align: center; /*文字水平居中對(duì)齊*/
          line-height: 200px; /*設(shè)置文字行距等于div的高度*/
          overflow:hidden;
          }

          text-align 和margin auto 區(qū)別

          text-align 可以讓塊級(jí)元素里面的文字內(nèi)容居中對(duì)齊.

          文字內(nèi)容==(圖片 input 行內(nèi)元素 行內(nèi)塊元素)

          但是對(duì)于里面的塊級(jí)元素?zé)o效

          讓一個(gè)塊級(jí)元素居中對(duì)齊 : margin:0 auto;

          【實(shí)例】

          <!DOCTYPE html>
          <html lang="en">
          <head>
          <meta charset="UTF-8" />
          <title>趙麗穎的圖片</title>
          <style type="text/css">
          body{
          text-align:center; /* 所有的元素居中 */
          }
          div{ /*塊元素的居中方法*/
          width:600px;
          margin:30px auto;
          }
          .img1{ /*行內(nèi)塊元素的居中方法 */
          display:block;
          width:600px;
          margin:30px auto;
          }
          .img2{ /*行內(nèi)塊元素的居中方法 */
          position:relative;
          left:50%;
          margin-left:-300px;
          }
          .form1 input{
          width:200px; /*塊容器包裹下的行內(nèi)塊元素居中方法*/
          margin:10px auto;
          }
          .img3{ /*塊容器包裹下的行內(nèi)塊元素居中方法*/
          text-align:center;
          }
          </style>
          </head>
          <body>
          <div><img src="../../photo/趙麗穎.jpeg" /></div>
          <img class="img1" src="../../photo/趙麗穎.jpeg" />
          <img class="img2" src="../../photo/趙麗穎.jpeg" />
          <div class="form1">
          <form action="" method="get" accept-charset="utf-8">
          <label>電子郵箱: <input type="text" name="email" value="" placeholder="請(qǐng)輸入電子郵箱"/></label><br/>
          <label>密碼: <input type="password" name="password"/></label><br/>
          <label for="address">地址</label>
          <input type="text" name="address" id="address" placeholder="請(qǐng)輸入地址" />
          </form>
          </div>
          
          <div class="img3">
          <img src="../../photo/趙麗穎.jpeg" />
          </div>
          
          </body>
          </html>

          CSS布局水平居中實(shí)戰(zhàn)

          方法一:margin + width

          <!Doctype html>
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
          <title>css布局水平居中margin + width</title>
          <style type="text/css">
          * {
          margin: 0;
          padding: 0;
          }
          .box {
          width: 100px;
          margin: 0 auto;
          background: red;
          }
          </style>
          </head>
          <body>
          <div class="box">Demo</div>
          </body>
          </html>

          說(shuō)明:這個(gè)水平居中方法, 我們最熟悉了, 也是最常用的, width可以固定px也可以使用百分比

          方法二:table + margin

          <!Doctype html>
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
          <title>css布局水平居中table + margin</title>
          <style type="text/css">
          * {
          margin: 0;
          padding: 0;
          }
          .box {
          display: table;
          margin: 0 auto;
          background: red;
          }
          </style>
          </head>
          <body>
          <div class="box">Demo</div>
          </body>
          </html>

          說(shuō)明:display: table在表現(xiàn)上類(lèi)似block元素,但是寬度為內(nèi)容寬。無(wú)需設(shè)置父元素樣式 (支持 IE 8 及其以上版本) 兼容 IE 8 一下版本需要調(diào)整為<table>

          方法三:inline-block + text-align

          <!Doctype html>
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
          <title>css布局水平居中inline-block + text-align</title>
          <style type="text/css">
          * {
          margin: 0;
          padding: 0;
          }
          .content {
          text-align: center;
          }
          .box {
          display: inline-block;
          background: red;
          }
          </style>
          </head>
          <body>
          <div class="content">
          <div class="box">Demo</div>
          </div>
          </body>
          </html>

          說(shuō)明:兼容性佳(甚至可以兼容 IE 6 和 IE 7)

          方法四:absolute + margin-left

          <!Doctype html>
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
          <title>css布局水平居中absolute + margin-left</title>
          <style type="text/css">
          * {
          margin: 0;
          padding: 0;
          }
          .content {
          position: relative;
          }
          .box {
          position: absolute;
          left: 50%;
          width: 100px;
          margin-left: -50px;
          background: red;
          }
          </style>
          </head>
          <body>
          <div class="content">
          <div class="box">Demo</div>
          </div>
          </body>
          </html>

          說(shuō)明:寬度固定相比于使用transform, 有兼容性更好

          方法五:absolute + transform

          <!Doctype html>
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
          <title>css布局水平居中absolute + transform</title>
          <style type="text/css">
          * {
          margin: 0;
          padding: 0;
          }
          .content {
          position: relative;
          }
          .box {
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          background: red;
          }
          </style>
          </head>
          <body>
          <div class="content">
          <div class="box">Demo</div>
          </div>
          </body>
          </html>

          說(shuō)明:絕對(duì)定位脫離文檔流, 不會(huì)對(duì)后續(xù)元素的布局造成影響。transform為 CSS3 屬性, 有兼容性問(wèn)題

          方法六:flex + justify-content

          、水平居中

          1.1 行內(nèi)元素

          .parent {
           text-align: center;
          }
          

          1.2 塊級(jí)元素

          1.2.1 塊級(jí)元素一般居中方法

          .son {
           margin: 0 auto;
          }
          

          1.2.2 子元素含 float

          .parent{
           width:fit-content;
           margin:0 auto;
          }
          .son {
           float: left;
          }
          

          1.2.3 Flex 彈性盒子

          1) flex 2012版

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

          2)flex 2009版

          .parent {
           display: box;
           box-orient: horizontal;
           box-pack: center;
          }
          

          1.2.4 絕對(duì)定位

          1)transform

          .son {
           position: absolute;
           left: 50%;
           transform: translate(-50%, 0);
          }
          

          2)left: 50%

          .son {
           position: absolute;
           width: 寬度;
           left: 50%;
           margin-left: -0.5*寬度
          }
          

          3)left/right: 0

          .son {
           position: absolute;
           width: 寬度;
           left: 0;
           right: 0;
           margin: 0 auto;
          }
          

          小結(jié)

          以上是 CSS 水平居中的 8 種方法。

          二、垂直居中

          2.1 行內(nèi)元素

          .parent {
           height: 高度;
          }
          .son {
           line-height: 高度;
          }
          

          注:① 子元素 line-height 值為父元素 height 值。② 單行文本。

          2.2 塊級(jí)元素

          2.2.1 行內(nèi)塊級(jí)元素

          .parent::after, .son{
           display:inline-block;
           vertical-align:middle;
          }
          .parent::after{
           content:'';
           height:100%;
          }
          

          適應(yīng) IE7。

          2.2.2 table

          .parent {
           display: table;
          }
          .son {
           display: table-cell;
           vertical-align: middle;
          }
          

          優(yōu)點(diǎn)

          • 元素高度可以動(dòng)態(tài)改變, 不需再CSS中定義, 如果父元素沒(méi)有足夠空間時(shí), 該元素內(nèi)容也不會(huì)被截?cái)唷?/li>

          缺點(diǎn)

          • IE6~7, 甚至IE8 beta中無(wú)效。

          2.2.3 Flex 彈性盒子

          1)flex 2012版

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

          優(yōu)點(diǎn)

          • 內(nèi)容塊的寬高任意, 優(yōu)雅的溢出。
          • 可用于更復(fù)雜高級(jí)的布局技術(shù)中。

          缺點(diǎn)

          • IE8/IE9不支持。
          • 需要瀏覽器廠商前綴。
          • 渲染上可能會(huì)有一些問(wèn)題。

          2)flex 2009版

          .parent {
           display: box;
           box-orien: vertical;
           box-pack: center;
          }
          

          優(yōu)點(diǎn)

          • 實(shí)現(xiàn)簡(jiǎn)單, 擴(kuò)展性強(qiáng)。

          缺點(diǎn)

          • 兼容性差, 不支持IE。

          2.2.4 絕對(duì)定位

          1)transform

          .son {
           position: absolute;
           top: 50%;
           transform: translate( 0, -50%);
          }
          

          優(yōu)點(diǎn)

          • 代碼少。

          缺點(diǎn)

          • IE8不支持, 屬性需要追加瀏覽器廠商前綴, 可能干擾其他 transform 效果, 某些情形下會(huì)出現(xiàn)文本或元素邊界渲染模糊的現(xiàn)象。

          2)top: 50%

          .son {
           position: absolute;
           top: 50%;
           height: 高度;
           margin-top: -0.5高度;
          }
          

          優(yōu)點(diǎn)

          • 適用于所有瀏覽器。

          缺點(diǎn)

          • 父元素空間不夠時(shí), 子元素可能不可見(jiàn)(當(dāng)瀏覽器窗口縮小時(shí),滾動(dòng)條不出現(xiàn)時(shí)).如果子元素設(shè)置了overflow:auto, 則高度不夠時(shí), 會(huì)出現(xiàn)滾動(dòng)條。

          3)top/bottom: 0;

          .son {
           position: absolute;
           top: 0;
           botton: 0;
           margin: auto 0;
          }
          

          優(yōu)點(diǎn)

          • 簡(jiǎn)單。

          缺點(diǎn)

          • 沒(méi)有足夠空間時(shí), 子元素會(huì)被截?cái)? 但不會(huì)有滾動(dòng)條。

          小結(jié)

          以上是 CSS 垂直居中的 8 種方法及其優(yōu)缺點(diǎn)。

          鏈接:https://juejin.im/post/5c8f9e595188252db756920c

          作者:Agoreal


          主站蜘蛛池模板: 手机福利视频一区二区| 国产高清视频一区三区| 成人国产一区二区三区| 91麻豆精品国产自产在线观看一区 | 色妞色视频一区二区三区四区| 精品三级AV无码一区| 精品视频一区在线观看| 久久精品一区二区三区资源网| 3D动漫精品啪啪一区二区下载| 精品乱人伦一区二区| 国产一区二区三区影院| 丝袜人妻一区二区三区| 国产福利一区二区| 国产精品久久无码一区二区三区网| 好湿好大硬得深一点动态图91精品福利一区二区 | 成人精品视频一区二区| 中文字幕一区二区三区久久网站| 国产成人高清精品一区二区三区| 国产精品一区二区四区| 国产精品亚洲午夜一区二区三区| 亚洲一区二区三区无码中文字幕| 国产无人区一区二区三区| 中文字幕一区二区三区久久网站| 变态拳头交视频一区二区 | 亚洲韩国精品无码一区二区三区| 韩国精品一区二区三区无码视频 | 午夜精品一区二区三区在线视| 国产主播福利精品一区二区| 国产SUV精品一区二区88| 国产精品视频一区二区三区经| 末成年女AV片一区二区| 肉色超薄丝袜脚交一区二区| 亚洲AV日韩AV天堂一区二区三区| 国产一区在线视频| 精品国产一区二区三区久久久狼| 一本岛一区在线观看不卡| 精品国产一区二区三区AV性色| 精品乱子伦一区二区三区高清免费播放 | 久久精品一区二区三区资源网| 久久久91精品国产一区二区| 日本国产一区二区三区在线观看|