zoukankan      html  css  js  c++  java
  • css 垂直居中方法总结

    1.为内联元素

    1.1  只有一行的情况下

    可以用padding值。

    .link {
      padding-top: 30px;
      padding-bottom: 30px;
    }

      

    或者使用line-height,line-height等于height值  

    .center-text-trick {
      height: 100px;
      line-height: 100px;
      white-space: nowrap;
    }

    1.2  内容有多行

    首先也可以使用padding;也可尝试与display:table-cell相结合设置vertical-align:middle;

    或者用flexbox, A single flex-child can be made to center in a flex-parent pretty easily.前提是父级的高度固定

    .flex-center-vertically {
      display: flex;
      justify-content: center;
      flex-direction: column;
      height: 400px;
    }

    或者使用"ghost element" , in which a full-height pseudo element is placed inside the container and the text is vertically aligned with that.

    .ghost-center {
      position: relative;
    }
    .ghost-center::before {
      content: " ";
      display: inline-block;
      height: 100%;
      width: 1%;
      vertical-align: middle;
    }
    .ghost-center p {
      display: inline-block;
      vertical-align: middle;
    }

    2.块元素

    2.1 高度已知

     一般来说是不知道高度的,但当你确实知道时

    .parent {
      position: relative;
    }
    .child {
      position: absolute;
      top: 50%;
      height: 100px;
      margin-top: -50px; /* account for padding and border if not using box-sizing: border-box; */
    }

    2.2 高度未知

    .parent {
      position: relative;
    }
    .child {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
    }

    2.3 使用flexbox将会容易很多

    .parent {
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    参考:  https://css-tricks.com/centering-css-complete-guide/

  • 相关阅读:
    在阿里云上遇见更好的Oracle(三)
    从传统IT快速走向公共云计算
    在阿里云上遇见更好的Oracle(二)
    Oracle 11g 审计跟踪管理
    在阿里云上遇见更好的Oracle(一)
    Elasticsearch中的DocValues
    初识Django —Python API接口编程入门
    为什么mysqld启动报错
    云计算产品的四件套
    说说云计算中的地域和可用区概念
  • 原文地址:https://www.cnblogs.com/morongwendao/p/6475192.html
Copyright © 2011-2022 走看看