CSS样式技巧之居中

一、水平居中设置:

(1)行内元素的居中:如果被设置元素是行内元素(文本、图片等)时,水平居中是通过给父元素设置text-align : center;来实现的。

(2)定宽块状元素的居中:满足定宽(width:xxpx;)和块状元素两个条件的,可以通过设置左右margin为auto,来实现居中。

(3)不定宽度的块状元素,设置居中(比如网页上的分页导航,因为分页的数量是不确定的,所以不能设置宽度来限制他的弹性(不定宽块状元素:块状元素的宽度width不固 定。)不定宽度的块状元素有三种方法居中:1、第一种方法:加入table元素(利用table标签的长度自适应性,即不定义其长度也不默认父元素body的长度): 第一步,需要居中的元素外面加入一个table标签(包括、、),第二步,给这个table设置左右margin居中(margin:0 auto;)。2、第二种方法:改变块状元素的display为inline(设置为行内元素显示),然后使用text-align:center;





不定宽块状元素水平居中




3、第三种方法:通过给父元素设置float,然后给父元素设置position:relative;left:50%,子元素设置为position:relative;left:-50%;




不定宽块状元素水平居中




我们来学习一下这种方法。

二、垂直居中设置:

1、垂直居中-父元素高度确定的单行文本:父元素高度确定的单行文本的竖直居中的方法是通过设置父元素的height和line-height 高度的一致性来实现的。(line-height与font-size的计算值之差,在css中称为行间距,分别加到文本行内容的顶部和底部),弊端是:当文字内容的长度大于块的宽时,就有内容脱离了块。

2、垂直居中-父元素高度确定的多行文本(方法一):插入table(包括tbody、tr、td)标签,同时设置vertical-align:middle,css中有一个用于竖直居中的属性vertical-align,在父元素设置此样式时,会对inline-block类型的子元素都有用。(td标签默认情况下就默认设置了vertical-align为middle,所以不需要显示地设置)

3、在chrome、firefox、IE8以上的浏览器可以设置块状元素的display为 table-cell(设置为表格单元显示),激活vertical-align属性。

你可能感兴趣的:(CSS)