CSS总结(六)——元素的垂直居中(已知高度/未知高度)
2016-03-21 17:58
393 查看
元素的垂直居中
1、已知高度宽度元素的水平垂直居中
① 绝对定位居中
.center{
margin:auto;
position:absolute;
top:0;
left:0;
bottom:0;
right:0;
}
② 绝对定位与负边距实现
.center{
width:100px;
height:100px;
position:absolute;
top:50%;
left:50%;
margin:-50px 0 0 -50px;
}
2、未知高度宽度元素的水平垂直居中
① 当元素为inline 或 inline-block时
#content {
display:table-cell; //表格单元格显示
text-align:center; //文本水平居中对齐
vertical-align:middle; //元素垂直居中对齐
}
#center{ }
② 利用css3的 transform
# content {
position:relative;
}
#center {
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%); //定义2D转换
}
③ 利用css3的 flex 布局 — CSS3 flex容器,所有子元素为容器成员(火狐、谷歌支持)
#content{
display:flex;
justify-content:center; //在主轴上居中对齐
align-items:center; //在交叉轴上居中对齐
}
#center{ }
ps:transform 和 flex 虽高效好用,但存在很多兼容问题。
1、已知高度宽度元素的水平垂直居中
① 绝对定位居中
.center{
margin:auto;
position:absolute;
top:0;
left:0;
bottom:0;
right:0;
}
② 绝对定位与负边距实现
.center{
width:100px;
height:100px;
position:absolute;
top:50%;
left:50%;
margin:-50px 0 0 -50px;
}
2、未知高度宽度元素的水平垂直居中
① 当元素为inline 或 inline-block时
#content {
display:table-cell; //表格单元格显示
text-align:center; //文本水平居中对齐
vertical-align:middle; //元素垂直居中对齐
}
#center{ }
② 利用css3的 transform
# content {
position:relative;
}
#center {
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%); //定义2D转换
}
③ 利用css3的 flex 布局 — CSS3 flex容器,所有子元素为容器成员(火狐、谷歌支持)
#content{
display:flex;
justify-content:center; //在主轴上居中对齐
align-items:center; //在交叉轴上居中对齐
}
#center{ }
ps:transform 和 flex 虽高效好用,但存在很多兼容问题。
相关文章推荐
- css选择器
- CSS总结(五)——定位 position
- CSS :before 和 :after
- CSS总结(四)—— CSS选择器优先级
- css,js实现在鼠标移动到一个位置在这个位置下面显示一个已经存在的div,这个div的位置随意
- CSS3实现翻转(Flip)效果
- CSS总结(三)—— 盒子模型(标准/IE下)
- Html+CSS transform属性中的 translate属性值
- Css3之基础-3 Css 尺寸单位、尺寸属性与边框属性
- css常用选择器
- Html+CSS transform属性中的 rotate 属性值
- CSS总结(二)—— 浮动 与 清除浮动
- Css3之基础-2 Css 基础选择器
- Html+CSS CSS3 Keyframe+Animation属性 CSS动画
- CSS3 选择器 属性选择器介绍
- CSS3选择器
- CSS 预处理器与 CSS 后处理器
- CSS总结(一)—— display三种元素(区别、重点、扩展)
- 再谈 CSS 预处理器
- 格式化CSS文件,使之变成键值对形式