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

[CSS]中子元素在父元素中居中

元素居中

对于当行文字居中,比较简单,设置text-align:center和text-height为盒子高度即可

对于父元素中子元素居中,要实现的话有以下几个方法

方法1:利用定位+margin:auto

<style>.father {width: 500px;height: 300px;border: 1px solid #0a3b98;position: relative;}
​.son {width: 100px;height: 40px;background: #f0a238;position: absolute;top: 0;left: 0;right: 0;bottom: 0;margin:auto;}
</style>
<div class="father"><div class="son"></div>
</div>

父元素中relative相对定位,子元素absolute绝对定位,并设置top,left,right,bottom为0,并设置margin:auto

方法2:利用定位+margin:负值

<style>.father {position: relative;width: 200px;height: 200px;background: skyblue;}.son {position: absolute;top: 50%;left: 50%;margin-left:-50px;margin-top:-50px;width: 100px;height: 100px;background: red;}
</style>
<div class="father"><div class="son"></div>
</div>

父元素中relative相对定位,子元素absolute绝对定位,并设置top,left为50%,并设置margin-left和margin-top为盒子大小的一半-50px(这种情况需要知道盒子大小)

方法3:利用定位+transform

<style>.father {position: relative;width: 200px;height: 200px;background: skyblue;}.son {position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);width: 100px;height: 100px;background: red;}
</style>
<div class="father"><div class="son"></div>
</div>

父元素中relative相对定位,子元素absolute绝对定位,并设置top,left为50%,并使用transform移动-50%,transform: translate(-50%,-50%); 此方法不需要知道盒子大小

方法4:利用flex

<style>.father {display: flex;justify-content: center;align-items: center;width: 200px;height: 200px;background: skyblue;}.son {width: 100px;height: 100px;background: red;}
</style>
<div class="father"><div class="son"></div>
</div>

使用flex布局,设置justify-content: center; 水平居中 align-items: center;设置垂直居中

相关文章:

  • HTTP和HTTPS谁传输数据更安全?
  • golang语言系列:Scrum、Kanban等敏捷管理策略
  • Leetcode 322. 零钱兑换
  • VMware使用PowerCLI 修改分布式虚拟交换机的默认上联接口为LAG
  • 第九届蓝桥杯大赛个人赛省赛(软件类)真题C 语言 A 组-分数
  • 2404C++,C++ADL扩展库
  • centos7 安装 mysql
  • 宝塔面板 -- 打包前端项目并部署提升访问速度
  • 【C++】vector系列力扣刷题日志(136.只出现一次的数字,118.杨辉三角,26.删除有序数组中的重复项,260.只出现一次的数字 |||)
  • 计算机网络链路层
  • 使用API有效率地管理Dynadot域名,清除域名设置
  • 多模态学习实战手册:掌握20余个常见任务及测试数据集!
  • 加域报错:无法完成此功能
  • 如何在VSCode中高效使用Git:完全指南
  • css之flex布局文本不换行不显示省略号的解决方法
  • 【知识碎片】第三方登录弹窗效果
  • Consul Config 使用Git做版本控制的实现
  • create-react-app项目添加less配置
  • css属性的继承、初识值、计算值、当前值、应用值
  • extjs4学习之配置
  • Mysql数据库的条件查询语句
  • QQ浏览器x5内核的兼容性问题
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • use Google search engine
  • vue2.0项目引入element-ui
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 三栏布局总结
  • 手写一个CommonJS打包工具(一)
  • 一道面试题引发的“血案”
  • 06-01 点餐小程序前台界面搭建
  • k8s使用glusterfs实现动态持久化存储
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • NLPIR智能语义技术让大数据挖掘更简单
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • 通过调用文摘列表API获取文摘
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (pojstep1.3.1)1017(构造法模拟)
  • (Python) SOAP Web Service (HTTP POST)
  • (九十四)函数和二维数组
  • (理论篇)httpmoudle和httphandler一览
  • (学习日记)2024.01.09
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)平衡树
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .net 8 发布了,试下微软最近强推的MAUI
  • .NET CLR基本术语
  • .NET Core使用NPOI导出复杂,美观的Excel详解