当前位置:首页 > 技术分析 > 正文内容

how to center a div,如何让一个DIV居中——示例详解

ruisui883个月前 (01-22)技术分析15

前言

如何让一个DIV居中,这应该是一个简单的问题吧?

难道有很多不同的应用场景,以及不同的写法吗?


常见代码示例

1、采用 margin 水平居中。

在元素的 宽度已知 的情况下,并且 小于父容器的宽度 时,能很直观的看到它居中了。

// 普通左右居中 margin: 0 auto;
.layour-center { margin-left: auto; margin-right: auto; }

2、采用 text-align:center 加 display:inline-block 实现水平居中。

<style type="text/css">
  .parent {
    background-color: coral;
    height: 200px;
    padding-top:15px;

    text-align: center;;
  }
.child {
  background-color: white;
  width:100px;
  height: 50px;

  display: inline-block;
  /* text-align:left;*/ /* 重置为默认 */
}
</style>



3、采用 绝对定位 方式,实现 水平和垂直居中 。一般常见于登录框、弹窗等应用场景。

使用 absolute 属性时,元素的定位是相对于其最近的被定位(position 属性设置为非 static 的元素)的父级元素或祖先元素进行计算的。如果没有找到被定位的父级元素或祖先元素,那么相对于文档的 body 元素进行计算。

使用 fixed 属性时,元素的定位是相对于浏览器窗口的。

所以应该根据实际情况选择具体的属性。

<style type="text/css">
  .container-login {
    background-color: coral;

    position: absolute;
    /* position:fixed */
    /** 
           水平居中
           左边距离50%,同时
           减去自身的 宽度 的一半。
        */
    width:130px;
    left:50%;
    margin-left:-65px; 

    /** 
           垂直居中
           上边距离50%,同时
           减去自身的 高度 的一半。
        */
    height:140px;
    top: 50%;
    margin-top:-70px;

  }
</style>

4、采用 flex 布局,实现 水平和垂直居中 。父容器设置轴线以实现子容器的居中。

<style type="text/css">
  .parent {
    background-color: coral;
    display: flex;
    /* 沿着主轴水平居中 */
    justify-content: center; 
    /* 沿着交叉轴垂直居中 */
    align-items: center; 
    /* 父容器的高度不能为auto */
    height: 300px; 
  }
.child {
  background-color: white;
  /* 确定子元素的大小 */
  width: 200px;
  height: 100px;
}
</style>

5、使用 transform ,实现 水平和垂直居中 。 -50% 表示向左/上移动元素的一半,从而实现完美居中。

<style type="text/css">
  .parent {
    background-color: coral;
    position: relative;
    height: 230px;
  }
.child {
  background-color: white;
  position: absolute;
  width:80px;
  height: 80px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
</style>


人人为我,我为人人,谢谢您的浏览,我们一起加油吧。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/474.html

分享给朋友:

“how to center a div,如何让一个DIV居中——示例详解” 的相关文章

Linux世界的多样性:yum和apt的对比,让你感受不同发行版的特色

yum和apt是两种常用的Linux软件包管理器,它们都可以用来安装、更新和删除软件包。但是,它们之间也有一些重要的区别,本文将对它们进行分析对比。yum是Yellowdog Updater Modified的缩写,它是基于RPM(Red Hat Package Manager)的软件包管理器,主要...

vue3中父子传值、defineProps用法、defineEmits用法

Vue3中新增了一个 script setup 语法糖模式,可以在单文件组件中更简洁地编写组件逻辑。使用 script setup 语法后,props、data、computed、methods 等选项不再需要独立定义,而是可以直接在 setup 函数中声明,代码结构更加清晰,并且可以更方便地使用响...

【Vue3 基础】05.组件化

这是 Vue3 + Vite + Pinia +TS + Element-Plus 实战系列文档。最近比较忙没什么时间写文章,争取早日把这个系列完结吧~生命周期和模板引用在本章之前,我们通过响应式 api 和声明式渲染,处理了 DOM 的更新,但光是这些,对于一些复杂的需要手动操作 DOM 的情况,...

快速上手React

web前端三大主流框架1、Angular大家眼里比较牛的框架,甚至有人说三大框架中只有它能称得上一个完整的框架,因为它包含的东西比较完善,包含模板,数据双向绑定,路由,模块化,服务,过滤器,依赖注入等所有功能。对于刚开始学习使用框架的小伙伴们,可以推荐这个框架,学会之后简直能颠覆之前你对前端开发的认...

学无止境:Git 如何优雅地回退代码

来源:https://zhenbianshu.github.io前言从接触编程就开始使用 Git 进行代码管理,先是自己玩 Github,又在工作中使用 Gitlab,虽然使用时间挺长,可是也只进行一些常用操作,如推拉代码、提交、合并等,更复杂的操作没有使用过,看过的教程也逐渐淡忘了,有些对不起 L...

代码分支规范

一.gitflow工作流说明:主分支:master,稳定版本代码分支,对外可以随时编译发布的分支,不允许直接Push代码,只能请求合并(pull request),且只接受hotfix、release分支的代码合并。gitlab上做限制。热修复分支:hotfix,针对现场紧急问题、bug修复的代码分...