H5C3__元素垂直居中的方法

2023-05-16

       在 CSS 中对元素进行水平居中是非常简单的:如果它是一个行内元素, 就对它的父元素应用 text-align:center; 如果它是一个块级元素,就对它自身应用 margin:auto。还有没有其他的方法呢,我们需要从一下两个方面来讨论:

  1. 文本垂直居中的方法
  2. 块级元素垂直居中的方法

1.文本垂直居中的方法

   文本垂直居中主要分为单行文本和多行文本居中两种。

    A.单行文本垂直居中

        1.方法:line-height=height (只需父级元素设置此代码即可,较简单,不再赘述)

        2.方法:父级元素设置display:table; 子元素设置display:table-cell,并且设置vertical-align:middle.

     案例1:单行文本垂直居中:display:table;+display:table-cell+vertical-align:middle;

    <div class="box">
        <p class="p">项目实战中单行文本居中</p>
    </div>

样式文件

<style>
        *{
            margin: 0;
        }
        /*父级具有table的特性,子元素具备td,也就是单元格的特性,再搭配vertical-align:middle就可以实现垂直居中*/
        .box{
            display: table;
            width: 600px;
            height: 500px;
            margin: 50px auto;
            border: 1px solid red;
            text-align: center;
            /*line-height: 500px;*/
        }

        .p{
            display: table-cell;
            vertical-align: middle;
        }
</style>

        效果图:

    

          B.多行文本垂直居中

              1. 方法 : display:table;+display:table-cell+vertical-align:middle; (使用方法同上)

              2.方法 : display:inline-block;+display:inline-block;+vertical-align:middle;

       案例2:多行文本垂直居中

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>元素垂直居中的探究</title>
    <style>
        *{
            margin: 0;
        }
        .box1{
            width: 500px;
            height: 500px;
            margin: 50px auto;
            border: 1px solid #000;
            text-align: center; /*水平居中*/
        }
        .p1{
            display: inline-block; /*p1具有行内块*/
            vertical-align: middle; /*垂直居中*/
        }
        span{
            display: inline-block; /*行内块*/
            height: 100%;
            border: 1px solid #000;
            vertical-align: middle;/*垂直居中*/
        }
    </style>
</head>
<body>
    <div class="box1">
        <p class="p1">项目实战中单行文本居中 <br> 项目实战中多行文本居中 <br>项目实战中多行文本居中</p>
        <span></span>
    </div>
</body>
</html>

   效果图

2.块级元素垂直居中

    a.子绝父相定位与边距负值

    b.内边距操作

    c.绝对定位与外间距自动操作

    d.浮动盒子

    e.Flex布局

