css实现各种垂直居中的方法

随着接触的项目越来越多,就可以感受到“居中”应用的非常广泛。

水平居中,这里就不多说了,margin:0 auto就可以解决。

最令人烦恼的是垂直居中,这也是本章将重点总结的地方。

下面按类来划分垂直居中的解决方法:

  1.单行文本垂直居中    

代码:

div p{
        line-height: 30px;
        height: 30px;
    }

  2.图片居中       

    <div>
        <img src="1.jpg" alt="" />
    </div>
   div{
        width:300px;
        border:1px solid red;
        line-height: 300px;/*重点*/
    }

    div img{
        width: 100px;
        height: 100px;
        vertical-align: middle;/*重点*/
    }

  3.表格垂直居中       

   <div>
        <p>this is content</p>
    </div>
  div{
        display: table;
        border: 1px solid red;
        height: 100px;
        width: 300px;
    }
    div p{
        display: table-cell;
        vertical-align: middle;
    }

  4.块级元素垂直居中       

    <div class="blue">
        <div class="red"></div>
    </div>    
  .blue{
        width: 200px;
        height: 200px;
        position: relative;
        background-color: blue;
    }
    .red{
        width: 100px;
        height: 30%;
        position: absolute;
        top: 50%;
        margin-top:-15%; /*margin-top是height的一半*/
        background-color: red;
    }

另一种样式写法

  .blue{
        width: 200px;
        height: 200px;
        position: relative; /*重点*/
        background-color: blue;
    }
    .red{
        width: 100px;
        height: 30%;
        position: absolute;/*重点*/
        top: 0;/*重点*/
        bottom: 0;/*重点*/
        margin:auto;/*重点*/
        background-color: red;
    }

  5.借助空div使容器垂直居中       

  <div class="blue">
        <div class="floater"></div>
        <div class="red"></div>
    </div>
  .blue{
        height: 200px;
        width: 200px;
        background-color: blue;
    }
    .red{
        clear: both;
        height: 100px;
        background-color: red;
    }
    .floater{
        float: left;
        height: 50%;
        width: 100%;
        margin-bottom: -50px;/*内容高度的一半*/
    }

  6.利用css3实现垂直居中      

该中方法IE不兼容

  <div class="blue">
        <div class="red"></div>
    </div>
  .blue{
        width: 300px;
        height: 200px;
        display: -webkit-box; /*重点*/
        -webkit-box-align:center;/*重点*/
        background-color: blue;
    }
    .red{
        width: 100px;
        height: 100px;
        background-color: red;
    }
时间: 2024-08-29 21:50:23

css实现各种垂直居中的方法的相关文章

css的div垂直居中的方法,百分比div垂直居中

我们都知道,固定高宽的div在网页中垂直居中很简单,相信大家也很容易的写出来,但是不是固定高宽的div如何垂直居中呢?我们在网页布局,特别是手机等web端网页经常是不固定高宽的div,那么这些div如何垂直居中呢?这篇文章,我总结一下. 固定高宽div垂直居中 如上图,固定高宽的很简单,写法如下: position: absolute; left: 50%; top: 50%; width:200px; height:100px; margin-left:-100px; margin-top:-

使用CSS完美实现垂直居中的方法

使用XHTML+CSS来实现元素的垂直居中一直是前端开发中的一个比较复杂且棘手的问题,作为网页设计师或前端开发工程师,这个垂直居中问题也是必须掌握的技巧之一,一些互联网公司面试题中也会出现这类题目.今天暴风彬彬将分享一个完美通过CSS实现垂直居中的方法,该方法是由aka Yuh?发明的,这个方法也是目前暴风彬彬觉得最完美最简洁的CSS垂直居中实现方法.下面来看看暴风彬彬曾经总结的笔记,大家有不同意见请多拍砖: 先来看看实例效果Demo 该CSS垂直居中的条件: 1.已有一个已定义高度的容器(如<

css 中 div垂直居中的方法

在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中的确是有vertical-align属性,但是它只对(X)HTML元素中拥有valign特性的元素才生 效,例如表格元素中的<td>.<th>.<caption>等,而像<div>.<span>这样的元素是没有valign特性的,因此使用vertic

CSS元素水平垂直居中的方法(附内联元素,块级元素的基本概念)

用CSS让元素居中显示并不是件很简单的事情.同样的CSS居中设置在不同浏览器中的表现也各有千秋.本文就介绍了在CSS中常见的几种让元素水平居中显示的方法. 1.使用自动外边距实现居中 CSS中首选的让元素水平居中的方法就是使用margin属性—将元素的margin-left和margin-right属性设置为auto即可.在实际使用中,我们可以为这些需要居中的元素创建一个起容器作用的div.需要特别注意的一点就是,必须为该容器指定宽度: 在大多数主流浏览器中,这种方法都非常有效,即使是Windo

css水平居中和垂直居中的方法

html <div class="father"> <div class="child"></div></div> 法一:已知道两个盒子的宽高的情况,可以用margin来居中盒子: .father{ height: 200px; width: 200px; border: 1px solid red; } .child{ width: 100px; height: 100px; margin-top: 50px; ma

《转》CSS元素水平垂直居中方法总结(主要对大漠以及张鑫旭博客所述方法进行了归纳)

转自大地Dudy的CSS元素水平垂直居中方法总结(主要对大漠以及张鑫旭博客所述方法进行了归纳) 本文主要是对主流居中方法进行了归纳,有些地方甚至就是把别人的代码直接复制过来的,没有什么自己的东西,除了大漠以及张鑫旭的方法外,还有来自司徒正美.怿飞博客的几个方法 以下方法,由于测试环境的原因,IE系列只测试了IE9和IE6,以下所说的IE的支持性只是相对于IE9和IE6来说的: 一.元素的水平垂直居中: 第一种方法: <!doctype html> <html lang="en&

CSS水平和垂直居中的几种实现方法

一.CSS 居中 — 水平居中 DIV等标签本身没有定义自己居中的属性,网上很多的方法都是介绍用上级的text-align: center,然后嵌套一层DIV来解决问题.可是这个方法有时候完全不起作用,而且对于布局是非常不科学的方法.正确的的设置写法如下(对页面构造没有影响):div {margin-left: auto; margin-right: auto; }这句CSS居中的意思就是让div自己调整左右margin间隔的距离以达到水平居中的效果.有时候我们还可以简写为 div { marg

CSS中元素水平居中和垂直居中的方法

#CSS中水平居中和垂直居中的方法 一. 水平居中 1.行内元素(文本,图片等) 如果被设置元素为文本.图片等行内元素时,可以通过给父元素设置` text-align:center;` 来实现 2.定宽块级元素 可以通过设置“左右margin”值为“auto”来实现居中 常用的有 `margin:0 auto; ` 也可以写成`margin-left:auto;margin-right:auto;` 3.不定宽块级元素 有三种实现方法: * 加入 table 标签   为需要设置的居中的元素外面

转 CSS制作水平垂直居中对齐各种方法总结

作为前端攻城师,在制作Web页面时都有碰到CSS制作水平垂直居中,我想大家都有研究过或者写过,特别的其中的垂直居中,更是让人烦恼.这段时间,我收集了几种不同的方式制作垂直居中方法,但每种方法各有千秋呀,要正确的选择也是一件不容易的事情.我会将这几种方法一一介绍给大家,以供大家参考.或许对于我这样的初学者有一定的帮助. 用CSS来实现元素的垂直居中效果是件苦差事,虽然说实现方法有多种,但有很多方式在某些浏览器下可能无法正常的工作.接下来我们就一起来看看这些不同方法实现垂直居中的各自优点和其不足之处