css 实现居中对齐的几种方式_cssdiv居中对齐-程序员宅基地

技术标签: css  html  css3  

如何居中 div?

1. 水平居中:给 div 设置一个宽度,然后添加 margin:0auto 属性

div {
    
width: 200px;
margin: 0auto;
}

2. 水平居中,利用 text-align:center 实现

.container {
    
  background: rgba(0, 0, 0, 0.5);
  text-align: center;
  font-size: 0;
}
.box {
    
  display: inline-block;
  width: 500px;
  height: 400px;
  background-color: pink;
}

3. 让绝对定位的 div 居中

div {
    
  position: absolute;
  width: 300px;
  height: 300px;
  margin: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: pink; /*方便看效果*/
}

如何实现div水平垂直居中

水平垂直居中一

确定容器的宽高宽 500 高 300 的层设置层的外边距

 div{
    
 	position:absolute; /*绝对定位 */
    width:500px;
    height:300px;
    top:50%;
    left:50%;
    margin:-150px 00 -250px; /*外边距为自身宽高的一半*/
    background-color:pink; /*方便看效果*/
   }

-水平垂直居中二

/*未知容器的宽高,利用transform属性

div {
    
  position: absolute; /*相对定位或绝对定位均可*/
  width: 500px;
  height: 300px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: pink; /*方便看效果*/
}

-水平垂直居中三

/利用 flex 布局实际使用时应考虑兼容性/

.container {
    
  display: flex;
  align-items: center; /*垂直居中*/
  justify-content: center; /*水平居中*/
}
.containerdiv {
    
  width: 100px;
  height: 100px;
  background-color: pink; /*方便看效果*/
}

-水平垂直居中四

/利用 text-align:center 和 vertical-align:middle 属性/

.container {
    
   position: fixed;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   background: rgba(0, 0, 0, 0.5);
   text-align: center;
   font-size: 0;
   white-space: nowrap;
   overflow: auto;
 }
.container::after {
    
   content: "";
   display: inline-block;
   height: 100%;
   vertical-align: middle;
}
.box {
    
   display: inline-block;
   width: 500px;
   height: 400px;
   background-color: pink;
   white-space: normal;
   vertical-align: middle;
}

总结:
一般常见的几种居中的方法有:
对于宽高固定的元素

  1. 我们可以利用 margin:0auto 来实现元素的水平居中。
  2. 利用绝对定位,设置四个方向的值都为 0,并将 margin 设置为 auto,由于宽高固定,
    因此对应方向实现平分,可以实现水平和垂直方向上的居中。
  3. 利用绝对定位,先将元素的左上角通过 top:50%和 left:50%定位到页面的中心,然后再 通过 margin负值来调整元素的中心点到页面的中心。
  4. 利用绝对定位,先将元素的左上角通过 top:50%和 left:50%定位到页面的中心,然后再 通过 translate 来调整元素的中心点到页面的中心。
  5. 使用 flex 布局,通过 align-items:center 和 justify-content:center 设置容器的垂直和水平
    方向上为居中对齐,然后它的子元素也可以实现垂直和水平的居中。

对于宽高不定的元素,上面的后面两种方法,可以实现元素的垂直和水平的居中。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44244924/article/details/129889591

智能推荐

Java 重定位 —— redirect:_redirect:/index-程序员宅基地

文章浏览阅读747次。return "redirect:/index": 不管前面的路径是什么,满足条件后会跳转到index比如8080/a/b/c/跳转后变成8080/index_redirect:/index

Python对象的身份比较_python 身份-程序员宅基地

文章浏览阅读971次。相较于值的比较,Python也支持身份的比较。身份比较运算符:运算符 说明 is 结果为True,运算符两端是同一个对象,如果是False,则为不同对象。 is not 结果为True,运算符两端不是同一个对象,结果为False,则为同一个对象。 什么是身份比较所谓身份比较,即判断两个或更多的不同名称的对象是否为同一个对象。>>> ..._python 身份

vue服务端渲染添加缓存的方法-程序员宅基地

文章浏览阅读241次。什么是服务器端渲染(SSR)?Vue.js 是构建客户端应用程序的框架。默认情况下,可以在浏览器中输出 Vue 组件,进行生成 DOM 和操作 DOM。然而,也可以将同一个组件渲染为服务器端的 HTML 字符串,将它们直接发送到浏览器,最后将这些静态标记"激活"为客户端上完全可交互的应用程序。服务器渲染的 Vue.js 应用程序也可以被认为是"同构"或"通用",因为应用程序的大部分代码都可..._vue 在服务器渲染中,下列哪项内容不能缓存

