• 关于未知高度的垂直居中


    1.内容为纯文字的时候的垂直居中

    <!DOCTYPE html>
    <html lang="en">
    <head>
            <meta charset="UTF-8">
            <title>未知高度垂直居中</title>
            <style type="text/css">
            .box{width: 200px;height: 500px;background-color: yellow;}
            .box:before{content:"我是备胎";width: 0;height: 100%;display: inline-block;vertical-align: middle;}
            .boxWrap{display: inline-block;vertical-align: middle;}
            </style>
    </head>
    <body>
            <div class="box">
                    <div class="boxWrap">
                    快让我垂直居中,混蛋!<br>
                    快让我垂直居中,混蛋!<br>
                    快让我垂直居中,混蛋!<br>
                    快让我垂直居中,混蛋!<br>
                    快让我垂直居中,混蛋!<br>
                    快让我垂直居中,混蛋!<br>
                    快让我垂直居中,混蛋!<br>
                    快让我垂直居中,混蛋!<br>
                    快让我垂直居中,混蛋!<br>
                    </div>
            </div>
    </body>
    </html>

    解释:也许你会想到vertical-align属性,但是vertical-align是需要有参照物的,如果直接给他vertical-align:middle是不行的
            所以,这就是为什么加content:"";的原因,给内容一个参照物就可以轻松居中了。当然还需要用到display:inline-block;属性因为没有这个属性的话他们就不能在一行显示,更别谈参照垂直居中了。

    2.先看看box套box吧

    <!DOCTYPE html>
    <html lang="en">
    <head>
            <meta charset="UTF-8">
            <title>未知高度垂直居中</title>
            <style type="text/css">
            .box{width: 200px;height: 500px;background-color: yellow;font-size: 0;text-align: center;}
            .box:before{content:"";width: 0;height: 100%;display: inline-block;vertical-align: middle;font-size:14px;}
            .boxWrap{display: inline-block;vertical-align: middle;font-size: 14px;background-color: #000;width: 100px;height: 100px;}
            </style>
    </head>
    <body>
            <div class="box">
                    <div class="boxWrap"></div>
            </div>
    </body>
    </html>

    3.内容是多种混合


    先上一个有意思的bug
    只需要在父级上加个font-size:0;即可。

    当然罪魁祸首是这个display:inline-block;

    因为父级的默认font-size导致两个div之间有间隙,所以把旁边的div挤下去了。

    请看下图

    好了,进入正题

    <!DOCTYPE html>
    <html lang="en">
    <head>
            <meta charset="UTF-8">
            <title>未知高度垂直居中</title>
            <style type="text/css">
            .box{width: 200px;height: 500px;background-color: yellow;font-size: 0}
            .box:before{content:"";width: 0;height: 100%;display: inline-block;vertical-align: middle;font-size:14px;}
            .boxWrap{display: inline-block;vertical-align: middle;font-size: 14px;}
            .box1{width: 300px;height: 200px;}
            </style>
    </head>
    <body>
            <div class="box">
                    <div class="boxWrap">
                    <h1>我是他们的头头</h1>
                    <img src="https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcRXP8QWhU1KHIEwr7ULQevzAOLNXw4EOdrqvh6eNUURZqjz4on_sQ" style=" 100%;">
                    快让我垂直居中,混蛋!<br>
                    快让我垂直居中,混蛋!<br>
                    快让我垂直居中,混蛋!<br>
                    快让我垂直居中,混蛋!<br>
                    快让我垂直居中,混蛋!<br>
                    快让我垂直居中,混蛋!<br>
                    快让我垂直居中,混蛋!<br>
                    快让我垂直居中,混蛋!<br>
                    快让我垂直居中,混蛋!<br>
                    </div>
            </div>
    </body>
    </html>
  • 相关阅读:
    firefox和ie下面的初始化checkbox
    全球宽带排名出炉 韩国第一中国未入榜(附表)
    逆向查询所有父栏目
    js的点点滴滴
    Treeview绑定数据源 层叠结构数据源的应用
    asp.net读取服务器端文件夹列表
    Treeview绑定数据源 层叠结构数据源的应用(续--完善篇)
    VC数据类型
    jQuery核心文档(翻译中)
    iscroll 下拉刷新,上拉加载
  • 原文地址:https://www.cnblogs.com/ma-chao/p/7509430.html
Copyright © 2020-2023  润新知