网页元素CSS居中实现完整攻略_html/css_WEB-ITnose

WBOY
Release: 2016-06-24 11:36:43
Original
1156 people have browsed it

水平居中:行内元素解决方案

只需要把行内元素包裹在一个属性display为block的父层元素中,并且把父层元素添加如下属性即可:

.parent {    text-align:center;}
Copy after login
Copy after login

水平居中:块状元素解决方案

.item {    /* 这里可以设置顶端外边距 */    margin: 10px auto;}
Copy after login

水平居中:多个块状元素解决方案
将元素的display属性设置为inline-block,并且把父元素的text-align属性设置为center即可:

.parent {    text-align:center;}
Copy after login
Copy after login

水平居中:多个块状元素解决方案 (使用flexbox布局实现)
使用flexbox布局,只需要把待处理的块状元素的父元素添加属性display:flex及justify-content:center即可:

.parent {    display:flex;    justify-content:center;}
Copy after login

垂直居中:单行的行内元素解决方案

.parent {    background: #222;    height: 200px;}/* 以下代码中,将a元素的height和line-height设置的和父元素一样高度即可实现垂直居中 */a {    height: 200px;    line-height:200px;     color: #FFF;}
Copy after login

垂直居中:多行的行内元素解决方案
组合使用display:table-cell和vertical-align:middle属性来定义需要居中的元素的父容器元素生成效果,如下:

.parent {    background: #222;    width: 300px;    height: 300px;    /* 以下属性垂直居中 */    display: table-cell;    vertical-align:middle;}
Copy after login

垂直居中:已知高度的块状元素解决方案

.item{    top: 50%;    margin-top: -50px;  /* margin-top值为自身高度的一半 */    position: absolute;    padding:0;}
Copy after login

垂直居中:未知高度的块状元素解决方案

.item{    top: 50%;    position: absolute;    transform: translateY(-50%);  /* 使用css3的transform来实现 */}
Copy after login

水平垂直居中:已知高度和宽度的元素解决方案1
这是一种不常见的居中方法,可自适应,比方案2更智能,如下:

.item{    position: absolute;    margin:auto;    left:0;    top:0:    right:0;    bottom:0;}
Copy after login

水平垂直居中:已知高度和宽度的元素解决方案2

.item{    position: absolute;    top: 50%;    left: 50%;    margin-top: -75px;  /* 设置margin-left / margin-top 为自身高度的一半 */    margin-left: -75px;}
Copy after login

水平垂直居中:未知高度和宽度元素解决方案

.item{    position: absolute;    top: 50%;    left: 50%;    transform: translate(-50%, -50%);  /* 使用css3的transform来实现 */}
Copy after login

水平垂直居中:使用flex布局实现

.parent{    display: flex;    justify-content:center;    align-items: center;    /* 注意这里需要设置高度来查看垂直居中效果 */    background: #AAA;    height: 300px;}
Copy after login
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
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!