在这里梳理一些html,css基础知识
1.默认宽高
默认宽度:父级的百分百(浮动元素除外,因为脱离了文档流)
默认高度:由子级+padding+border
浮动元素的默认宽:由子级决定
定位元素的默认宽:由子级决定
2.清除浮动的方式
clear:both;
overflow:hidden/auto 副作用:会造成子元素显示不全
给浮动的元素的父级加浮动 副作用:会造成父级脱离文档流
伪元素 .clear:after{display:block;clear:both;content:"";height:0;}
3.margin不塌陷的情况
// 目的都是为了不让父级和子级贴到一起
父级加了边框border
父级加了overflow:hidden;
父级有padding
父元素有定位(绝对定位和固定定位)
父元素浮动了
子元素浮动了
4.百分比的问题
父级的宽度: width margin padding
父级的高度: height(如果父级为body那么不生效)
已定位的父级的宽: position(left/right)
已定位的父级的高: position(top/bottom)
自身:border-radius
5.css中的单位
px
em 字体大小
rem(root em)响应式布局
6.响应式布局方案
百分比
rem 移动端布局
flex
媒体查询 @media screen (css3)
7.盒模型
1.标准盒模型
box-sizing:content-box 开启
width = margin、border、padding、content
需要自己计算,减去border和padding
2.怪异盒模型(IE盒模型,自减盒模型)
box-sizing:border-box 开启
不需要减去
8.BFC:块级格式上下文
// BFC是一个完全独立的空间(布局环境),让空间里的子元素不会影响到外面的布局。
内部的块会在垂直方向上一个接一个排列
块在垂直方向上的距离由margin决定,并且同一个bfc会产生margin合并
每个块做边缘紧贴父级块的左边缘
开启了bfc的块不会与float的块重叠,会贴着浮动元素显示
bfc是一个独立的容器
计算bfc高度的时候,浮动的子集也算在内
9.如何开启bfc
根元素 html(自身就是bfc)
浮动
定位
display:inline-block/flex
overflow:hidden/auto