简web

css相关

2018-02-24  本文已影响0人  吴豆腐

外边距叠加问题
当两个外边距相遇时(中间没有border、padding等)
凡是未形成块级格式化上下文(BFC)的盒子。均会与相邻的盒子产生外边距叠加的效果

BFC形成条件
1.float
2.position:absolute/fixed
3.inline-block/table-cell/table-captions(display: table也会有清除浮动效果,但是不是形成了bfc)
4.block元素+overflow

BFC的特点
1.阻止外边距的叠加(外边距不会与其他盒子叠加)
2.BFC边框(或者隐形边框)不能与它内部的元素外边框重叠
3.可以包含浮动

清除浮动
利用bfc或者伪元素 + clear: both

水平垂直居中
1.利用display: table-cell属性
2.利用行内元素vertical-align: middle + 伪元素height: 100%

.demo-outer {
  width: 800px;
  height: 800px;
  margin: auto;
  text-align: center;
  border: 1px solid #000;
}
.demo-outer:after {
  content: "";
  display: inline-block;
  height: 100%;
  width: 0;
  vertical-align: middle;
}
.demo-inner {
  display: inline-block;
  vertical-align: middle;
}

3.利用行内元素+父元素line-height = height

上一篇下一篇

猜你喜欢

热点阅读