案例3:块元素居中的各种方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }

        .wrap{
            width: 500px;
            height: 500px;
            margin: 50px auto;
            background: #000;

        }
        .sub{
            width: 200px;
            height: 200px;
            background: #00a080;
        }
      /*  a.子绝父相定位与边距负值*/
        .wrap1{
            position: relative;
            width: 500px;
            height: 500px;
            margin: 50px auto;
            background: #000;

        }
        .sub1{
            position: absolute;
            top: 50%;
            left: 50%;         /*通过设置top和left:50%,会使子元素左上顶点与父级元素中心点重合 */
            margin: -100px 0 0 -100px; /*子元素宽度的一半*/
            width: 200px;
            height: 200px;
            background: #00a080;
        }
       /* b.	内边距操作
             父元素设置box-sizing: border-box;
             padding设置为(父级元素宽-子元素宽)/2
       */
        .wrap2{
            width: 500px;
            height: 500px;
            margin: 50px auto;
            background: #000;
            padding: 150px;          /* 通过设置父级盒模型宽度计算方式,及padding可以实现块级元素居中*/
            box-sizing: border-box;
        }
        .sub2{
            width: 200px;
            height: 200px;
            background: #00a080;
        }
        /*
        c.	绝对定位与外间距自动操作
           这种方式不常用*/
        .wrap3{
            position: relative;
            width: 500px;
            height: 500px;
            margin: 50px auto;
            background: #000;

        }
        .sub3{
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
            margin: auto;
            width: 200px;
            height: 200px;
            background: #00a080;
        }
        /* d.浮动盒子*/
        .wrap4{
            width: 500px;
            height: 500px;
            margin: 50px auto;
            background: #000;

        }
        .floater{
            float: left;
            width: 100%;
            height: 50%;
            margin-bottom: -100px;/*下方元素宽度的一半*/
            border: 1px solid #fff;
        }
        .sub4{
            clear: both;
            margin: 0 auto;/*水平居中*/
            width: 200px;
            height: 200px;
            background: #00a080;
        }
     /*  e. flex布局
            因为涉及到兼容性问题,在pc端用的较少一些
            移动端,flex布局居中是很好的选择
     */
        .wrap5{
            display: flex;
            justify-content: center;
            align-items: center;
            width: 500px;
            height: 500px;
            margin: 50px auto;
            background: #000;
        }
        .sub5{
            width: 200px;
            height: 200px;
            background: #00a080;
        }
        /*图片垂直居中显示*/
        .wrap6{
            width: 500px;
            height: 500px;
            margin: 50px auto;
            border: 1px solid red;
            line-height: 500px;
            text-align: center;
        }
        .wrap6>img {
            width: 200px;
            vertical-align: middle;
        }
    </style>

</head>
<body>
    <div class="wrap">
        <div class="sub"></div>
    </div>
    <div class="wrap1">
        <div class="sub1">
        </div>
    </div>
    <div class="wrap2">
        <div class="sub2">
        </div>
    </div>
    <div class="wrap3">
        <div class="sub3">
        </div>
    </div>
    <div class="wrap4">
        <div class="floater"></div>
        <div class="sub4">
        </div>
    </div>
    <div class="wrap5">
        <div class="sub5">
        </div>
    </div>
    <div class="wrap6">
        <img src="img/cont2.png" alt="">
    </div>
</body>
</html>

效果图:

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

H5C3__元素垂直居中的方法 的相关文章

