前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >css让div居中显示_css页面居中

css让div居中显示_css页面居中

作者头像
全栈程序员站长
发布2022-11-17 11:02:37
发布2022-11-17 11:02:37
9.5K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

css中设置div元素居中显示的四种方法


一、先确定div的基本样式

先给div随便设置些基本的样式,这样所得到的结果容易看出效果。

代码语言:javascript
代码运行次数:0
运行
复制
css结构:
<style type="text/css"> *{ 
 margin: 0; height: 0; } .warp{ 
 width: 500px; height: 500px; background-color: pink;//给个背景,结果更清晰 margin: 50px auto; } .warp .box{ 
 width: 200px; height: 200px; background-color: green; } </style>
HTML结构:
<div class="warp">
<div class="box"></div>
</div>

二、具体实现方法

第一种:利用子绝父相和margin: auto实现

给父级div设置相对定位,子元素div设置绝对定位,left、right、top、bottom都设置为0,然后将margin设置为auto即可实现。

注意:子绝父相就是 父级元素相对定位,子级元素绝对定位

代码语言:javascript
代码运行次数:0
运行
复制
		.warp{ 

width: 500px;
height: 500px;
background-color: pink;
margin: 50px auto;
position:relative;//设置为相对定位
}
.warp .box{ 

width: 200px;
height: 200px;
background-color: green;
position:absolute;//设置为绝对定位
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
}
第二种:利用子绝父相和过渡动画tranform实现

给父级div设置相对定位,子元素div设置绝对定位,将left、top设置为50%;然后设置transform: translate(-50%,-50%);即可实现。

原理:设置了left: 50%;top:50%; 之后,子元素位于如图所在位置,

此时,我们需要向左移动子级div宽度的一半,子级div所在位置如图所示

向上移动子级div高度的一半,结果如图所示

transform: translate(-50%,-50%);

代码语言:javascript
代码运行次数:0
运行
复制
		.warp{ 

width: 500px;
height: 500px;
background-color: pink;
margin: 50px auto;
position:relative;//设置为相对定位
}
.warp .box{ 

width: 200px;
height: 200px;
background-color: green;
position:absolute;//设置为绝对定位
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
}
第三种:同样是利用子绝父相和margin负值实现

子级div设置绝对定位,同样设置left: 50%; top: 50%,然后利用margin值为负时,产生的相反位移(同上过渡动画tranform产生位移类似)。即margin-left:calc(-div自身宽度/2),margin-top:calc(-div自身高度/2),也可以自己计算margin-left 和 margin-top的值。

注意:calc()函数,CSS3 的 calc() 函数允许我们在属性值中执行数学计算操作。

代码语言:javascript
代码运行次数:0
运行
复制
		.warp{ 

width: 500px;
height: 500px;
background-color: pink;
margin: 50px auto;
position:relative;//设置为相对定位
}
.warp .box{ 

width: 200px;
height: 200px;
background-color: green;
position:absolute;//设置为绝对定位
left: 50%;
top: 50%;
margin-left:calc(-200px/2);
margin-top:calc(-200px/2);	
}
第四种:利用flex弹性盒布局实现

给父级div设置display: flex;将父级div元素转为弹性盒,然后设置主轴对齐方式为居中 justify-content: center;,侧轴对齐方式为居中 align-items: center;即可实现。

代码语言:javascript
代码运行次数:0
运行
复制
		.warp{ 

width: 500px;
height: 500px;
background-color: pink;
margin: 50px auto;
display: flex;
justify-content: center;
align-items: center;
}
.warp .box{ 

width: 200px;
height: 200px;
background-color: green;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/213942.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月26日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • css中设置div元素居中显示的四种方法
  • 一、先确定div的基本样式
  • 二、具体实现方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档