对比工具Beyond Compare_beyondcompare带反编译-程序员宅基地

文章浏览阅读2.4k次。1、代码对比工具:http://download.csdn.net/detail/z345434645/8401687 此工具常用于代码对比但不限于代码对比。2、.class 反编译插件 http://download.csdn.net/detail/z345434645/83999953、打开工具,左键选中文件分别将要对比的两个文件拖到左边和右边。注释:1 火符号表示显_beyondcompare带反编译

linux php7 安装redis扩展_linux yum安裝php7.3 redis 擴展-程序员宅基地

文章浏览阅读6.4k次。昨天写了window下的wamp安装redis及php_redis扩展,今天配置了服务器的php_redis扩展,顺便记录一下环境介绍:我的服务器是阿里云的centos主机,php 7.0.141 安装和配置redis 参考方案 点击打开链接 1.1 下载redis 进入软件安装目录cd /usr/local/ 下载最新版的rediswge_linux yum安裝php7.3 redis 擴展

java操作rabbitmq_java com.rabbitmq包-程序员宅基地

文章浏览阅读939次。JMS项目搭建和rabbitmq模式简介_java com.rabbitmq包

随便推点

javascript前端XML格式正确性验证方法_js判断xml-程序员宅基地

文章浏览阅读3.5k次。https://www.2cto.com/kf/201203/124608.html function validateXML(xmlContent) { //errorCode 0是xml正确,1是xml错误,2是无法验证 var xmlDoc,errorMessage,errorCode = 0; ..._js判断xml

RTSP协议学习笔记-程序员宅基地

文章浏览阅读4次。一、RTSP协议概述RTSP(Real-Time Stream Protocol )是一种基于文本的应用层协议,在语法及一些消息参数等方面,RTSP协议与HTTP协议类似。RTSP被用于建立的控制媒体流的传输,它为多媒体服务扮演“网络远程控制”的角色。尽管有时可以把RTSP控制信息和媒体数据流交织在一起传送,但一般情况RTSP本身并不用于转送媒体流数据。媒体数据的传送可通过R...

3.5网安学习第三阶段第五周回顾(个人学习记录使用)_vauditdebug代码审计-程序员宅基地

文章浏览阅读976次,点赞20次,收藏11次。SSRF: server site request forgery (服务器端请求伪造)。SSR: 服务端请求,A服务器通过函数向B服务器发送请求。SSRF发生的前提条件:1、外网服务器接收到用户的参数,没有做严格的过滤和检查2、外网服务器在调用内网服务器的时候,使用了用户传入的参数来调用内网服务器的接口。_vauditdebug代码审计

Github、git使用.ignore忽略不想提交的文件_.ignoregithub-程序员宅基地

文章浏览阅读5.4k次。在是用Git版本控制的时候,会有很多不想提交的文件,或者由于某些SDK太大,GitHub上面有文件大小限制,智能忽略某些文件提交。这个时候,就要用.ignore来忽略一些文件。1、.ignore是什么?.ignore是一个文件,类似于cocoapods中的podfile文件。.ignore里面定义了你想要忽略的文件或者文件类型。2、在哪里定义.i_.ignoregithub

利用swing的undo包实现Undo/Redo功能_undo-redo-manager2-程序员宅基地

文章浏览阅读6.8k次。利用swing的undo包实现Undo/Redo功能 一、概述javax.swing.undo包提供了一系列接口和类,利用它可以方便的在程序中加入Undo/Redo功能。 先说说undo包引入的一个概念——Edit。它是与Command模式中的Command类似的一个概念。Command模式将操作的执行逻辑封装到一个个Command对象中,解耦了操作发起者和操作执行逻辑之间的耦_undo-redo-manager2

文科专业和编程基础薄弱的女孩子做软件的神器——aardio学习资源入门_aardio程序设计基础篇-程序员宅基地

文章浏览阅读515次,点赞8次,收藏8次。aardio 开发桌面应用,这几点必须要掌握!- 星安果的文章 - 知乎从使用者角度来为aardio编程软件说句话 - popdes的文章 - 知乎。_aardio程序设计基础篇