CSS笔记小结

CSS选择器权重计算:

  • !important > 内联样式 > id选择器 > 类/伪类/属性选择器 > 元素/伪元素选择器

一侧顶宽/一侧自适应

  • float + margin
  • float + overflow
  • flex

对BFC/IFC的理解

  • BFC:块级格式上下文,可以理解成一个独立的容器,并且这个容器里box的布局与这个容器外的box毫不相干

  • 触发BFC的条件是:

    • 根元素或其它包含它的元素

    • 浮动元素,float不是none

    • 绝对定位元素。元素position:absolute / fixed

    • display的值是inline-block,table-cell,flex,table-caption或者inline-flex

    • 具有overflow不为visible的块元素

    • 弹性盒:flex

  • BFC的布局规则

    • 内部的Box会在垂直方向,一个接一个的放置
    • Box垂直方向的距离由margin决定,属于同一个BFC的两个相邻的Box的margin会发生重叠
    • BFC的区域不会与float box重叠
  • BFC约束规则:

    • 内部的盒会在垂在方向一个接一个排列
    • 浮动盒区域不叠加到BFC上
    • BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之亦然
    • 处于同一个BFC中的元素相互影响,可能会发生外边距重叠
  • BFC可以解决的问题

    • 清除浮动
    • 自适用两列布局
    • 垂直外边距重叠问题

IFC:内联格式化上下文,IFC高度由包含行内元素中最高的实际高度计算而来,

  • IFC触发条件:块级元素仅包含内联级别元素

  • 形成条件非常简单,需要注意的是当IFC有块级元素插入时,会产生两个匿名块将父元素分割开来,产生两个IFC,

  • IFC布局规则

    • 子元素水平方向横向排列,并且垂直方向起点为元素顶部
    • 子元素只会计算横向样式空间,垂直方向样式空间不会被计算
    • IFC中的元素会在一行中从左到右排列
    • 在一行上的所有元素会在该区域形成一个行框
    • 行框的元素遵循text-algin 和 vertical-aligin
    • 行的高度为行框中最高元素的高度
  • IFC解决的问题

    • 解决元素垂直居中
    • 多个文本元素行高不一致排列混乱

水平居中有哪几种方式

  • 水平居中:行内元素:给其父元素设置text-align:center 即可实现水平居中
  • 若是块级元素,该元素设置margin:0 auto即可
  • 若是块级元素,设置父元素为flex布局,子元素设置margin: 0 auto即可
  • 使用flex,justify-content:center
  • position + transfrom

垂直居中

  • 若元素是单行文本,则可设置line-height等于父元素即可
  • 如果是块级元素,设置父元素为flex布局,子元素设置margin: auto 0即可
  • 若元素是行内块级元素,基本思想史使用display:inline-block,vertical-algin:middle和一个伪元素让内容块处于容器中央
  • 居中元素高度不定:可用vertical-algin属性,需要设置父元素display:table,子元素display:table,vertical-aligin:middle
  • flex垂直居中使用display:flex;align-items:center
  • 设置父元素相对定位,可用transform

水平垂直居中

  • Flex布局 子元素是块级元素 .box{ justify-content:center;align-items:center}
  • 绝对定位实现:

CSS—position

  1. static:静态定位
    对象遵循标准文档流中,top right bottom left 等属性失效
  2. relative:相对定位
    对象遵循标准文档流,依赖top right left bottom 等属性相对于该对象在标准文档流中的位置进行偏移,同时可通过z-index定义层叠关系,相对该对象处于标准文档流中的位置依据left top进行定位
  3. absolute:绝对定位
    对象脱离标准文档流,使用top bottom left right 等属性进行绝对定位(相对于static定位以外的第一个父元素进行绝对定位),同时可通过z-index定义层叠关系
  4. fixed 固定定位
    对象脱离标准文档流,使用top left right bottom等属性进行绝对定位i,同时可通过z-index定义层叠关系,相对于浏览器窗口进行绝对定位
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值