Home  >  Article  >  Web Front-end  >  Guide to centering web page elements_(4) Use CSS3 attributes to center elements horizontally and vertically_html/css_WEB-ITnose

Guide to centering web page elements_(4) Use CSS3 attributes to center elements horizontally and vertically_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:43:351424browse

Flex achieves perfect centering of sub-blocks

Solution

The parent block uses the display:flex attribute, and the sub-block margin can be adaptively implemented

Code

index.html

<!DOCTYPE html><html lang="zh"><head>  <meta charset="UTF-8">  <title>块状元素垂直居中(已知高度)</title>  <style> *{margin: 0;padding: 0;} .parent{ display: flex; height:500px; background: #03A1FA; } .child{ width: 100px; height: 100px; margin: auto; background: #BB3713; } /* 这个依赖于设置“margin”值为“auto”值,自动获取伸缩容器中剩余的空间。所以设置垂直方向margin值为“auto”,可以使伸缩项目在伸缩容器的两上轴方向都完全集中。 */ </style></head><body>      <div class="parent">            <div class="child">ff</div>      </div></body></html>
Horizontal and vertical centering of unknown width and height elements

Solution

Use the transform:translate attribute to adjust

Code

index.html

<!DOCTYPE html><html lang="zh"><head>  <meta charset="UTF-8">  <title>块状元素水平垂直居中(未知宽高)</title>  <style> *{margin: 0;padding: 0;} /*简易版reset,工作环境不推荐使用*/ #container{ position:absolute; top:50%; left:50%; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); -o-transform: translate(-50%,-50%); transform: translate(-50%,-50%); background-color: #A4FF00; color:rgb(33, 172, 134); } /*因为不知道宽高度,所以主要用translate属性拉回未知元素XY轴上的位置实现居中*/ /*若是单纯实现未知高度的元素居中,只要用到transform:translateY(-50%)即可实现*/ </style></head><body>      <div id="container">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae obcaecati expedita ducimus, rem laborum veniam qui quo facilis enim. Repellat blanditiis nemo, magnam, sequi illum perferendis consequatur modi maiores quaerat?</div></body></html>
flex implements horizontal and vertical centering of the page

scheme

Define the justify-content and align-items attributes of the parent element of the centered element Just set it to center, you need to set enough height, otherwise there will only be a horizontal centering effect

Code implementation

index.html

<!DOCTYPE html><html lang="zh">  <head>    <meta charset="UTF-8">    <title>flex实现子块的完美居中</title>    <style> * { margin: 0; padding: 0; } .parent { display: flex; justify-content: center; align-items: center; height:900px; background: #03A1FA; } .child { width: 100px; height: 100px; background: #BB3713; } </style>  </head>  <body>    <div class="parent">      <div class="child">啦啦德玛新亚</div>    </div>  </body></html>
Statement:
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