DIV水平居中除了margin:auto;还有什么方法?


全页面就只有一个DIV,设置了他的宽高和颜色。
除了margin:auto;还有什么方法可以让他水平居中?
另外也别使用绝对布局。

div HTML 页面布局

sola缘尽 9 years, 9 months ago

父元素text-align:center,子元素auto

打酱油的啊 answered 9 years, 9 months ago

在Div的外面在嵌套一个div,暂且设id为outer,设置outer 的属性text-align:center

zsgtxy answered 9 years, 9 months ago

方法一:使用 display: inline-block,然后父级元素 :text-align:center;,同时,自己 text-align: left还原

方法二:


 html


 <!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8"/>
  <title>Centering an Element on the Page</title>
</head>
<body>
  <h1>OMG, I’m centered</h1>
</body>
</html>


 css


 html {
  height: 100%;
} 

body {
  display: -webkit-box;  /* 老版本语法: Safari,  iOS, Android browser, older WebKit browsers.  */
  display: -moz-box;    /* 老版本语法: Firefox (buggy) */ 
  display: -ms-flexbox;  /* 混合版本语法: IE 10 */
  display: -webkit-flex;  /* 新版本语法: Chrome 21+ */
  display: flex;       /* 新版本语法: Opera 12.1, Firefox 22+ */

  /*垂直居中*/  
  /*老版本语法*/
  -webkit-box-align: center; 
  -moz-box-align: center;
  /*混合版本语法*/
  -ms-flex-align: center; 
  /*新版本语法*/
  -webkit-align-items: center;
  align-items: center;

  /*水平居中*/
  /*老版本语法*/
  -webkit-box-pack: center; 
  -moz-box-pack: center; 
  /*混合版本语法*/
  -ms-flex-pack: center; 
  /*新版本语法*/
  -webkit-justify-content: center;
  justify-content: center;

  margin: 0;
  height: 100%;
  width: 100% /* needed for Firefox */
} 
/*实现文本垂直居中*/
h1 {
  display: -webkit-box; 
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;

  -webkit-box-align: center; 
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;

  height: 10rem;
}

real圣 answered 9 years, 9 months ago

Your Answer