CSS总结(六)——元素的垂直居中(已知高度/未知高度)

元素的垂直居中

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 虽高效好用,但存在很多兼容问题。

时间: 2024-10-13 12:34:20

CSS总结(六)——元素的垂直居中(已知高度/未知高度)的相关文章

CSS子元素居中(父元素宽高已知,子元素未知)

<style> .container{width:400px; height:400px; position:relative;} .center{position:absolute; left:0; top:0; bottom:0; right:0; margin:auto; width:50px; height:50px; //宽高可以不写 } </style> <div class="container"> <div class=&quo

CSS让一个元素水平垂直居中

第一种方法:用margin+绝对定位的方式 兼容性:IE6,IE7下完全失效 HTML代码: <div id="container"> <div class="center"></div>   </div> CSS代码: #container{   /*基本样式*/   width:500px;   height:500px;   background:#fee;   /*定位方式*/   position:relat

实现已知或者未知宽度的垂直水平居中

.wraper { position: relative; .box { position: absolute; top: 50 %; left: 50 %; width: 100px; height: 100px; margin: -50px 0 0 - 50px; } } // 2 .wraper { position: relative; .box { position: absolute; top: 50 %; left: 50 %; transform: translate(-50 %

CSS布局:元素垂直居中

CSS布局之元素垂直居中 本文将依次介绍在不同条件下实现垂直居中的多种方法及简单原理 Tip:下文中说的适用场景只是举了几个简单的例子方便读者理解.实际应用场景太复杂,生搬硬套容易出错.最重要的是掌握各种方法能够实现居中的原理.只要掌握了原理,那么不管问题怎么变都可以根据自己的理解选择合适的方法. 一.使用line-height 1.原理 ? 有行高的元素,内容会默认显示在行高的垂直中心处,通过设置行高等于父元素的高度,可以达到内容在父元素中垂直居中的效果 2.实现步骤 (1)父元素有一个确定的

css:子元素div 上下左右居中方法总结

最近在面试,不停地收到了知识冲击,尤其是对于一些基础的css.html.js问题居多,所以自我也在做反思,今天就css问题,如何让一个子元素div块元素上下左右居中 (以下总结方法,都已得到验证). 情景一:一个浏览器页面中,只有一个div模块,让其上下左右居中 解决方案:  { position:fixed;  left:0; right:0; top:0; bottom:0; margin:auto; } 备注:此处小编使用position:fixed为最佳方案,因为position:fix

网页元素居中攻略记_(4)用CSS3属性让元素水平垂直居中

flex实现子块的完美居中 方案 父块使用display:flex属性,子块margin自适应即可实现 代码 index.html <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>块状元素垂直居中(已知高度)</title> <style> *{margin: 0;padding: 0;} .

网页元素居中攻略记_(3)已知宽高元素水平垂直居中

已知宽高元素水平垂直居中 方案 使用了position的absolute属来实现,在上篇文章的垂直居中的基础上加上水平居中 代码 index.html <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>已知宽高元素水平垂直居中</title> <style> #container { posit

纯CSS实现:垂直居中,未知宽高,已知宽高,IE5除外所有浏览器均兼容

纯CSS实现:盒子内元素垂直居中,宽高固定与否均可,IE5除外所有浏览器均兼容: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8" /> 5 <title>纯CSS实现:盒子内元素垂直居中,宽高固定与否均可,IE5除外所有浏览器均兼容</title> 6 <style> 7 *{ margin:0; padding:0; } 8 di

CSS实现元素水平垂直居中—喜欢对称美,究竟是谁的错

在CSS中对元素进行水平居中是非常简单的:如果它是一个行内元素,就对它的父元素应用text-align:center;如果它是一个块级元素,就对它自身应用margin:auto.然而要对一个元素进行垂直居中,就有点束手无策了,本文介绍了几种常用的垂直居中方法以供参考! 一.表格布局法二.基于行内块的解决方案(来自于第二篇参考文献)三.基于绝对定位的解决方案1.绝对定位+负的外边距2.绝对定位+margin:auto3.绝对定位+transform反向偏移四.基于视口单位的解决方案(仅适用于基于视