[转载]CSS各种居中方法

水平居中的text-align:center 和 margin:0 auto

这两种方法都是用来水平居中的,前者是针对父元素进行设置而后者则是对子元素。他们起作用的首要条件是子元素必须没有被float影响,否则一切都是无用功。margin:0 auto

也可以被写成margin:0 auto 0 auto。不能理解的童鞋们可以自己去找找关于css缩写的内容。

垂直居中的line-height

什么?!margin在垂直居中里不起作用了?显然事情确实如此,我们仅有margin:0 auto的用法而没有auto 0的情况。至于line-height,他也是作用在父元素上,当他的值等于父元素的height值时

,内部的文字就会自动的垂直居中了。此处好像仅仅只能是文字而已,遗憾。

万能的position大法

这个方法可以说真的是万能的。当你为一个元素无法居中而困扰的时候,可以果断的使用他,而且几乎没有后遗症,绝对是前端工程师们居家旅行必备的手段之一。

具体的做法很简单,首先给父元素写上positon:relative,这么做是为了给子元素打上position:absolute的时候不会被定位到外太空去。接下去,写上子元素的height和width,这个似乎是必须的

,某些浏览器在解析的时候如果没有这2个值的话会出现意想不到的错位。接着就是整个方法的核心,给子元素再打上top:50%;left:50%以及margin-top:一半的height值的的负数;

margin- left:一半的weight值的负数。整理一下之后,可能你会给你的子元素写上这样的css(当然,父元素也要先写上width和height)

{width:100px;height:80px;position:absolute;top:50%;left:50%;margin-left:50px;margin-top:40px}

接下去就刷新页面吧,你的子元素已经是居中显示了。

使用这个方法的好处在于无论你是什么形式的内容都可以马上居中,而缺点就是必须对元素有确定的宽高值,否则的话可能就需要通过javascript来进行一些小计算了。

转自http://www.cnblogs.com/asqq/archive/2012/04/09/2438745.html

时间: 2024-10-25 07:20:37

[转载]CSS各种居中方法的相关文章

css 元素居中方法

目前知道有两种方法 方法一:主要适用于元素未设定高度的情况下. 直接上代码 html: 1 <div class="nav-content"> 2 <ul ng-click="navItem($event)" ng-model="navType"> 3 <li id="nav_msglist"> 4 <a href="#/">消息列表</a> 5

css常见居中方法

在css布局中,居中占着很关键的作用,如果不能很好的运用居中,就会导致整个页面的混乱. 在实际页面布局中,居中的方法有很多,有很多简单实用的方法,也有老实的方法.刚开始写页面的时候,我比较喜欢用老实的方法去写,因为不会错,但我们也应该掌握常见的居中方法. 常见居中方法: text-align:center 在父容器里水平居中 inline文字,或inline元素. vertical-ailgn:middle 垂直居中 inline文字,inline元素,配合display:table,displ

【CSS】css各种居中方法

水平居中的text-align:center 和 margin:0 auto 这两种方法都是用来水平居中的,前者是针对父元素进行设置而后者则是对子元素.他们起作用的首要条件是子元素必须没有被float影响,否则一切都是无用功.margin:0 auto 也可以被写成margin:0 auto 0 auto.不能理解的童鞋们可以自己去找找关于css缩写的内容. 垂直居中的line-height 什么?!margin在垂直居中里不起作用了?显然事情确实如此,我们仅有margin:0 auto的用法而

CSS各种居中方法(转)

水平居中的text-align:center 和 margin:0 auto 这两种方法都是用来水平居中的,前者是针对父元素进行设置而后者则是对子元素.他们起作用的首要条件是子元素必须没有被float影响,否则一切都是无用功.margin:0 auto 也可以被写成margin:0 auto 0 auto.不能理解的童鞋们可以自己去找找关于css缩写的内容. 垂直居中的line-height 什么?!margin在垂直居中里不起作用了?显然事情确实如此,我们仅有margin:0 auto的用法而

CSS布局---居中方法

在web页面布局中居中是我们常遇到的情况,而居中分为水平居中与垂直居中 文本的居中 CSS中对文本的居中做的非常友好,我们是需要text-align, line-height 两个属性就可以控制文本的水平以及垂直居中 <head> <style type="text/css"> .text { width: 200px; height: 200px; border: 1px solid green; text-align: center; line-height

CSS各种居中方法

水平居中的text-align:center 和 margin:0 auto 这两种方法都是用来水平居中的,前者是针对父元素进行设置而后者则是对子元素.他们起作用的首要条件是子元素必须没有被float影响,否则一切都是无用功.margin:0 auto 也可以被写成margin:0 auto 0 auto.不能理解的童鞋们可以自己去找找关于css缩写的内容. 垂直居中的line-height 什么?!margin在垂直居中里不起作用了?显然事情确实如此,我们仅有margin:0 auto的用法而

css居中方法详解

第一种居中方式: 使用margin:auto; 这应该是使用最多的居中方式了,但也有着局限性,居中的元素需要设置宽度,而且是块元素才行,并且只能实现水平居中,这个方法的原理是让浏览器自动去计算左右边距从而实现居中: <div class="big"> <div class="small"></div> </div> .big{ width: 200px; height: 100px; background: blue;

css元素居中实现方法

关于css元素居中,查阅资料和实验有以下几种方法: 水平居中 1.最简单的在父元素中加入 text-align:center .这条语句不用关心子元素是否有固定的尺寸大小. 但只能对图片,按钮,文字等行内元素(display为inline或inline-block等)进行水平居中. 但要说明的是在IE6.7这两个奇葩的浏览器中,它是能对任何元素进行水平居中的. 2.子元素宽度确定,可以使用 margin:0 auto 或者 margin-left:auto ; margin-right:auto

CSS元素居中

html中元素分为行内元素和块级元素.采用margin或者float来使元素居中,是比较常见的方法. margin:0 auto只能用于块级元素,不能使行内元素居中. 参考知乎上为什么「margin:auto」可以让块级元素水平居中?,margin:0 auto,是左右外边距自适应,水平方向的 auto,其计算值取决于可用空间(剩余空间).元素本身为块级元素,那么水平方向可用空间的距离为其包含盒的宽度(宽度=盒总宽度-(padding-left+padding-right+border-left