Home > Web Front-end > HTML Tutorial > 如何用css实现元素水平与垂直居中_html/css_WEB-ITnose

如何用css实现元素水平与垂直居中_html/css_WEB-ITnose

WBOY
Release: 2016-06-21 08:59:09
Original
1101 people have browsed it

如果文章对你有帮助,请点喜欢并关注,这将是我最大的动力,谢谢

1.水平居中

1.1.文字,图片以及内联元素:

如果希望居中的是内联元素或者是文字图片text-align:center;

1.2.块状元素

1.2.1.对于已设置宽度的块状元素:

margin:0 auto;----------------------让margin的左右自适应,通常是居中

1.2.2.对于未设置宽度的块状元素:

1.使用table标签html:

<table>        <tr>            <td>                <div id="container"></div>            </td>        </tr>    </table>
Copy after login

css:

table{     margin:0 auto;}
Copy after login

这个不常用,因为添加了更多无意义的标签2.通过将子块状元素变成行内元素html:

<div>    <p>居中示例</p></div>
Copy after login
Copy after login

css:

p{     display:inline;}div{     text-align:center;}
Copy after login

假设p在div内部,要让p居中先给外层元素设置text-align:center,这个意思是让div里面的内联元素居中,然后将p变成内联元素,即可。3.通过positionhtml:

<div>    <p>居中示例</p></div>
Copy after login
Copy after login

css:

div{     float:left;       position:relative;      left:50%;}p{     position:relative;       right:50%;}
Copy after login

float:left,目的是让父元素靠左并且宽度与子元素等宽;然后相对于原先的位置,向右移动50%,此时该元素的left为50%+(50%父元素自身宽度)然后将子元素相对于原先的位置,向左移动50%(这50%是基于父元素的宽度),此时居中。

2.垂直居中

2.1.对于已设置高度的单行文本

只需将父元素的height值与line-height的值设置相同即可

2.2.对于已设置高度的多行文本

1.使用table标签html:

    <table>        <tr>            <td>                <p>aaaaa</p>                <p>aaaaa</p>                   <p>aaaaa</p>            </td>        </tr>    </table>
Copy after login

css:

table{            height: 500px;            background-color: #aaa;        }
Copy after login

因为table标签中的td拥有标签隐式的样式:vertical-align:middle;2.通过table-cellhtml:

   <p>aaaaa</p>   <p>aaaaa</p>      <p>aaaaa</p>
Copy after login

css:

p{     display:table-cell;     vertical-align:middle;}
Copy after login

table-cell的意思是让元素以表格单元的形似表现,但是只支持IE8以上浏览器​

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template