css实现居中的方法

news/2024/9/21 11:53:18/
htmledit_views">

水平居中

1. 行内设置text-align

给父元素设置text-align为center,一般用于实现文字水平居中

2. 给当前元素设置margin:0 auto

原理:块级独占一行,表现为在水平方向上占满整个父容器,当水平方向padding,border,width成定值时,margin左右为auto,默认margin左右平分剩余空间

html"><head><style>.content{width: 600px;height: 300px;border: 1px solid #000;}.box{width: 200px;height: 200px;background-color: darkcyan;margin: 0 auto;}</style>
</head>
<body><div class="content"><div class="box"></div></div>
</body>

但是当该元素设置了position为absolute时,需要加上left为0,right为0才能使margin:0 auto生效,让元素左右边界都紧贴其包含块的边缘。

html">.box{width: 200px;height: 200px;background-color: darkcyan;margin: 0 auto;left: 0;right: 0;position: absolute;
}

3. justify-content

父元素设置display为flex布局,justify-content为center,设置盒子在主轴的对齐方式为center

html">.content{width: 600px;height: 300px;border: 1px solid #000;display: flex;justify-content: center;
}

4. transform + position

父元素设置relative,子元素设置absolute,left为50%,距离左边偏移父元素50%,transform为translateX(-50%),向左平移自身宽度的50%

5. margin-left + position

与transform类似,只是margin-left为负的自身宽度的一半

当未知宽高时用transform,已知宽高可以用margin-left

垂直居中

1. 单行文本可以设置line-height

设置line-height与height相等

一般用于文字垂直居中

2. align-items

父元素设置flex,align-items为center,定义元素在侧轴对齐方式为center

3. transform + position

与水平居中一样,设置top:50%距离上边偏移父元素50%,transform为translateY(-50%)

4. margin-top + position

与水平居中一样,设置top:50%,margin-top:负的自身高度的一半

5. margin:0 auto

子元素设置absolute定位,top为0,bottom为0,margin设置auto

html">.box{width: 200px;height: 100px;background-color: darkcyan;position: absolute;margin: auto;top: 0;bottom: 0;
}

6. table-cell + vertical-align

给父元素设置display为table-cell,vertical-align为middle

整体居中

行内:text-align:center; line-height:height

块级:

1. flex

html">.content{width: 400px;height: 300px;border: 1px solid #000;display: flex;justify-content: center; /*水平居中*/align-items: center;  /*垂直居中*/
}

2. transform

html">.content{width: 400px;height: 300px;border: 1px solid #000;position: relative;
}
.box{width: 200px;height: 100px;background-color: darkcyan;position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%)
}

3. margin

html">.content{width: 400px;height: 300px;border: 1px solid #000;position: relative;
}
.box{width: 200px;height: 100px;background-color: darkcyan;position: absolute;top: 50%;left: 50%;margin-top: -50px;margin-left: -100px;
}


http://www.ppmy.cn/news/1528399.html

相关文章

2.Seata 1.5.2 集成Springcloud-alibaba

一.Seata-server搭建已完成前提下 详见 Seata-server搭建 二.Springcloud 项目集成Seata 项目整体测试业务逻辑是创建订单后&#xff08;为了演示分布式事务&#xff0c;不做前置库存校验&#xff09;&#xff0c;再去扣减库存。库存不够的时候&#xff0c;创建的订单信息数…

Lua发邮件:实现自动化邮件发送教程指南!

Lua发邮件高级技巧有哪些&#xff1f;如何利用Lua发送电子邮件&#xff1f; 自动化邮件发送是一个非常实用的功能&#xff0c;广泛应用于各种场景&#xff0c;如通知、提醒、报告生成等。Lua作为一种轻量级脚本语言&#xff0c;因其简洁和高效而受到广泛欢迎。AokSend将详细介…

JVM OutOfMemoryError 与 StackOverflowError 异常

目录 前言 堆溢出 虚拟机栈和本地方法栈溢出 方法区溢出 前言 JVM规范中规定, 除了程序计数器之外, 其他的运行时数据区域, 例如堆栈, 方法区, 都会出现OutOfMemoryError异常. 那么到底是怎么样的代码, 才会引起堆溢出, 栈溢出, 或者是方法区的溢出呢? 如果遇到了又该如何…

“华为杯”第十二届中国研究生数学建模竞赛-D题:面向节能的单/多列车优化决策问题研究(续)(附MATLAB代码实现)

目录 5.2.3 结果分析 5.3 列车延误优化控制模型 5.3.1 模型建立 5.3.2 模型求解 5.3.3 结果分析 6 模型的评价与推广 6.1 模型的优点 6.2 模型的缺点 6.3 模型的推广 参考文献 代码实现 第一题主要程序 第二题主要程序 本文篇幅较长,分为上下两篇,上篇详见面向节能的单/多列车…

传输大咖44 | 云计算企业大数据迁移如何更安全高效?

在云计算时代&#xff0c;数据已成为企业最宝贵的资产之一。对于依赖云服务的企业和组织来说&#xff0c;大数据迁移是实现业务扩展和优化的关键步骤。然而&#xff0c;这一过程并非没有挑战。传统的文件传输方式在安全性、稳定性和速度上往往无法满足云计算企业的需求。本文将…

OpenAI或于9月24日发布ChatGPT高级语音模式

&#x1f989; AI新闻 &#x1f680; OpenAI或于9月24日发布ChatGPT高级语音模式 摘要&#xff1a;科技媒体报道&#xff0c;OpenAI计划在9月24日进一步推广ChatGPT的高级语音模式&#xff0c;预计将正式发布。该模式于7月向部分ChatGPT Plus用户开放&#xff0c;提供更为真实…

数据结构_1、基本概念

1、基本概念 数据&#xff1a;是信息的载体&#xff0c;是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。 数据元素&#xff1a;数据元素是数据的基本单位&#xff0c;通常作为一个整体进行考虑和处理…

MyBatis 增删改查【后端 17】

MyBatis 增删改查 引言 MyBatis 是一个优秀的持久层框架&#xff0c;它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解用于配置和原始映射&#xff0c;将接口和 Java 的 POJOs (…