关于CSS中的居中问题的思考及解决方案
2011-10-15 11:05
423 查看
根据CSS中块级元素和行内元素的不同特征,其居中显示的方式也有差异,下面就水平和竖直居中的情况做一总结:
1.水平居中
1.1 给父元素设置text-aglin:center;可以实现文本、图片等行内元素的水平居中。
1.2 确定宽度的块级元素的水平居中是通过设置margin-left和margin-right的值为auto来实现。
1.3 对于宽度值不确定的块级元素的居中可以使用以下三种方式,可根据实际情况选择不同方案:
1.3.1 改变块级元素的display值为inline,然后使用text-aglin:center来实现居中,
但此做法的缺点是将块级元素转化为行内元素后就无法设置长宽,当然还有行内元素的其他局限性。
1.3.2 利用table。table本身不是块级元素(display的常用值包含block,compact,inline,table,none,marker).
其宽度靠其单元格中的内部元素的宽度“撑起”,即使不设置宽度也可以利用margin-left/right:auto来实现居中。
当然,使用table标签将会明显增加代码中的无语义标签。
1.3.3 通过给父级元素设置float和position:relative以及left:-50%,给子元素设置position:relative和left:-50%,
也可以实现水平居中,但是relative的位置属性不好控制。
2.竖直居中
2.1 父元素高度不确定的文本、图片、块级元素的竖直居中是通过设置父元素相同的上下边距实现的。
2.2 父元素高度确定的单行文本的竖直居中是给父元素设置line-height:(父元素的height值)来实现。
2.3 父元素高度确定的多行文本、图片、块级元素的竖直居中,分三种情况处理:
2.3.1 父元素为td和th时,可用vertical-align
2.3.2 对于不是此类型的父元素在Firefox和IE8下可用display:table-cell来激活成td或th类型
2.3.3 如果以上两种情况都不满足,则需要给元素添加表格标签,so sad~~~
1.水平居中
1.1 给父元素设置text-aglin:center;可以实现文本、图片等行内元素的水平居中。
1.2 确定宽度的块级元素的水平居中是通过设置margin-left和margin-right的值为auto来实现。
1.3 对于宽度值不确定的块级元素的居中可以使用以下三种方式,可根据实际情况选择不同方案:
1.3.1 改变块级元素的display值为inline,然后使用text-aglin:center来实现居中,
但此做法的缺点是将块级元素转化为行内元素后就无法设置长宽,当然还有行内元素的其他局限性。
1.3.2 利用table。table本身不是块级元素(display的常用值包含block,compact,inline,table,none,marker).
其宽度靠其单元格中的内部元素的宽度“撑起”,即使不设置宽度也可以利用margin-left/right:auto来实现居中。
当然,使用table标签将会明显增加代码中的无语义标签。
1.3.3 通过给父级元素设置float和position:relative以及left:-50%,给子元素设置position:relative和left:-50%,
也可以实现水平居中,但是relative的位置属性不好控制。
2.竖直居中
2.1 父元素高度不确定的文本、图片、块级元素的竖直居中是通过设置父元素相同的上下边距实现的。
2.2 父元素高度确定的单行文本的竖直居中是给父元素设置line-height:(父元素的height值)来实现。
2.3 父元素高度确定的多行文本、图片、块级元素的竖直居中,分三种情况处理:
2.3.1 父元素为td和th时,可用vertical-align
2.3.2 对于不是此类型的父元素在Firefox和IE8下可用display:table-cell来激活成td或th类型
2.3.3 如果以上两种情况都不满足,则需要给元素添加表格标签,so sad~~~
相关文章推荐
- 关于div+css设置居中问题
- 关于css中的水平垂直居中问题总结
- css 关于ul在div里居中且平铺的问题
- css中元素居中显示的常见问题及解决方案
- 关于css中两层div的水平垂直居中问题
- 关于css中两层div的水平垂直居中问题
- 关于IE6中无法使用margin:0 auto居中的问题终极解决方案
- 关于css+div margin 居中问题 和边距合并
- 奇怪的问题,关于js+css实现页面内容高度自适应的两种解决方案
- CSS - 关于li中图文混排不能垂直居中的问题
- 关于css基础内容居中的思考与总结
- 关于CSS中的水平/垂直居中问题
- 关于CSS控制DIV水平居中问题
- css 关于ul在div里居中且平铺的问题
- css居中解决方案及思考
- CSS关于元素垂直居中的问题
- 关于CSS制作水平/垂直居中对齐问题
- css中关于div中文本垂直居中的问题。
- CSS学习小札-居中问题及解决方案
- 关于css的各种居中问题