• 如何使元素/文字 垂直居中?


    昨天面试被问到这个问题,自己常用的是方法一和方法二,回来后查阅到了方法三,感觉莫名的好用,记录一下~

    方法一:单行文字垂直居中 line-height等于height

    方法二:块级元素垂直居中 position定位或者flex布局

    水平居中 margin: 0 auto;+垂直位移position: relative;top: 50%;

    注意:此时当前操作元素的头部到达页面一半的水平线处,

    最后使用transform: translateY(-50%),使得元素向上平移(translate)自身高度的一半(50%)

    方法三:父元素设置display:table,子元素设置table-cell

    容器设为display:table,使他成为一个块级表格元素,子元素display:table-cell使子元素成为表格单元格,

    然后就像在表格里一样,给子元素加个vertical-align: middle就行了,从而实现多行文字垂直居中

    此外,display: table还能解决多列自适应布局和等高布局,如下:

    display:table系列几乎是和table系的元素相对应的:

    table (类似 <table>)此元素会作为块级表格来显示,表格前后带有换行符。
    inline-table (类似 <table>)此元素会作为内联表格来显示,表格前后没有换行符。
    table-row-group (类似 <tbody>)此元素会作为一个或多个行的分组来显示。
    table-header-group (类似 <thead>)此元素会作为一个或多个行的分组来显示。
    table-footer-group (类似 <tfoot>)此元素会作为一个或多个行的分组来显示。
    table-row (类似 <tr>)此元素会作为一个表格行显示。
    table-column-group (类似 <colgroup>)此元素会作为一个或多个列的分组来显示。
    table-column (类似 <col>)此元素会作为一个单元格列显示。
    table-cell (类似 <td> 和 <th>)此元素会作为一个表格单元格显示。
    table-caption (类似 <caption>)此元素会作为一个表格标题显示。

    “display:table;”的CSS声明能够让一个HTML元素和它的子节点像table元素一样。使用基于表格的CSS布局,使我们能够轻松定义一个单元格的边界、背景等样式,而不会产生因为使用了table那样的制表标签所导致的语义化问题。

  • 相关阅读:
    find文件后cp、rm
    值得加分的
    对老师的评价
    关于Statement 与 PreparedStatement
    每日日报2021.1.14
    每日日报2020.1.12
    每日日报2021.1.11
    给自己算的加分项
    期末了,给老师提建议。
    每日日报2020 12/19
  • 原文地址:https://www.cnblogs.com/chengl062/p/11388144.html
Copyright © 2020-2023  润新知