CSS定位与布局

2019-01-06  本文已影响3人  大厂offer

1、定位

CSS position

relative
(1) 相对定位会按照元素的原始位置对该元素进行移动。
(2) 元素仍然保持其未定位前的形状,它原本所占的空间仍保留。

{
position:relative;
left:-20px
}
这个标题相对于其正常位置向左移动20px

absolute
(1) 通过绝对定位,元素可以放置到页面上的任何位置。
(2) 设置为绝对定位的元素框从文档流完全删除,并相对于其包含块定位
(3) 元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。
(4) 元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
(5) 绝对定位的元素的位置相对于最近的已定位祖先元素,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块。

{
position:absolute;
left:100px;
top:150px
}
这个标题距离页面左侧 100px,距离页面顶部 150px

一个综合的例子

.container {
  position: relative;
}
nav {
  position: absolute;
  left: 0px;
  width: 200px;
}
section {
  /* position is static by default */
  margin-left: 200px;
}
footer {
  position: fixed;
  bottom: 0;
  left: 0;
  height: 70px;
  background-color: white;
  width: 100%;
}
body {
  margin-bottom: 120px;
}
一个综合的例子

CSS 浮动

inline-block:

用来平铺div,构建网格,且不用清除浮动

.box2 {
  display: inline-block;
  width: 200px;
  height: 100px;
  margin: 1em;
}

column

可用于实现文字的多列布局

.three-column {
  padding: 1em;
  -moz-column-count: 3;
  -moz-column-gap: 1em;
  -webkit-column-count: 3;
  -webkit-column-gap: 1em;
  column-count: 3;
  column-gap: 1em;
}

2.布局

水平居中

当子元素为:

通用方案: flex布局,对父元素设置display:flex;justify-content:center;

垂直居中

通用方案: flex布局,给父元素设置{display:flex; align-items:center;}。

上一篇 下一篇

猜你喜欢

热点阅读