Home > Web Front-end > CSS Tutorial > Share six methods of vertical and horizontal centering in CSS

Share six methods of vertical and horizontal centering in CSS

高洛峰
Release: 2017-03-16 10:44:26
Original
1194 people have browsed it

Summarizes several ways to achieve CSS centering. Note: * is the common way, "wrap" is the container, and "div" is the element to be centered.

*1.Absolute positioning, the following code can be implemented when the width and height are known, or you can use negative margins;

.div { 
    width: 200px;
    height: 200px;
    margin: auto; 
    position: absolute; 
    top: 0; left: 0; bottom: 0; right: 0; 
}
Copy after login

2. Without knowing the width and height of the element, just realize that a certain div is 1/2 of its parent, centered horizontally and vertically, and enlarged or reduced in proportion to the size of the parent element.

.div{
    position: absolute;
    left: 30%;
    right:30%;
    top: 25%;
    bottom:25%;
}
Copy after login

*3.translate, when the width is known and the height is unknown

.wrap{
    width:200px;//也可以不写,默认占总宽度的50%
    position: absolute;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
}
Copy after login

4.table-cell, when the height of the div itself is unknown and only vertical centering is achieved, ps, this In this case, the div width is 100%

.wrap{//外层容器
    display: table;
}
.div{//内层容器
    display: table-cell; 
    vertical-align: middle; 
}
Copy after login

*5.flex layout. If the width is not fixed, just set display:flex in the parent container.

.wrap{
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;   
}
Copy after login

6. Hack method, good at using :after.

.wrap {  
    text-align: center; 
    overflow: auto; 
}   
.wrap:after, 
.div { 
    display: inline-block; 
    vertical-align: middle; 
}   
.div:after { 
    content: ''; 
    height: 100%; 
    margin-left: -0.25em; /* 需要根据不同的字号做调整 */ 
}   
.wrap { 
    max-width: 99%; /* 防止文档过长时会到容器的顶部 */ 
    max-width: calc(100% - 0.25em) /* Only for IE9+ */  
}
Copy after login


The above is the detailed content of Share six methods of vertical and horizontal centering in CSS. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
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