首页 > 软件开发 > 编程语言 >

在一个div中如何让button按钮垂直居中

来源:互联网 2023-03-17 00:12:15 版权归原作者所有,如有侵权,请联系我们

本文介绍简单的垂直居中布局方式,让div的内容垂直居中显示,以下demo都只是针对现代浏览器所做,未兼容低版本的IE以及其它非主流浏览器.Kne办公区 - 实用经验教程分享!

工具/原料

  • 编辑器开发软件

方法/步骤

  • 1

    1. 使用绝对定位和负外边距对块级元素进行垂直居中:Kne办公区 - 实用经验教程分享!

    html代码:Kne办公区 - 实用经验教程分享!

    Kne办公区 - 实用经验教程分享!

    div id="box"> Kne办公区 - 实用经验教程分享!

    div id="child">我是测试DIV/div>Kne办公区 - 实用经验教程分享!

    /div>Kne办公区 - 实用经验教程分享!

    css代码:Kne办公区 - 实用经验教程分享!

    #box {Kne办公区 - 实用经验教程分享!

    width: 300px;Kne办公区 - 实用经验教程分享!

    height: 300px;Kne办公区 - 实用经验教程分享!

    background: #ddd;Kne办公区 - 实用经验教程分享!

    position: relative;Kne办公区 - 实用经验教程分享!

    }Kne办公区 - 实用经验教程分享!

    #child {Kne办公区 - 实用经验教程分享!

    width: 150px;Kne办公区 - 实用经验教程分享!

    height: 100px;Kne办公区 - 实用经验教程分享!

    background: orange;Kne办公区 - 实用经验教程分享!

    position: absolute;Kne办公区 - 实用经验教程分享!

    top: 50%;Kne办公区 - 实用经验教程分享!

    margin: -50px 0 0 0;Kne办公区 - 实用经验教程分享!

    line-height: 100px;Kne办公区 - 实用经验教程分享!

    }Kne办公区 - 实用经验教程分享!

    Kne办公区 - 实用经验教程分享!

    运行结果如下下图所示:Kne办公区 - 实用经验教程分享!

    在一个div中如何让button按钮垂直居中Kne办公区 - 实用经验教程分享!

  • 2

    总结:这个方法兼容性不错,但是有一个小缺点:必须提前知道被居中块级元素的尺寸,否则无法准确实现垂直居中。Kne办公区 - 实用经验教程分享!

  • 3

    (2)使用flex布局Kne办公区 - 实用经验教程分享!

    html代码:Kne办公区 - 实用经验教程分享!

    Kne办公区 - 实用经验教程分享!

    div id="box">雾霾天气,太久没有打球了/div>Kne办公区 - 实用经验教程分享!

    css代码:Kne办公区 - 实用经验教程分享!

    #box {Kne办公区 - 实用经验教程分享!

    width: 300px;Kne办公区 - 实用经验教程分享!

    height: 300px;Kne办公区 - 实用经验教程分享!

    background: #ddd;Kne办公区 - 实用经验教程分享!

    display: flex;Kne办公区 - 实用经验教程分享!

    align-items: center;Kne办公区 - 实用经验教程分享!

    }Kne办公区 - 实用经验教程分享!

    Kne办公区 - 实用经验教程分享!

    运行结果如下下图所示:Kne办公区 - 实用经验教程分享!

    在一个div中如何让button按钮垂直居中Kne办公区 - 实用经验教程分享!

  • 3此文章未经许可获取自百度经验
  • 4

    这种方式同样适用于块级元素:Kne办公区 - 实用经验教程分享!

    html代码:Kne办公区 - 实用经验教程分享!

    div id="box"> Kne办公区 - 实用经验教程分享!

    div id="child">Kne办公区 - 实用经验教程分享!

    程序员怎么才能保护好眼睛?Kne办公区 - 实用经验教程分享!

    /div>Kne办公区 - 实用经验教程分享!

    /div>Kne办公区 - 实用经验教程分享!

    css代码:Kne办公区 - 实用经验教程分享!

    #box {Kne办公区 - 实用经验教程分享!

    width: 300px;Kne办公区 - 实用经验教程分享!

    height: 300px;Kne办公区 - 实用经验教程分享!

    background: #ddd;Kne办公区 - 实用经验教程分享!

    display: flex;Kne办公区 - 实用经验教程分享!

    align-items: center;Kne办公区 - 实用经验教程分享!

    }Kne办公区 - 实用经验教程分享!

    #child {Kne办公区 - 实用经验教程分享!

    width: 300px;Kne办公区 - 实用经验教程分享!

    height: 100px;Kne办公区 - 实用经验教程分享!

    background: #8194AA;Kne办公区 - 实用经验教程分享!

    line-height: 100px;Kne办公区 - 实用经验教程分享!

    }Kne办公区 - 实用经验教程分享!

    运行结果如下图所示:Kne办公区 - 实用经验教程分享!

    在一个div中如何让button按钮垂直居中Kne办公区 - 实用经验教程分享!

  • 5

    总结:flex布局(弹性布局/伸缩布局)里门道颇多,这里先针对用到的东西简单说一下Kne办公区 - 实用经验教程分享!

      flex也就是flexible,意为灵活的、柔韧的、易弯曲的。Kne办公区 - 实用经验教程分享!

      元素可以通过设置display:flex;将其指定为flex布局的容器,指定好了容器之后再为其添加align-items属性,该属性定义项目在交叉轴(这里是纵向轴)上的对齐方式,可能的取值有五个,分别如下:Kne办公区 - 实用经验教程分享!

      flex-start::交叉轴的起点对齐;Kne办公区 - 实用经验教程分享!

      flex-end:交叉轴的终点对齐;Kne办公区 - 实用经验教程分享!

      center:交叉轴的中点对齐;Kne办公区 - 实用经验教程分享!

      baseline:项目第一行文字的基线对齐;Kne办公区 - 实用经验教程分享!

      stretch(该值是默认值):如果项目没有设置高度或者设为了auto,那么将占满整个容器的高度。Kne办公区 - 实用经验教程分享!

    Kne办公区 - 实用经验教程分享!

  • 6

    (3)使用 line-height 对单行文本进行垂直居中Kne办公区 - 实用经验教程分享!

    html代码:Kne办公区 - 实用经验教程分享!

    Kne办公区 - 实用经验教程分享!

    div id="box">Kne办公区 - 实用经验教程分享!

    我是一段测试文本Kne办公区 - 实用经验教程分享!

    /div>Kne办公区 - 实用经验教程分享!

    css代码:Kne办公区 - 实用经验教程分享!

    Kne办公区 - 实用经验教程分享!

    Kne办公区 - 实用经验教程分享!

    #box{ Kne办公区 - 实用经验教程分享!

    width: 300px; Kne办公区 - 实用经验教程分享!

    height: 300px;Kne办公区 - 实用经验教程分享!

    background: #ddd; Kne办公区 - 实用经验教程分享!

    line-height: 300px;Kne办公区 - 实用经验教程分享!

    }Kne办公区 - 实用经验教程分享!

    Kne办公区 - 实用经验教程分享!

    Kne办公区 - 实用经验教程分享!

    运行结果如下:Kne办公区 - 实用经验教程分享!

    Kne办公区 - 实用经验教程分享!

    在一个div中如何让button按钮垂直居中Kne办公区 - 实用经验教程分享!

  • 7

    总结:这里有一个小坑需要大家注意:line-height(行高) 的值不能设为100%,我们来看看官方文档中给出的关于line-height取值为百分比时候的描述:基于当前字体尺寸的百分比行间距。所以大家就明白了,这里的百分比并不是相对于父元素尺寸而言,而是相对于字体尺寸来讲的。Kne办公区 - 实用经验教程分享!

  • 注意事项

    • 熟练运用html,css语法

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!Kne办公区 - 实用经验教程分享!


    标签: 编程语言

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号