CSS实现垂直居中和水平居中
来源:互联网 发布:买电影票的软件 编辑:程序博客网 时间:2024/05/29 03:23
水平居中
- 1、子元素是行内元素
设置 text-align:center
css:
.container{ width: 300px; height: 300px; border: 1px solid black; text-align: center;}.inner{ background-color: red; font-size: 25px; font-weight: bold; color: white;}
html:
<div class="container"> <span class="inner">middle</span></div>
效果:
- 2、子元素为定宽块级元素
解法1:设置 左右 margin 值为 auto
css:
.container{ width: 300px; height: 300px; border: 1px solid black;}.inner{ width: 150px; height: 100px; margin: 0 auto;}
html:
<div class="container"> <div class="inner"></div></div>
效果:
解法2:弹性布局
父元素设置display: flex; justify-content: center;
css:
.container{ width: 300px; height: 300px; border: 1px solid black; display: flex; justify-content: center;}.inner{ width: 150px; height: 100px; background-color: green;}
html:
<div class="container"> <div class="inner"></div></div>
- 3、不定宽块级元素
在这种情况下,实际上也不存在水平居中一说,因为子元素是块级元素没有设定宽度,那么它会充满整个父级元素的宽度,即在水平位置上宽度和父元素一致
css:
.container{ width: 300px; height: 300px; border: 1px solid black;}.inner{ border: 1px solid gray; background-color: green;}
html:
<div class="container"> <div class="inner">middle</div></div>
效果:
垂直居中
- 1、子元素为行内元素
设定父元素的line-height为其高度来使得子元素垂直居中
css:
.container{ width: 300px; height: 300px; border: 1px solid black; line-height: 300px;}.inner{ background-color: red; font-size: 25px; font-weight: bold; color: white;}
html:
<div class="container"> <span class="inner">middle</span></div>
效果:
- 子元素是块级元素但是子元素高度没有设定
解法1:父元素设置display: table-cell;vertical-align: middle;
css:
.container{ width: 300px; height: 300px; border: 1px solid black; display: table-cell; vertical-align: middle;}.inner{ background-color: red; font-size: 25px; font-weight: bold;}
html:
<div class="container"> <span class="inner">middle</span></div>
效果:
解法2:弹性盒子
css:
.container{ width: 300px; height: 300px; border: 1px solid black; display: flex; flex-direction: column; justify-content: center;}.inner{ background-color: red; font-size: 25px; font-weight: bold; color: white;}
html:
<div class="container"> <span class="inner">middle</span></div>
效果同上。
解法3:子元素设置相对定位并设置translateY(-50%)
css:
.container{ width: 300px; height: 300px; border: 1px solid black;}.inner{ position:relative; top:50%; transform:translateY(-50%); -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); -ms-transform:translateY(-50%); background:red; font-size: 25px; font-weight: bold; color: white;}
html:
<div class="container"> <span class="inner">middle</span></div>
效果同上。
- 子元素为块级元素并且高度已设定
解法1:子元素使用绝对定位和负margin
css:
.container{ width: 300px; height: 300px; border: 1px solid black; position: relative;}.inner{ width: 150px; height: 100px; background-color: green; position: absolute; top: 50%; margin-top: -50px; }
html:
<div class="container"> <div class="inner"></div></div>
效果:
解法2:子元素使用相对定位并设置translateY(-50%)
css:
.container{ width: 300px; height: 300px; border: 1px solid black;}.inner{ position:relative; width:150px; height:100px; top:50%; transform:translateY(-50%); -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); -ms-transform:translateY(-50%); background:green; }
html:
<div class="container"> <div class="inner"></div></div>
效果同上。
解法3:弹性盒子
css:
.container{ width: 300px; height: 300px; border: 1px solid black; display: flex; flex-direction: column; justify-content: center;}.inner{ width: 150px; height: 100px; background-color: green;}
html:
<div class="container"> <div class="inner"></div></div>
效果同上。
阅读全文
0 0
- css实现水平居中和垂直居中
- CSS实现水平居中和垂直居中
- CSS实现垂直居中和水平居中
- css 实现水平居中 和 垂直水平都居中
- CSS实现DIV水平居中和上下垂直居中
- CSS中实现垂直居中和水平居中
- 利用css实现水平居中和垂直居中
- css实现垂直居中和水平居中的方法
- css实现水平居中和垂直居中的常见方式
- CSS实现垂直水平居中
- CSS实现垂直 水平居中
- CSS实现垂直水平居中
- css实现垂直水平居中
- CSS实现垂直水平居中
- CSS实现垂直水平居中
- CSS实现垂直水平居中
- css实现垂直水平居中
- css 实现垂直水平居中
- Pandas DataFrame 函数方法
- 监控系统
- 建设DevOps统一运维监控平台,先从日志监控说起
- Codeforces864D(构造水题?)
- 更新安全补丁后无法读取查询导入Excel问题解决说明书
- CSS实现垂直居中和水平居中
- 从Cassandra到分布式存储系统-目录
- 章节8 支持的操作系统
- 【LeetCode 21】Merge Two Sorted Lists(Python)
- Java内部类的定义及在外部使用的方法
- 34岁!100天!学会Java编程(Day16-Day19)—MySQL与JDBC编程
- 合唱团
- Python爬虫知识点二
- 章节9 性能和资源使用