DIV实现垂直居中的几种方法

说道垂直居中,我们首先想到的是vertical-align属性,但是许多时候该属性并不起作用。例如,下面的样式并不能达到内容垂直居中显示

1  div {
2      width:200px;
3      height:300px;
4      border: 1px solid #000;
5      vertical-align: middle;
6  }

原来vertical-align属性仅能够作用于单元格或图像显示。因此要在上面样式内加入以下代码,才能够使文字或图像垂直居中:

1 display: table-cell;

但是IE浏览器并不能很好的支持display:table-cell,所以也就不能很好的支持vertical-align属性了。你可以使用以下方法巧妙地解决垂直居中:

1   div{
2     line-height: 300px;
3     width: 200px;
4     height: 300px;
5     border: 1px solid #000;
6   } 

通过定义单行文本的高度与行高相同,就能间接地实现文本垂直居中的问题。但是对于多行文本来说,这种方法就失效了。

下面说一下如何实现DIV在父元素中垂直居中

1、利用CSS3的transform属性对盒子进行移动实现,该样式定义在子元素上。代码如下:



 1  div{
 2     border:1px solid #000;
 3     width:300px;
 4     height: 200px;
 5     position: absolute;
 6     top:50%;
 7     left: 50%;
 8     z-index: 3;
 9     -webkit-transform:translate(-50%,-50%);
10  }

 

2、使用CSS3的flex布局实现,该样式定义在父元素上。代码如下:

1  .parent{
2     border:1px solid #000;
3     width: 800px;
4     height: 500px;
5     justify-content: center; /*子元素水平居中*/
6     align-items: center; /*子元素垂直居中*/
7     display: -webkit-flex;
8  }
1   <div class="parent">
2       <div style="width:100px;height: 100px;border:1px solid #ccc"></div>
3   </div>
时间: 2025-02-01 09:05:46

DIV实现垂直居中的几种方法的相关文章

让div盒子相对父盒子垂直居中的几种方法

div相对于父盒子垂直居中的几种方法,之前在网上看到很多种方法,确实说的很对,也很具体,但是我感觉对于初学者来说,一目了然是最重要的,所以,我把很高深的技巧,和很复杂的css样式都剔除掉,旨在让更多人能看懂. 具体事例方法如下:    1.   其实这里的重点是,一定要给父盒子设置相对定位 <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <

垂直居中的N种方法

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

顽石系列:CSS实现垂直居中的五种方法

顽石系列:CSS实现垂直居中的五种方法 在开发过程中,我们可能沿用或者试探性地去使用某种方法实现元素居中,但是对各种居中方法的以及使用场景很不清晰.参考的内容链接大概如下: 行内元素:https://blog.csdn.net/bwf_erg/article/details/69844527 MDN文档:https://developer.mozilla.org/zh-CN/docs/Web/CSS/vertical-align 六种方法:https://www.jianshu.com/p/08

JQuery遍历指定id的div name值的几种方法

JQuery遍历指定id的div name值的几种方法:方法一 $("#div1 :text").each(function () { var this_id = $(this).attr("id"); alert(this_id); }

实现三个div,固定左右两边的div宽为200,中间的div宽度自适应的四种方法

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>实现三个div,固定左右两边的div宽为200,中间的div宽度自适应的四种方法</title> <style type="text/css"> html, body { width: 100%; height: 100%; margin: 0; padding:

CSS教程:div垂直居中的N种方法[转]

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

让DIV水平和垂直居中的几种方法

我们在设计页面的时候,经常要把DIV居中显示,而且是相对页面窗口水平和垂直方向居中显示,如让登录窗口居中显示.我们传统解决的办法是用纯CSS来让DIV居中.在本文中,我将给大家讲述如何用CSS和jQuery两种方法让DIV水平和垂直居中. CSS让DIV水平居中 说明,本文中所指的DIV包括HTML页面中所有的元素. 让一个DIV水平居中,直接用CSS就可以做到.只要设置了DIV的宽度,然后使用margin设置边距0 auto,CSS自动算出左右边距,使得DIV居中. 1 .mydiv{ 2 m

div垂直居中的N种方法 单行/多行文字(未知高度/固定高度)

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

CSS教程:div垂直居中的N种方法以及多行文本垂直居中的方法

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