随机推荐

  • IP地址和MAC地址的作用和相互关系

    IP地址和MAC地址的作用和相互关系 关于IP地址和MAC地址相互关系以及数据包在网络中的寻址过程 xff0c 这两天盘了一下 xff0c 十多年前的计算机网络课程 xff0c 还是没有完全忘记的 概念说明 xff1a MAC地址 xff1
  • git commit –amend命令修改comment

    当git commit m your comment 后 xff0c 想修改提交后的comment xff0c 可以使用git commit amend命令 1 git commit amend xff0c 会出现上一次提交时的commen
  • php 设置允许跨域请求

    php 设置允许跨域请求 跨域 xff0c 指的是浏览器不能执行其他网站的脚本 它是由浏览器的同源策略造成的 xff0c 是浏览器施加的安全限制 同源策略 xff1a 是指域名 xff0c 协议 xff0c 端口均相同 xff0c 有任一不
  • TortoiseGit-git工具

    git小乌龟 git工具 xff0c 贼好用 下载地址 Download TortoiseGit Windows Shell Interface to Git
  • FAST-LIO, ikd-Tree, FAST-LIO2, FASTER-LIO论文总结

    目录 一 FAST LIO 本文的三个创新点 xff1a FAST LIO框架 二 ikd Tree 三 FAST LIO2 四 FASTER LIO 一 FAST LIO FAST LIO三个创新点 xff1a 将IMU和雷达点特征点紧耦
  • Realsense D435i运行ORB-SLAM3

    ORB SLAM3 根目录下的CMakeList txt opencv版本改为3 xff0c 目的是与ROS下的CMakeList txt指定的opencv版本相同 xff0c 都为3 否则会段错误 build sh build ros s
  • VINS-Fusion运行相关

    如何安装VINS Fusion 根据网址安装 xff1a https github com HKUST Aerial Robotics VINS Fusion 先装ceres xff08 网址中的改成 xff1a sudo make ins
  • jetson xavier nx 上 bash: nvcc: command not found

    jetson Xavier nx上已经默认安装好了cuda cuda 10 2和cudnn等 出现这个问题是因为 我们需要把cuda目录下的bin文件添加到环境变量中 解决方案 vim bashrc 按 i 进入输入模式 xff0c 在最后
  • ROS下使用intel Realsense摄像头进行人脸检测

    使用准备条件 xff1a ROS indigo intel Realsense摄像头 xff08 我使用的依旧是R200 xff09 确保已经正常安装驱动 xff0c 安装方法见博文 http blog csdn net may0324 a
  • 【VINS-MONO】RealsenseD435i运行VINS-Mono

    1 查看需要的 camera imu的topic内容格式 xff1a roscore rosbag play lt bag gt rostopic list rostopic echo lt topic gt 2 对齐XJ2 bag中的IM
  • vsCode如何自动保存代码

    文件 勾选自动保存 xff0c 即可
  • 智能设备WIFI配网方式汇总

    当前很多物联网设备大都无没有人机交互界面 xff0c 也就没有像手机或者PC那样有wifi的配置界面 xff0c 汇总了一下设备入网的方式大概有如下几种 xff1a 1 xff1a AP 模式流程如下 1 将Dev手动设置为AP模式 xff
  • 平凡的人生or开挂的人生——对知乎相关问题的回答

    知乎原题 xff1a 为什么有些人的人生和开了挂一样 xff1f https www zhihu com question 37106162 楼上说的都特别好 xff0c 我很想补充一点 我先抛出一个背景概念 我认为开挂人生 xff0c 本
  • Linux内核机制总结中断异常和系统调用之系统调用(三十三)

    文章目录 1 系统调用1 1 定义系统调用1 2 执行系统调用 重要 xff1a 本系列文章内容摘自 lt Linux内核深度解析 gt 基于ARM64架构的Linux4 x内核一书 xff0c 作者余华兵 系列文章主要用于记录Linux内
  • Web前端工程化之VSCode+Git 解决冲突和error

    多人协作开发使用版本控制难免会有冲突 xff0c 在前端使用VSCode和Git过程中 xff0c 就会遇到大大小小的冲突 xff0c 有的merge一下 xff0c 然后提交推送就可解决 xff0c 有的是因为HEAD指针混乱造成 xff
  • 平时积累(四)

    1 重启Android运行环境 xff1a xff08 1 xff09 sudo adb shell stop xff08 2 xff09 sudo adb shell start 2 设置Android系统属性 xff1a xff08 1
  • 速度环+直立环+转向环

    文章目录 直立环直立环调节速度环速度环调节转向环 直立环 车模平衡控制也是通过负反馈来实现的 xff0c 与上面保持木棒直立比较则相对简单 因为车模有两个轮子着地 xff0c 车体只会在轮子滚动的方向上发生倾斜 控制轮子转动 xff0c 抵
  • 六轴传感器+卡尔曼滤波+一阶低通滤波

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 角度与角速度测量1 角度与角速度获取2 互补滤波3卡尔曼滤波4 实现卡尔一阶低通滤波5 实现卡尔曼滤波算法 角度与角速度测量 1
  • Android 自定义注解之运行时注解(RetentionPolicy.RUNTIME)

    RetentionPolicy RUNTIME xff1a 注解不仅被保存到class文件中 xff0c jvm加载class文件之后 xff0c 仍然存在 获取注解的常用方法 xff1a 获取指定类型的注解 public lt A ext
  • H5C3__元素垂直居中的方法

    在 CSS 中对元素进行水平居中是非常简单的 xff1a 如果它是一个行内元素 xff0c 就对它的父元素应用 text align center 如果它是一个块级元素 xff0c 就对它自身应用 margin auto 还有没有其他的方法