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 好男人www社区影视在线,免费观看日本,日韩中文字幕视频在线观看

          整合營銷服務(wù)商

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

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

          前端技巧:css居中(不確定寬度)

          切圖公司專門從事web前端開發(fā),要想讓一個(gè)box居中,立馬想到最常用的就是margin:0 auto; 即便是position:absolute絕對(duì)定位下,也可以通過 left:50%; margin-left- (寬度的一半)來實(shí)現(xiàn), 但是這個(gè)的前提是必須知道盒子的寬度,所以盒子居中主要有兩種情況:

          一.確定盒子的寬度,解決辦法有:

          1.1 margin:0 auto;

          1.2 position:relative;left:50%;margin-left:-0.5*width;(用絕對(duì)定位也可以)

          二.不確定盒子寬度的,而且盒子寬度可變的,方法如下

          2.1 position:relative:left:50%;transform:translateX(-50%);-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);//這里的50%是指盒子本身的50%;

          2.2 width:fit-content;width:-moz-fit-content;width:-webket-fit-content;margin:auto;

          來源:切圖網(wǎng) qietu.com

          <div id="parent">
          <!-- 定義子級(jí)元素 -->
          <div id="child">居中布局</div>
          </div>

          過以下CSS樣式代碼實(shí)現(xiàn)水平方向居中布局效果

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

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

          瀏覽器的兼容性比較好

          缺點(diǎn):

          vertical-algin屬性具有繼承性, 導(dǎo)致父級(jí)元素的文本也是居中顯示的

          平居中設(shè)置

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

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

          行內(nèi)元素

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

          定寬塊狀元素

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

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

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

          不定寬塊狀元素

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

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

          第一種做法:

          為什么選擇方法一加入table標(biāo)簽? 是利用table標(biāo)簽的長度自適應(yīng)性---即不定義其長度也不默認(rèn)父元素body的長度(table其長度根據(jù)其內(nèi)文本長度決定),因此可以看做一個(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 類型(設(shè)置為 行內(nèi)元素 顯示),然后使用 text-align:center 來實(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ì)是不用增加無語義標(biāo)簽,但也存在著一些問題:它將塊狀元素的 display 類型改為 inline,變成了行內(nèi)元素,所以少了一些功能,比如設(shè)定長度值。

          方法三:

          通過給父元素設(shè)置 float,然后給父元素設(shè)置 position:relative 和 left:50%,子元素設(shè)置 position:relative 和 left: -50% 來實(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),具體選用哪種方法,可以視具體情況而定。


          主站蜘蛛池模板: 国产主播福利精品一区二区| 免费人妻精品一区二区三区| 精品无码一区二区三区爱欲九九 | 精品一区二区三区在线观看视频| 亚洲一区二区三区亚瑟| 一区二区三区亚洲视频| 日韩免费一区二区三区在线播放| 精品少妇一区二区三区在线| 日本一区二区三区四区视频| 亚洲日韩一区精品射精| 老熟妇仑乱一区二区视頻| 相泽亚洲一区中文字幕| 内射白浆一区二区在线观看 | 久久4k岛国高清一区二区| 午夜精品一区二区三区在线视| 亚洲AV网一区二区三区| 韩国理伦片一区二区三区在线播放| 无码人妻精品一区二区在线视频| 不卡一区二区在线| 国产一区二区三区高清在线观看 | 久久久人妻精品无码一区| 人妻夜夜爽天天爽一区| 国产精品无码一区二区在线| 亚洲AV无码一区二区乱子仑| 2021国产精品视频一区| 无码精品不卡一区二区三区| 正在播放国产一区| 日本精品一区二区三本中文 | 日本一区频道在线视频| 亚洲一区中文字幕在线观看| 91video国产一区| 亚洲综合av一区二区三区不卡 | 性色A码一区二区三区天美传媒| 最美女人体内射精一区二区| 日本一区二区免费看| 亚洲Av高清一区二区三区| 人妻av综合天堂一区| 精品国产精品久久一区免费式| 国产一区二区三区播放| 国产一区二区三区在线视頻| 久久亚洲AV午夜福利精品一区|