• 十一种花样水平垂直居中方式(最后一个黑科技)


    想必经常玩css布局的你肯定对前端中水平垂直居中有点头疼,不用害怕~~

    现在由我为你奉献上11种水平垂直居中的css代码:

    /******** 以下为公告部分代码 **********/
    div{   color: #fff; } .main{   position: relative;    200px;   height: 200px;   border: 1px solid #36c;   margin-bottom: 20px; } .content{    100px;   height: 100px;   background: #666; }

      1.利用绝对定位 absolute + 负margin实现垂直居中

    css代码部分:

    .ab_minus_margin{
      position: absolute;;
        top: 50%;
        left: 50%;
        margin-left: -50px;
        margin-top: -50px;
    }

    html代码:

    <div class="main">
      <div class="content ab_minus_margin">
        absolute + 负margin
      </div>
    </div>
    

      2.利用绝对定位 absolute + margin:auto  实现

    css代码:

    .ab_auto_margin{
    	position: absolute;;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
    }

    html代码:

    <div class="main">
      <div class="content ab_auto_margin">
        absolute + margin auto
      </div>
    </div>
    

      3.利用 absolute + calc 实现:

    css代码:

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

    html代码:

    <div class="main">
    	<div class="content ab_calc">
    		absolute + calc
    	</div>
    </div>

      4.利用 absolute + transform 实现:

    css代码:

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

    html代码:

    <div class="main">
    	<div class="content ab_transtrom">
    		absolute + transform
    	</div>
    </div>

      5.利用 display:table-cell 实现

    css代码:

    .table_table_father{
        display: table-cell;
        text-align: center;
        vertical-align: middle;
    }
    .css_table_son{
    	display: inline-block;
    	color: #fff;
    }

    html代码:

    <div class="main table_table_father">
    	<div class="content css_table_son">
    		css-table
    	</div>
    </div>

      6.利用 flex 布局实现:

    css代码:

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

    html代码:

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

      7.利用网格布局 grid 实现:

    css代码:

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

    html代码:

    <div class="main grid">
    	<div class="content grid_son">
    		grid
    	</div>
    </div>

      8.利用 line-hright 实现:

    css代码:

    .lineHeight{
        line-height: 200px;
        text-align: center;
        font-size: 0px;
    }
    .lineHeight_son{
        font-size: 16px;
        display: inline-block;
        vertical-align: middle;
        line-height: initial;
    }

    html代码:

    <div class="main lineHeight">
    	<div class="content lineHeight_son">
    		line-height
    	</div>
    </div>

      9.利用 table 的特性实现:

    css代码:

    .table{
      text-align: center;
    }
    .table_son{
      display: inline-block;
    }

    html代码:

    <table>
    	<tbody>
    		<tr>
    			<td class="main table">
    				<div class="content table_son">
    					table
    				</div>
    			</td>
    		</tr>
    	</tbody>
    </table>

      10.利用 writing-mode 实现:

    css代码:

    .wr_mode{
        writing-mode: vertical-lr;
        text-align: center
    }
    .wr_inner{
        writing-mode: horizontal-tb;
        display: inline-block;
        text-align: center;
         100%;
    }
    .wr_son{
        display: inline-block;
        margin: auto;
        text-align: left;
    }

    html代码:

    <div class="main wr_mode">
    	<div class="wr_inner">
    		<div class="content wr_son">
    			writing-mode
    		</div>
    	</div>
    </div>

      11.利用svg的 offset-path 实现(黑科技,纯属娱乐):

    css代码:

    .offsetPath{
        offset-path: path("M100,-100 q50,0 150,100 q0,0 0,0");
    }

    html代码:

    <svg width="200" height="200" style="border: 1px red solid;">
    	<div class="content offsetPath">svg</div>
    </svg>

    看完上述的各种各样的垂直居中,是不是感觉css很高深莫测,对于我来说,一入前端深似海,再也难爬出来~~

    对于最后两个,大家可能不是很熟悉~~,可以参考mdn或者张鑫旭的css世界可以更彻底的学习,当然张鑫旭也有自己的博客写了不少~~有兴趣的可以多去看看了解学习

    对了 马上就要开始 css大会了 我看到好多前端大牛,比如说大漠,张鑫旭等人都将到场演讲,由于本人在北京,无法去上海,感觉是一种遗憾,希望到时候能看到视频直播听一听~~~在上海的可以去看看....怅惘中~~~

  • 相关阅读:
    linux权限补充:rwt rwT rws rwS 特殊权限
    关于Linux操作系统下文件特殊权限的解释
    Java学习笔记——Java程序运行超时后退出或进行其他操作的实现
    Java实现 蓝桥杯 算法提高 判断名次
    Java实现 蓝桥杯 算法提高 判断名次
    Java实现 蓝桥杯 算法提高 日期计算
    Java实现 蓝桥杯 算法提高 日期计算
    Java实现 蓝桥杯 算法提高 概率计算
    Java实现 蓝桥杯 算法提高 概率计算
    Java实现 蓝桥杯 算法提高 复数四则运算
  • 原文地址:https://www.cnblogs.com/gxlself/p/8564195.html
Copyright © 2020-2023  润新知