css各种居中布局方法总结

1居中情况设定为总宽度不定,内容宽度不定的情况(改变大小时,仍然居中)

1. 水平居中

用inline-block配合text-align

css各种居中布局方法总结_第1张图片
优点:兼容性非常好,只需要添加只需要在子元素的css中添加*display:inline和*zoom:1就可兼容到IE6、7;缺点:内部文字也会水平居中,需消除影响。

2.table配合margin

css各种居中布局方法总结_第2张图片
优点:设置特别简单,只需对子元素进行设置,支持IE8+,需支持IE6,7时,可更换子元素为表格结构。

1.3 abasolute配合transform

css各种居中布局方法总结_第3张图片
优点:居中元素不对其他元素产生影响。缺点:CSS3新属性支持IE9+,低版本浏览器不支持。

垂直居中

2.1 table-cell配合vertical-align

优点:设置简单,只需对父元素进行设置,兼容到IE8+,需兼容地版本浏览器时,可更换div为表格结构。

2,2.absolute配合tranform

css各种居中布局方法总结_第4张图片
优点:居中元素不对其他元素产生影响。缺点:CSS3新属性支持IE9+,低版本浏览器不支持。


3水平+垂直居中

css各种居中布局方法总结_第5张图片
优点:综合前两中方法,兼容性好!支持IE8+,低版本浏览器也好兼容。缺点:设置较为复杂。

3.2 absolute配合transform

css各种居中布局方法总结_第6张图片
优点:居中元素不对其他元素产生影响。缺点:CSS3新属性支持IE9+,低版本浏览器不支持。

4. 全能的flex

css3新增布局属性,布局简单,强大,性能略差,只支持IE10+,在移动端使用较多。

css屏幕居中的方法

css各种居中布局方法总结_第7张图片
一.水平居中

行内元素和块级元素不同,对于行内元素,只需在父元素中设置text-align=center即可;

对于块级元素有以下几种居中方式:

1.将元素放置在table中,再将table的margin-left和margin-right设置成auto,将table居中,使在其之中的块级元素叶居中,但是这种方式不符合语义化标签的规范;

2.将块级元素转换行内元素(通过设置display:inline)后再居中.这种方式使居中元素变成行内元素而致使无法设置宽高;

3.设置父元素float:left,position:relative,left:50%;子元素float:left,position:relative,left:-50%,利用相对布局的方式居中.上面三种方式各有优劣,依使用情景具体选择.

二.垂直居中

1.对于知道高度的元素可以设置上下padding相等;

2.设置line-height和height相等

3.利用vertical-align,但是这属性只在tr,td中适用,故可将元素放置入table中在居中

源码

你可能感兴趣的:(css各种居中布局方法总结)