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 欧美综合在线播放,欧美啪啪网址,免费看欧美换爱交换乱理伦片

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

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

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

          CSS-設(shè)置水平居中總結(jié)

          平居中設(shè)置

          我們?cè)趯?shí)際工作中常會(huì)遇到需要設(shè)置水平居中的場(chǎng)景,比如為了美觀,文章的標(biāo)題一般都是水平居中顯示的。

          這里我們又得分兩種情況:行內(nèi)元素 還是 塊狀元素 ,塊狀元素里面又分為定寬塊狀元素,以及不定寬塊狀元素。今天我們先來(lái)了解一下

          行內(nèi)元素

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

          定寬塊狀元素

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

          如果是定寬塊狀元素。(定寬塊狀元素:塊狀元素的寬度width為固定值。)

          滿(mǎn)足定寬和塊狀兩個(gè)條件的元素是可以通過(guò)設(shè)置“左右margin”值為“auto”來(lái)實(shí)現(xiàn)居中的。

          不定寬塊狀元素

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

          1. 加入 table 標(biāo)簽
          2. 設(shè)置 display: inline 方法:與第一種類(lèi)似,顯示類(lèi)型設(shè)為 行內(nèi)元素,進(jìn)行不定寬元素的屬性設(shè)置
          3. 設(shè)置 position:relative 和 left:50%:利用 相對(duì)定位 的方式,將元素向左偏移 50% ,即達(dá)到居中的目的

          第一種做法:

          為什么選擇方法一加入table標(biāo)簽? 是利用table標(biāo)簽的長(zhǎng)度自適應(yīng)性---即不定義其長(zhǎng)度也不默認(rèn)父元素body的長(zhǎng)度(table其長(zhǎng)度根據(jù)其內(nèi)文本長(zhǎng)度決定),因此可以看做一個(gè)定寬度塊元素,然后再利用定寬度塊狀居中的margin的方法,使其水平居中。

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

          第二步:為這個(gè) table 設(shè)置“左右 margin 居中”(這個(gè)和定寬塊狀元素的方法一樣)。

          舉例如下:

          html代碼:

          <div>
           <table>
           <tbody>
           <tr><td>
           <ul>
           <li>我是第一行文本</li>
           <li>我是第二行文本</li>
           <li>我是第三行文本</li>
           </ul>
           </td></tr>
           </tbody>
           </table>
          </div>
          

          css代碼:

          <style>
          table{
           border:1px solid;
           margin:0 auto;
          }
          </style>
          

          第二種做法:

          改變塊級(jí)元素的 display 為 inline 類(lèi)型(設(shè)置為 行內(nè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;
          }
          /* margin:0;padding:0(消除文本與div邊框之間的間隙)*/
          .container ul{
           list-style:none;
           margin:0;
           padding:0;
           display:inline;
          }
          /* margin-right:8px(設(shè)置li文本之間的間隔)*/
          .container li{
           margin-right:8px;
           display:inline;
          }
          </style>
          

          這種方法相比第一種方法的優(yōu)勢(shì)是不用增加無(wú)語(yǔ)義標(biāo)簽,但也存在著一些問(wèn)題:它將塊狀元素的 display 類(lèi)型改為 inline,變成了行內(nèi)元素,所以少了一些功能,比如設(shè)定長(zhǎng)度值。

          方法三:

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

          我們可以這樣理解:假想ul層的父層(即下面例子中的div層)中間有條平分線將ul層的父層(div層)平均分為兩份,ul層的css代碼是將ul層的最左端與ul層的父層(div層)的平分線對(duì)齊;而li層的css代碼則是將li層的平分線與ul層的最左端(也是div層的平分線)對(duì)齊,從而實(shí)現(xiàn)li層的居中。

          代碼如下:

          <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>
          

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

          習(xí)css大家是不是對(duì)元素居中的知識(shí)點(diǎn)很是模糊?是不是苦于找不到一個(gè)總結(jié)的通俗易懂的說(shuō)明?是不是自己懶得去總結(jié)?今天小編在前端的學(xué)習(xí)與實(shí)踐中總結(jié)出的元素的五大居中方式,黏貼了代碼并對(duì)代碼做了解釋?zhuān)M麑?duì)迷茫的有所幫助!

          下面的居中示例中,統(tǒng)一使用了同一個(gè)div作為父元素和p作為子元素

          設(shè)置一個(gè)div,并且設(shè)置了div的寬高邊框,div里面設(shè)置一個(gè)塊元素p,設(shè)置了它的寬高和背景色

          css居中方式1

          這里利用了偽元素讓子元素p在div盒子里左右水平居中只需要在它的父元素div里加text-align:center;垂直方向居中需要在父元素后面加了一個(gè)偽元素,并使得樣式為inline-block;height:100%;就是和父元素一樣高,vertical-align:middle;垂直居中,也就是p元素相對(duì)與偽元素居中,由于偽元素和div一樣高,所以相當(dāng)于p元素在div里垂直居中。

          css居中方式2

          這里利用了定位居中

          子元素p設(shè)置position:absolute脫離文檔流,默認(rèn)以html作為父元素,所以我們給父元素div設(shè)置position:relative;使得p以div為父元素做位置的變動(dòng),left:0;tight:0;top:0;bottom:0;(只有設(shè)置了定位的元素才可以使用這種方式來(lái)移動(dòng)),最后margin:auto;就會(huì)水平和垂直都居中。

          css居中方式3

          這里利用了彈性盒居中

          父元素div設(shè)置成彈性盒樣式,justify-content:center;主軸居中

          align-items:center;垂直居中(而且這兩個(gè)只能設(shè)置在父元素上,彈性盒知識(shí))

          css居中方式4

          利用定位線左上角居中,然后左移子元素寬度的一半,再上移子元素高度的一半。

          css居中方式5

          利用動(dòng)畫(huà)移動(dòng)屬性transform

          小編是一個(gè)有著5年工作經(jīng)驗(yàn)的架構(gòu)師,關(guān)于web前端,自己有做材料的整合,一個(gè)完整學(xué)習(xí)web前端的路線,學(xué)習(xí)材料和工具。需要的伙伴可以私信我,發(fā)送“前端”等3秒后就可以獲取領(lǐng)取地址,免費(fèi)送給大家。對(duì)于學(xué)習(xí)web前端有任何問(wèn)題(學(xué)習(xí)方法,學(xué)習(xí)效率,如何就業(yè))都可以問(wèn)我。希望你也能憑自己的努力,成為下一個(gè)優(yōu)秀的程序員!

          結(jié)語(yǔ)

          相信看了上面的有關(guān)Html5、css的元素五大居中方式,你們就可以解決自己的小問(wèn)題了,但是也要養(yǎng)成一個(gè)總結(jié)的好習(xí)慣。好記性不如爛筆頭!以前留下來(lái)的話語(yǔ)總是有他的道理。Comeon!

          們?cè)谑褂胏ss來(lái)布局時(shí)經(jīng)常需要進(jìn)行居中,有時(shí)一個(gè)屬性就能搞定,有時(shí)則需要一定的技巧才能兼容到所有瀏覽器,利用css來(lái)實(shí)現(xiàn)對(duì)象的垂直居中有許多不同的方法,比較難的是應(yīng)該選擇哪種正確的方法。比如我們都知道 margin:0 auto;的樣式能讓元素水平居中,而margin: auto;卻不能做到垂直居中……下面就css居中的一些常用方法做個(gè)集中的介紹。

          首先是水平居中,最簡(jiǎn)單的辦法當(dāng)然就是:

          margin:0 auto;

          文字的水平居中方法:

          利用line-height設(shè)為height的一樣即可:

          eg:

          .div {

          width:200px;

          height: 200px;

          line-height: 200px;/*實(shí)現(xiàn)垂直居中的關(guān)鍵*/

          text-align:center;

          font-size: 36px;

          background-color: #ccc;

          }

          絕對(duì)定位居中

          父容器元素:position: relative,子元素:position:absolute;

          eg:

          <div class="box">

          <div class="content"></div>

          </div>

          <style>

          .box{position:relative;width:200px;height:200px;background:#999;}

          .content{

          width: 50%;

          height: 50%;

          overflow: auto;

          margin: auto;

          position: absolute;

          top: 0; left: 0; bottom: 0; right: 0;

          background:#C9F;}

          </style>

          效果如下所示:

          !注意:高度必須定義,建議加 overflow: auto,防止內(nèi)容溢出。

          flex居中

          介紹一下CSS3中的display:flex來(lái)實(shí)現(xiàn)的水平垂直居中的方法。

          eg:

          <div class="parent">

          <div class="children">我是通過(guò)flex的水平垂直居中噢!</div>

          </div>

          <style>

          .parent {

          display:flex;

          align-items: center;/*垂直居中*/

          justify-content: center;/*水平居中*/

          width:200px;

          height:200px;

          background-color:green;

          }

          .children {

          background-color:blue;

          color:#FFF;

          }

          </style>

          效果如下所示:

          這種方式最為簡(jiǎn)便,就是兼容性不好,不過(guò)隨著時(shí)間的前進(jìn),各大瀏覽器一定會(huì)都兼容的。


          主站蜘蛛池模板: 久久蜜桃精品一区二区三区| 亚洲欧洲无码一区二区三区| 一区二区三区在线免费看| 久久精品国产第一区二区| 国产免费伦精品一区二区三区| 国产裸体歌舞一区二区| 亚洲乱色熟女一区二区三区蜜臀| 亚洲国产精品一区二区九九| 国产精品揄拍一区二区| 精品一区二区三区中文字幕| 午夜一区二区免费视频| 国产伦精品一区二区三区女| 国产精品va无码一区二区| 一区精品麻豆入口| 国产日韩精品一区二区三区| 国产精品一区二区久久精品涩爱| 亚洲V无码一区二区三区四区观看 亚洲爆乳精品无码一区二区三区 亚洲爆乳无码一区二区三区 | 成人精品一区二区三区不卡免费看| 爆乳无码AV一区二区三区| 2022年亚洲午夜一区二区福利 | 韩日午夜在线资源一区二区| 国产成人久久一区二区三区| 欧洲精品免费一区二区三区| 国产品无码一区二区三区在线| 无码人妻一区二区三区免费手机| 中文字幕精品一区二区| 在线精品视频一区二区| 一区二区亚洲精品精华液| 无码人妻精品一区二区三区不卡| 国产一区二区三区播放心情潘金莲 | 精品久久综合一区二区| 精品日韩一区二区| 日本一区二区三区免费高清在线| 视频一区二区三区在线观看| 亚洲国产精品一区二区第一页免| 国精品无码一区二区三区在线蜜臀| 国精品无码一区二区三区在线| 亚洲AV本道一区二区三区四区| 亚洲国产日韩在线一区| 国产成人一区二区三区高清| 国产福利电影一区二区三区久久久久成人精品综合|