css horizontal centering and vertical centering_html/css_WEB-ITnose

WBOY
Release: 2016-06-24 11:58:26
Original
1042 people have browsed it

Horizontal centering:
Inline elements: text-align:center; Centered display relative to the parent
Block-level elements: margin:0 auto; but width is required at the same time, otherwise it cannot See the effect
Multiple block-level elements are centered: I would like to discuss display:inline-block; and display:flex;
Method 1: Set text-align:center; on the parent; on the element Setting: display: inline-block; At the same time, in order to make the text display to the left, set text-align: left; the display in the browser is that the child element height is adaptive and the bottom is aligned.
Method 2: Set display:center;justify-content:center on the child element; the height of the child element is consistent, which is the same as the height of the element with the most content.
The two methods are compatible with Google, Firefox, and 360, but the second method is not compatible with IE10, and previous IE versions are also incompatible. Of course, we also have to deal with the problem of separation from the layer due to floating, and the parent background color cannot be added.

 1 <main class="inline-block-center"> 2   <div> 3     I'm an element that is block-like with my siblings and we're centered in a row. 4   </div> 5   <div> 6     I'm an element that is block-like with my siblings and we're centered in a row. I have more content in me than my siblings do. 7   </div> 8   <div> 9     I'm an element that is block-like with my siblings and we're centered in a row.10   </div>11 </main>
Copy after login

 1 <main class="flex-center"> 2   <div> 3     I'm an element that is block-like with my siblings and we're centered in a row. 4   </div> 5   <div> 6     I'm an element that is block-like with my siblings and we're centered in a row. I have more content in me than my siblings do. 7   </div> 8   <div> 9     I'm an element that is block-like with my siblings and we're centered in a row.10   </div>11 </main>
Copy after login

 1 body { 2   background: #f06d06; 3   font-size: 80%; 4 } 5 main { 6   background: white; 7   margin: 20px 0; 8   padding: 10px; 9 }10 main div {11   background: black;12   color: white;13   padding: 15px;14   max-width: 125px;15   margin: 5px;16 }17 .inline-block-center {18   text-align: center;19 }20 .inline-block-center div {21   display: inline-block;22   text-align: left;23 }24 .flex-center {25   display: flex;26   justify-content: center;27 }
Copy after login

Vertically centered:

Method 1: Set the values ​​of padding-top and padding-bottom to be equal
Method 2: Set the values ​​of height and line-height to be equal
Method 3: Fixed height can be handled in a way position:absolute; top:50%;height:100px;margin-top:-50px;If the height is not fixed, you can also use js to dynamically obtain the height.
There are also some properties of CSS3, which are not described in consideration of compatibility issues.

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
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!