水平居中和垂直居中

水平居中(2)
方式一:text-align:center

适用类型:行级元素
方式二:margin:0 auto;
适用类型:块级元素

垂直居中(7)
方式一:line-height

适用:内联、块级
场景:单行文本垂直居中

html:

<div id="parent">  <div id="child">Content here</div></div>	

css:

#child {line-height: 200px;}

方式二:vertival-align:middle
适用:内联、表格、块级(需要特殊处理)
场景一:用于内联元素

下面以图像的垂直对齐。
css:

img{     vertical-align:middle;}

html:

<div>    <img src="http://pic2.58.com/ui7/job/hire/pic4.png" />看看我的位置</div>

场景二:用于表格

vertical-align属性可以直接用于表格单元格,效果相当于HTML中的valign属性。
css:

td{     height:40px;     vertical-align:middle;}

html:

<table>    <tr>        <td>这是一个测试</td>        <td>这是一个测试</td>    </tr>    <tr>        <td>这是一个测试</td>        <td>这是一个测试</td>    </tr></table>

场景三:用于块元素

vertical-align属性是不适用于块元素的,这就是为什么有些人使用vertical-align属性无效的原因。但是我们可以使用display属性,设置其值为table-cell,将块元素转化为单元格,然后再使用vertical-align属性。
css:

div{    width:500px;     height:200px;     border:1px blue solid;     display: table-cell;     vertical-align: middle;}

html:

<div>    <img src="http://pic2.58.com/ui7/job/hire/pic4.png" /></div>

需要注意的是,上面这种方法是存在兼容性问题的。IE6/IE7以及以IE为核心的浏览器如世界之窗、360、遨游等浏览器不支持这种用法,而Chrome、火狐却能支持。

为了兼容ie6/7可以为div添加以下属性
css:

