当前位置: 首页 > news >正文

元素居中的方法总结

目录

垂直居中

行内元素垂直居中

单行文本垂直居中

1.line-height: 200px;

多行文本垂直居中

1.table+vertical-align:middle

块级元素垂直居中

1.display: flex;align-items: center;

2.使用position + top +margin-top

水平居中

行内元素水平居中

1.text-align:center

​编辑

块级元素水平居中

1.margin: 0 auto;

垂直水平居中

行内元素垂直水平居中

1.文本属性line-height+text-align

块级元素垂直水平居中

1.position+transform

 2.flexbox


垂直居中

行内元素垂直居中

单行文本垂直居中

1.line-height: 200px;

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}div{width: 200px;border: 1px solid red;height: 200px;}span{line-height: 200px;}</style></head><body><div><span> 垂直居中!</span></div></body>
</html>

多行文本垂直居中

1.table+vertical-align:middle

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}div{width: 200px;border: 1px solid red;height: 200px;display: table;}span{display: table-cell;vertical-align: middle;}</style></head><body><div><span> 多行垂直居中!多行垂直居中!多行垂直居中!多行垂直居中!多行垂直居中!多行垂直居中!多行垂直居中!多行垂直居中!</span></div></body>
</html>

2.flex+align-items

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}div{width: 200px;border: 1px solid red;height: 200px;display: flex;align-items: center;}</style></head><body><div><span> 多行垂直居中!多行垂直居中!多行垂直居中!多行垂直居中!多行垂直居中!多行垂直居中!多行垂直居中!多行垂直居中!</span></div></body>
</html>

块级元素垂直居中

1.display: flex;align-items: center;

不是所有的浏览器都可以兼容

2.使用position + top +margin-top

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style>.out{width: 500px;height: 500px;background-color: skyblue;	position: relative;			}.in{width: 100px;height: 100px;background-color: salmon;position: absolute;top: 50%;margin-top: -50px;}</style></head><body><div class="out"><div class="in"></div></div></body>
</html>

兼容性较好

让一个块级元素垂直居中的八种方法_块元素垂直居中__张张张i的博客-CSDN博客

水平居中

行内元素水平居中

1.text-align:center

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>.parent {text-align: center;}
</style>
</head>
<body><div class='parent'><span>123</span></div>
</body>
</html>

块级元素水平居中

1.margin: 0 auto;

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>.child {background: skyblue;width:200px;height:200px;margin: 0 auto;}</style>
</head>
<body><div class='parent'><div class='child'></div></div>
</body>
</html>

垂直水平居中

行内元素垂直水平居中

1.文本属性line-height+text-align

文本属性的话,如果你的行内元素是文本,你可以使用line-heighttext-align来实现水平和垂直居中

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>.parent {width: 500px;height: 500px;background-color: aqua;}span{text-align: center;line-height: 500px;}
</style>
</head>
<body><div class='parent'><span>123</span></div>
</body>
</html>

块级元素垂直水平居中

1.position+transform

.container 元素被设置为相对定位,以作为 .content 元素的定位参考。.content 元素被绝对定位到 .container 内,然后使用 top: 50%; left: 50%; 将其移动到容器的中心。最后,transform: translate(-50%, -50%); 用于微调元素的位置,使其完全居中。

<!DOCTYPE html>
<html>
<head>
<style>.container {position: relative;width: 100%;height: 100vh; /* 或者其他适当的高度 */background-color: aqua;
}.content {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);
}
</style>
</head>
<body><div class="container"><div class="content">要居中的内容</div>
</div></body>
</html>

 2.flexbox

<!DOCTYPE html>
<html>
<head>
<style>.container {display: flex;justify-content: center; /* 水平居中 */align-items: center; /* 垂直居中 */height: 100vh; /* 使容器铺满整个视口高度 */background-color: lightgray;}.content {display: inline-block; /* 将元素设置为行内块元素 */padding: 20px;background-color: white;}
</style>
</head>
<body><div class="container"><div class="content">要居中的内容</div>
</div></body>
</html>

大多数现代浏览器都支持它。然而,如果你需要考虑更旧的浏览器,特别是IE9及更早版本,Flexbox的支持可能会有限

参考文章来自:

元素居中的N种方法 - 掘金

css 水平居中(8种方法)、垂直居中(8种方法) - 掘金 (juejin.cn)

http://www.lryc.cn/news/146887.html

相关文章:

  • 后端面试话术集锦第一篇:spring面试话术
  • elasticsearch8.9.1集群搭建
  • 前端调用电脑摄像头
  • 网络编程day1——进程间通信-socket套接字
  • Android-关于页面卡顿的排查工具与监测方案
  • VueX 与Pinia 一篇搞懂
  • 指针与空间按钮的交互
  • java八股文面试[数据库]——慢查询优化
  • 《Flink学习笔记》——第十章 容错机制
  • 【LeetCode-中等题】230. 二叉搜索树中第K小的元素
  • DQL语句的用法(MySQL)
  • 【Navicat Premium 16】使用Navicat将excel的数据进行单表的导入,详细操作
  • 学习笔记230810--vue项目中get请求的两种传参方式
  • 分享一种针对uni-app相对通用的抓包方案
  • 【2023百度之星备赛】码蹄集 BD202301 公园(BFS求最短路)
  • 2022年下半年系统架构设计师真题(下午带答案)
  • 26、ADS瞬时波形仿真-TRANSIENT仿真(以共射放大器为例)
  • 【微服务部署】02-配置管理
  • NTP时钟同步服务器
  • webassembly003 ggml GGML Tensor Library part-2 官方使用说明
  • ES主集群的优化参考点
  • 全国范围内-二手房小区数据-2023-8月更新
  • 第4章 循环变换
  • spring cloud使用git作为配置中心,git开启了双因子认证,如何写本地配置文件
  • JVM内存管理、内存分区:堆、方法区、虚拟机栈、本地方法栈、程序计数器
  • L1-047 装睡(Python实现) 测试点全过
  • Mysql优化原理分析
  • 软考高级系统架构设计师系列案例考点专题一:软件架构设计
  • css实现垂直上下布局的两种常用方法
  • 【Jetpack】Navigation 导航组件 ⑤ ( NavigationUI 类使用 )