css文档流&盒模型

1.文档流(Normal Flow)  

文档中元素流动方向。块元素(block),内联元素(inline),内联块(inline-block)等元素正常的流动方向,即标签流动方向。

图示:

1.display: inline;(内联元素:例span)

  • 流动方向:从左到右,到达最右边才会换行,元素会被拆分开
  • 宽度:内部inline元素的宽度和,不能用width指定
  • 高度:由line-height行高间接确定,与height无关

注:inline元素实际高度不由padding,height决定。padding只是增加了span的可视高度,它的实际高度却没有改变。

关于高度--源码:JS Bin - Collaborative JavaScript Debugging

深入阅读:深入理解 CSS:字体度量、line-height 和 vertical-align - 知乎

2.display: block;(块元素:例div)

  • 流动方向:从上到下,每个另起一行
  • 宽度:默认自动计算宽度,可以用width指定
  • 高度:由内部文档流元素决定,可以设置height

注:block元素宽度默认style='width: auto;'(自动宽度),能有多宽展多宽,而不是style='width: 100%;'(满宽度)。

脱离文档流元素的高度并不会被block元素所包括。

3.display: inline-block;(内联块/行内块)

  • 流动方向:从左到右,到达最右边才会换行,但是每个元素成块不会被拆分开
  • 宽度:内部inline元素的宽度和,可以用width指定
  • 高度:由内部文档流元素决定,可以设置height

我的页面:JS Bin - Collaborative JavaScript Debugging

小结源码:JS Bin - Collaborative JavaScript Debugging

4.小结

2.overflow溢出

原因:当内容大于容器,出现溢出

属性值:

  • visible   默认值,显示溢出内容
  • hidden   隐藏溢出内容
  • scroll     出现滚动条展示内容
  • auto    如果溢出则出现滚动条,不溢出直接显示(自动)

注:overflow可以分为overflow-x,overflow-y。内联元素默认只展示显示的区块。

我的页面:JS Bin - Collaborative JavaScript Debugging

3.盒模型

两种盒模型:

  • content-box,内容盒,内容是盒子边界
  • border-box,边框盒,边框是盒子边界

图示: 

 宽度width:

  • content-box:width = content(内容宽度)
  • border-box:width = content + padding + border(外边框间宽度)

注:height同理,我们一般使用border-box。

我的页面:JS Bin - Collaborative JavaScript Debugging

4.margin合并

1.合并情况

  • 兄弟margin合并。兄弟上下margin会产生合并,margin值兄弟间为较大的值

  • 父子margin合并。父子之间上下margin会产生合并,margin值为父子间较大的值 

 

注:margin只会产上下合并,左右并不会合并。父子间合并是第一个孩子和父亲margin-top合并,最后一个孩子和父亲margin-bottom合并。

我的页面:JS Bin - Collaborative JavaScript Debugging

2.取消合并

取消兄弟合并:(对孩子元素添加)

  • display: inline-block;

取消父子合并:(对父元素添加)

  • 添加border,例:border-top: 3px solid black;
  • 添加padding,例:padding: 1px;
  • 添加overflow: hidden;
  • 添加display: flex;

5.常见基本单位

长度单位:

  • px像素
  • em相对自身font-size倍数。例:font-size=20px; 3em=3*20=60px
  • rem
  • 整数
  • 百分数
  • vw,vh

颜色:

  • 英文颜色名,例:green,transparent透明
  • 十六进制,#000(black黑色)
  • RGBA颜色,rgb(0,0,0)或rgba(0,0,0,1)。A(透明度通道Alpha)是否透明取值在0~1之间(0完全透明~1完全不透明),默认值为1。
  • hsl颜色,hsl(360,100%,100%)。色相-饱和度-亮度(hue-Saturation-Lightness)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值