css常用元素水平垂直居中方案
发布时间:2019-08-09 16:28:20 作者:JinsongChai
我要评论
这篇文章主要介绍了css常用元素水平垂直居中方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
适用场景:父子宽高都可未知(比较推荐这种方式,简单,而且目前兼容性也不错。)
<html>
<head>
<style>
.parent {
width: 100%;
height: 100px;
background: cyan;
display: flex;
justify-content: center;
align-items: center;
}
.son {
width: 20%;
height: 20%;
background: pink;
}
</style>
</head>
<body>
<div class='parent'>
<div class='son'></div>
</div>
</body>
</html>
适用场景:父元素宽高已知未知都行,但是首先得有宽高。其次子元素的宽高必须已知,因为需要设置子元素的负margin. (也可以将负margin设置成translate来做位移实现)
<html>
<head>
<style>
.parent {
position: relative;
width: 200px;
height: 200px;
background: pink;
}
.son {
position: absolute;
left: 50%;
top: 50%;
margin-left: -25px;
margin-top: -25px;
width: 50px;
height: 50px;
background: yellow;
}
</style>
</head>
<body>
<div class='parent'>
<div class='son'></div>
</div>
</body>
</html>
适用场景:父子元素宽高都未知的情况(该方式不需要明确知道子元素宽高,子元素宽高可用百分比,对于子元素宽高不确定需要居中的情况比较适合。)
<html>
<head>
<style>
.parent {
position: relative;
width: 200px;
height: 200px;
background: cyan;
}
.son {
position: absolute;
left: 0;
top: 0;
bottom: 0;
right: 0;
margin: auto;
width: 10%;
height: 10%;
background: yellow;
}
</style>
</head>
<body>
<div class='parent'>
<div class='son'></div>
</div>
</body>
</html>
适用场景:父子元素宽高未知,兼容性不大好
<html>
<head>
<style>
.parent {
display: grid;
}
.son {
jusitify-self: center;
align-self: center;
}
</style>
</head>
<body>
<div class='parent'>
<div class='son'></div>
</div>
</body>
</html>
Table-cell + text-align + vertical-align
适用场景: 父元素大小已知(非百分比高度),子元素大小未知,但子元素须为行内块元素,较好的兼容性
<html>
<head>
<style>
.parent {
display: table-cell;
vertical-align: middle;
text-align: center;
width: 100vw;
height: 90vh;
background-color: yellowgreen;
}
.son {
display: inline-block;
width: 200px;
height: 200px;
background-color: Indigo;
}
</style>
</head>
<body>
<div class='parent'>
<div class='son'></div>
</div>
</body>
</html>
适用场景:父子宽高都可未知,子元素需为行内块元素(这种方式其实就是使用伪元素的高度为100%,子元素和伪元素都设置 vertical-align: middle实现垂直居中的效果)
<html>
<head>
<style>
.parent {
height: 100vh;
width: 100vw;
text-align: center;
background: #c0c0c0;
}
.parent:before {
content: "\200B";
display: inline-block;
height: 100%;
vertical-align: middle;
}
.son {
display: inline-block;
vertical-align: middle;
width: 200px;
height: 200px;
padding: 10px 15px;
background: #f5f5f5;
}
</style>
</head>
<body>
<div class="parent">
<div class="son"></div>
</div>
</body>
</html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
这篇文章主要介绍了css实现元素居中的N种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-02-02
这篇文章主要介绍了css实现元素垂直居中显示的7种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学2020-09-04- 这篇文章主要介绍了CSS实现子元素div水平垂直居中的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起2020-09-03
这篇文章主要介绍了css 不定宽高的元素居中布局解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起2019-09-18
这篇文章主要介绍了CSS自适应布局实现子元素项目整体居中,内部项目左对齐,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们2019-09-03- 本文给大家分享几种方法介绍css实现元素垂直居中的常用方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下2019-04-01
- 在 CSS 中要设置元素水平垂直居中是一个非常常见的需求了。这篇文章主要介绍了CSS实现元素居中原理解析,本文分别从行内元素和块级元素进行说明,具有一定的参考价值,感兴2018-10-18
- 作为前端攻城师,在制作Web页面时都有碰到CSS制作水平垂直居中,我想大家都有研究过或者写过,特别的其中的垂直居中,更是让人烦恼,下面这篇文章主要给大家汇总介绍了关于2017-09-12
- 这篇文章主要给大家介绍了css实现元素水平垂直居中的两种方式,文中给出了完整的示例代码供大家参考学习,对大家的学习或者工作具有一定的参考价值,有需要的朋友们下面来2017-04-23
- 下面小编就为大家带来一篇关于css 行元素和块元素 相互转换 居中。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-08-05




最新评论