本文介绍: 本文简单介绍一下现代 CSS 中最常见的三种水平垂直居中方案。
本文简单介绍一下现代 CSS 中最常见的三种水平垂直居中方案。
html:
<div class="container">
<div class="content"></div>
</div>
css:
.container {
width: 500px;
height: 500px;
border: 1px solid #000;
.content {
width: 200px;
height: 200px;
background-color: #ccc;
}
}
Flex 布局
方案1:父元素设置 flex 布局,并设置主轴以及交叉轴的对齐方式:
.container {
width: 500px;
height: 500px;
border: 1px solid #000;
display: flex;
justify-content: center;
align-items: center;
.content {
width: 200px;
height: 200px;
background-color: #ccc;
}
}
方案2:父元素设置 flex 布局,子元素设置 margin: auto
:
.container {
width: 500px;
height: 500px;
border: 1px solid #000;
display: flex;
.content {
width: 200px;
height: 200px;
background-color: #ccc;
margin: auto;
}
}
Grid 布局
父元素设置 grid 布局,以及 place-items: center
。place-items
是 align-items
和 justify-items
的简写形式。
Grid 的兼容性不如 Flex,对于一些比较老的浏览可能不太支持。
.container {
width: 500px;
height: 500px;
border: 1px solid #000;
display: grid;
place-items: center;
.content {
width: 200px;
height: 200px;
background-color: #ccc;
}
}
绝对定位 absolute
使用绝对定位会使元素脱离文档流,一般常用于弹窗、对话框等。
父元素设置相对定位,子元素设置绝对定位,设置 top、left 以及 transform。
.container {
position: relative;
width: 500px;
height: 500px;
border: 1px solid #000;
.content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 200px;
height: 200px;
background-color: #ccc;
}
}
top
和left
属性都设置为50%。这会将.content
元素的左上角定位到其父元素(.container
)的中心。transform: translate(-50%, -50%);
被应用到.content
元素上。这会将.content
元素自身向左和向上移动其自身宽度和高度的50%,从而使得.content
元素的中心与其父元素的中心对齐,实现了居中。
原文地址:https://blog.csdn.net/qq_44600038/article/details/135528674
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_55524.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。