我们在设计网页时,会大量的运用到水平垂直居中,如果知道元素的宽高,那水平垂直居中是很简单的,无非是用一下margin就可以完成,这里就不向大家做过多的解释了。但是,如果不知道元素的宽高呢? 是不是就会在这上面用点心思了,接下来我给大家介绍两种我设计网页时常用的两种不定宽高的元素水平居中方法吧,放心绝对容易记。
- 公众号:前端印象
- 不定时有送书活动,记得关注~
- 关注后回复对应文字领取:【面试题】、【前端必看电子书】、【数据结构与算法完整代码】、【前端技术交流群】
===========================================================
首先来创建一个html页面,html代码和css代码如下:
效果图:
接下来我们就在这个基础上,对红色方框的元素标签进行水平垂直居中的操作
第一种方法我强烈推荐,用到了我们熟悉的flex布局。
- 元素标签内容
- 样式内容
.box{
width: 600px;
height: 300px;
background: lightgreen;
/以下三个样式就能实现水平垂直居中/
display: flex; /先开启flex布局/
justify-content: center; /实现水平居中/
align-items: center; /实现垂直居中/
}
.content{
background: red;
}
- 效果图
是不是非常的方便呢?只需要三个在外部元素标签设置三个样式就能实现内部元素的水平垂直居中。
第二种方法运用的就是定位和transform的知识来实现水平垂直居中
- 元素标签内容
我是box中的内容
- 样式内容
.box{
width: 600px;
height: 300px;
background: lightgreen;
position: relative; /外部元素开启relative定位/
}
.content{
background: red;
position: absolute; /内部元素开启absolute定位/
top: 50%; /向下移动父级高度的50%/