div{    *display:block; *font-size:175px;    /*高度为200px,  则200*0.873约为175px* 撑开/  }

场景四:通用
html:

<div id="parent">    <div id="child">Content here</div></div>

css:

#parent {    display: table;}#child {    display: table-cell;    vertical-align: middle;}

低版本 IE fix bug:

#child {    display: inline-block;}

方式三:position:absolute和margin:-x%;
适用:块级
场景:
html

<div id="parent">    <div id="child">Content here</div></div>

css

#parent {    position: relative;}#child {    position: absolute;    top: 50%;    left: 50%;    height: 30%;    width: 50%;    margin: -15% 0 0 -25%;}

方式四:display:absolute和margin:auto
适用:通用(IE7-不正常)
css

#parent {position: relative;}#child {    position: absolute;    top: 0;    bottom: 0;    left: 0;    right: 0;    width: 50%;    height: 30%;    margin: auto;}

html

<div id="parent">    <div id="child">Content here</div></div>

方式五:padding-top和padding-bottom相等
适用:通用
html

<div id="parent">    <div id="child">Content here</div></div>

css

#parent {padding: 5% 0;}#child {padding: 10% 0;}

方式六:float
适用:通用
html

<div id="parent">    <div id="floater"></div>    <div id="child">Content here</div></div>

css

#parent{    height:250px;    border:1px solid #F00;}#floater{    float:left;    height:50%;    width:100%;    margin-bottom:-50px;}#child{    clear:both;    height:100px;}
时间: 2024-09-29 14:43:55

水平居中和垂直居中的相关文章

简单易实现的水平居中、垂直居中方法

在页面布局中,经常会面临垂直水平居中问题.网络上有很多方法,但是大多数情况下,我们找到合适的解决方法后,复制粘贴了事,并没有对各种方法的原理.利弊进行研究.本着"双鸟在林,不如一鸟在手"的宗旨,从各种方法中找出一种简单易懂的方法,让大家一目了然,以后再遇到也能立即想出来.1.水平居中:使div02在div01中水平居中.```<div id="div01"> <div id="div02"></div><

html中的水平居中和垂直居中的问题。(固定高度与高度不定)

在布局的过程中,我们要对某些元素进行居中定位,相信,大家对水平居中都没有问题,就是利用 margin:0 auto:以及文本居中 text-align:center. 下面我想给大家说的是关于整体居中(水平居中和垂直居中), 在这里,我首先告诉大家我利用了绝对定位的办法, 我现在先给大家制作一个框来直接的观察,如下 其中外框与内框分别是边长为300px和100px的正方形. 我们要把内框居中.(此时,内框高度是固定的) 1 当高度固定时. 一般我们会直接这样进行代码操作, position:ab

div水平居中和垂直居中

水平居中和垂直居中 水平居中包含两种情况:        块级元素的水平居中:margin:0px auto;        文字内容的水平居中:text-align: center;        垂直居中:        常见的单行文字的垂直居中可设置文字所在行的height与        行高样式属性一致,比如:        div{            width: 400px;            height: 400px;            line-height: 4

css图片居中(水平居中和垂直居中)

http://www.51xuediannao.com/html+css/htmlcssjq/css_img_center.html css图片居中分css图片水平居中和垂直居中两种情况,有时候还需要图片同时水平垂直居中,下面分几种居中情况分别介绍 css图片居中分css图片水平居中和垂直居中两种情况,有时候还需要图片同时水平垂直居中,下面分几种居中情况分别介绍. css图片水平居中 利用margin: 0 auto实现图片水平居中 利用margin: 0 auto实现图片居中就是在图片上加上c

CSS3 FLEXBOX轻松实现元素的水平居中和垂直居中

1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title></title> 7 </head> 8 9 <body> 10 <!--1.清除输入框内的空格--> 11 <!--<input type="text" onBlur="replaceSpace

元素水平居中和垂直居中的几种简单方法

一.如何使元素在水平方向上居中 1. 使用text-align:center. 在父级元素的CSS样式设置text-align:center.把内部嵌套一个div把它当作文本来对待,不过这个方法有时候是不管用的. 2.在需要居中的元素设置margin:0 auto.     这句CSS的意思为:设置margin-left和margin-right为自动适应父级元素宽度.所以可以使元素水平居中,不过记得设置其width. 二.如何使元素在垂直方向上居中 1.使图片在垂直方向上居中. div{bac

CSS设置行内元素和块级元素的水平居中、垂直居中

CSS设置行内元素的水平居中 div{text-align:center} /*DIV内的行内元素均会水平居中*/ CSS设置行内元素的垂直居中 div{height:30px; line-height:30px} /*DIV内的行内元素均会垂直居中*/ PS:当然,如果既要水平居中又要垂直居中,那么综合一下 div{text-align:center; height:30px; line-height:30px} CSS设置块级元素的水平居中 div p{margin:0 auto; widt

水平居中与垂直居中,以及对齐

我以前一直都搞不清楚水平居中与垂直居中,更不用谈什么对齐,临时抱佛脚,也找不到很好的答案,于是把网上的代码研究了一番,总结一下经验: 盒子水平居中:margin:0 auto 注意:在IE8中使用margin:auto属性无法正常工作,除非声明 !DOCTYPE 如果宽度是100%,对齐是没有效果的,要给居中的元素一个宽度,否则无效. 加入margin:0 auto就不能加入float浮动样式,避免逻辑错误,造成布局居中不兼容. 行内元素水平居中:父元素设置text-align:center 单

宽度高度不固定的div如何水平居中与垂直居中(转)

宽度高度不固定的div如何水平居中与垂直居中 很多新手在写css的时候经常遇到的一个问题,当div没有固定的宽度或者高度的时候,如何才能让div水平或者垂直居中显示. 如果div有固定宽度的话,用padding,margin都很容易实现.方法有很多种.不过经常遇到这种div没有固定的宽度高度的情况,我们就不能用margin,padding设置固定的距离了.这个问题让很多人头疼.而怎么样才能让这个div居中显示呢?其实这种情况解决的办法也是有很多种,js,css都可以实现. 这里主要介绍一下采用c

CSS3 Flexbox轻巧实现元素的水平居中和垂直居中

CSS3 Flexbox轻松实现元素的水平居中和垂直居中 网上有很多关于Flex的教程,对于Flex的叫法也不一,有的叫Flexbox,有的叫Flex,其实这两种叫法都没有错,只是Flexbox旧一点,而Flex是刚出来不久的东西而已,为了方便说明,赶上新技术,下面我就把这种布局叫Flex布局. 元素居中,相信作为前端工程师的你肯定会经常用到,不管是在水平方向居中,还是垂直方向居中,都可在你的职业生涯中徘徊.不过很多时候要实现垂直居中,还是比较麻烦的.不过你也不用担心,下面就给大家分享下通过Fl