居中的方式

2018-03-28  本文已影响0人  自由落体_4deb

1、水平居中

width: 100px;
margin: 0 auto;

如果是字体的话,最好的居中方式text-align: center

2、水平垂直居中

<div id="app">
  <div class="global"></div>
</div>
#app {
  position: fixed或者absolute; // 总之要脱离普通的文档流,fixed就是浏览器的窗口大小
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: pink;
  height: 100%;
  width: 100%; // 必须写上
}
.global {
  position: absolute;(绝对定位、相对定位都可以)
  width: 100px;
  height: 100px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: yellow;
}
<div id="app">
  <div class="global"></div>
</div>
#app {
  position: fixed或者absolute; // 总之要脱离普通的文档流
  width: 100%;
  height: 500px;
  background: pink;
}
.global {
  position: absolute;(绝对定位、相对定位都可以)
  width: 100px;
  height: 100px;
  left: 50%;
  top: 50%;
  // transform: translate(-50%, -50%); 
  margin: -50px 0 0 -50px; // 边距设置为宽高的负一半值
}
<div id="app">
  <div class="global"></div>
</div>
#app {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 500px;
  background: pink;
}
.global {
  width: 100px;
  height: 100px;
  background: yellow;
}

为整张页面设置背景色有两种方式

1、在根元素html当中设置,这种方法有一弊端,整个项目都会有所设置的属性
2、在最外层的div中设置,但会产生一个问题,background不会占满整个屏幕,因为每个浏览器都有默认的
margin值,要解决这个问题,就是在body中,把margin的值重置为0

总结:

1、普通文档流(normal flow)默认width: auto; height: auto,width默认会与浏览器的窗口对齐,因为高
度是可以无限延长的,所以把height: 100%这样设置并不管用,必须给html、body也加上这个属性才管用。

2、当position: absolute(fixed),此时已经脱离普通文档流了,也意味着没有width: auto; 
height: auto默认属性了,所以width、height都随自己设置,如果要满屏的话,
width: 100%; height: 100%
上一篇 下一篇

猜你喜欢

热点阅读