Home > Web Front-end > CSS Tutorial > How to center the box horizontally in css3

How to center the box horizontally in css3

青灯夜游
Release: 2022-01-20 18:32:10
Original
16514 people have browsed it

css3 Method to center the box horizontally: 1. Use the margin attribute and add the "margin: 0 auto;" style to the box element to center it horizontally; 2. Use flex elastic layout to achieve horizontal centering; 3. Use the position and transform properties to achieve horizontal centering.

How to center the box horizontally in css3

The operating environment of this tutorial: Windows 7 system, CSS3&&HTML5 version, Dell G3 computer.

How to center the box horizontally in CSS is a very common interview question. The centering of the box is relative to the parent element. Therefore, when we center the box, we often use nesting to let the parent box nest. With child box.

How to center the child box when the parent and child boxes are nested:

  • The first method: margin: 0 auto, using the border, but the use of margin will affect The use of other boxes is not recommended;

  • The second method: position, use positioning, the child must be the same as the parent, then left: 50%, margin-left: negative box Half of the width, this is the most commonly used method;

  • The third method: flex, elastic layout, center the child box, but the style must be written in the parent box, display:flex,just-content:center;

  • Fourth method: Based on position, replace margin-left with transform in CSS3: translate(-50px );

  • The fifth method: Based on the position, only keep the child and parent, and then add margin:auto, left:0, right:0 to the child box ;

    Supplement: In the fifth method, add top:0, bottom:0, you can achieve both vertical and horizontal centering

<div id="father">
    <div id="son"></div>
</div>
Copy after login
<style>
    #father{
        width: 400px;
        height: 200px;
        border: 3px solid pink;
    }
    #son{
        width: 100px;
        height: 100px;
        border: 2px solid red;
    }
</style>
Copy after login

Use margin to achieve horizontal centering:

<style>
#father{
    width: 400px;
    height: 200px;
    border: 3px solid pink;
    margin: 30px auto; /* 让父元素相对于body居中 */
}
#son{
    width: 100px;
    height: 100px;
    border: 2px solid red;
    margin: 0 auto;/* 让子元素相对于father居中 */
}
</style>
Copy after login

Use positioning, the child must be the same as the parent, then left: 50%, margin-left: half of the negative box width:

<style>
#father{
    width: 400px;
    height: 200px;
    border: 3px solid pink;
    margin: 0 auto;
    position: relative;
}
#son{
    width: 100px;
    height: 100px;
    border: 2px solid red;
    position: absolute;
    left: 50%;
    margin-left: -50px;
}
</style>
Copy after login

Flex, flexible layout, centers the child box, but the style must be written in the parent box :

<style>
#father{
    width: 400px;
    height: 200px;
    border: 3px solid pink;
    margin: 0 auto;
    display: flex;
    justify-content: center;
}
#son{
    width: 100px;
    height: 100px;
    border: 2px solid red;
}
</style>
Copy after login

On the basis of position, only the child and parent aspects are retained, and then in the child box Add margin: auto, left: 0, right: 0:

<style>
#father{
    width: 400px;
    height: 200px;
    border: 3px solid pink;
    margin: 0 auto;
    position: relative;
}
#son{
    width: 100px;
    height: 100px;
    border: 2px solid red;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
}
</style>
Copy after login

The above methods can achieve the horizontal centering of the box. If you have other excellent (odd) and showy (pai) methods, you are welcome to share them. !

The fifth method is added: adding top:0, bottom:0 can achieve both horizontal and vertical centering:

<style>
#father{
    width: 400px;
    height: 200px;
    border: 3px solid pink;
    margin: 0 auto;
    position: relative;
}
#son{
    width: 100px;
    height: 100px;
    border: 2px solid red;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}
</style>
Copy after login

(Learning video sharing: css video tutorial)

The above is the detailed content of How to center the box horizontally in css3. For more information, please follow other related articles on the PHP Chinese website!

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