zoukankan      html  css  js  c++  java
  • css 垂直居中

      今天端午节, 可苦逼的是还得加班,不过三倍工资,开心多了,第一次拿,想想心里似乎还有点小激动,好了,扯到为止,进入正题

      今天偶然看到一个垂直居中的好方法,元素 未知高度,未知高度,未知高度(重要的话说三遍),采用 伪类 + vertical-align:middle 方式,

      先上代码 

      

    <!DOCTYPE html>
    <html>
    <head>
    	<title></title>
    	<style type="text/css">
    		.main {
    			 400px;
    			height: 200px;
    			background-color: #eee;
    			text-align: center;
    		}
    		.main:after{
    			display: inline-block;
    			content: '';
    			height: 100%;
    			 0%;
    			vertical-align: middle;
    		}
    		.con{
    			display: inline-block;vertical-align: middle;
    		}
    	</style>
    </head>
    <body>
    	<div class="main">
    		<div class="con">test, 我是垂直居中的么?</div>
    	</div>
    </body>
    </html>
    

      父元素添加伪类 ,并将伪类width置为0,添加vertical-align:middle, 设置元素display: inline-block 或者 display: inline都可

      这似乎是现在垂直居中的最好方法,既不用考虑浏览器版本的问题,也可以兼容大部分浏览器

       原理:

        1. 一个display:inline-block 元素 高度等于父元素高度, 垂直居中,后面的img元素也垂直居中,代码如下

        

    <!DOCTYPE>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <style type="text/css">
    .box{
      300px;
      height:200px;
      background-color: #eee;
    }
    .box img {
       100px;
      vertical-align: middle;
      text-align: center;
    }
    .con {
      display: inline-block;
       100px;height: 100%;
      background-color: red;
      vertical-align: middle;
    }
    </style>
    </head>
    <body>
    <div class="box">
      <div class="con">hello,波先生</div>
      <img src="./test/0.jpg">
    </div>
    </body>
    </html>
    

      

      效果如图:

      所以用伪元素占满父元素宽高,并垂直居中,即可实现垂直居中。

      祝大家端午节快乐。。

      本文参考:张鑫旭老师的 http://www.zhangxinxu.com/wordpress/?p=61

  • 相关阅读:
    根据不同的状态查询错误
    myeclipse修改了安装目录名字打不开解决方法
    前端c标签foreach传值给后台
    Could not find result map java.lang.Integer] with root cause
    the import XXXX cannot be resolved 解决方法
    当我的url请求会变成jsp页面路径时的解决办法
    当项目启动很久一直超时怎么办?
    前端里面的变量名字多一个“;”会有这么多的区别
    java String.format()的问题
    String.format
  • 原文地址:https://www.cnblogs.com/ihboy/p/6913549.html
Copyright © 2011-2022 走看看