Skip to content

CSS

长度单位

  • 分为绝对长度单位和相对长度单位
  • em rem px % vh vw;ch ex ...看文档

怎么画0.5px

  • box-shadow阴影实现
  • ::after定位伪类实现
  • transform 缩放实现
  • border-image: linear-gradient 边框线性渐变

权重

	!important 
	inline-style
	ID
	class
	property
	element

antd

Button的loading属性,在登录 && 后端运算时对用户更加友好
React Hook Form,表单处理,登录与注册适用

tailwind

Utility-First的优点

通过组合原子类来构建UI,避免了传统CSS的冗余代码

缺点:

  • 基于原子设置样式——复用性差
  • HTML与CSS的耦合
  • 做定制效果 && 定位不方便,粒度不如scss

属性:

break-keep

classnames

两种写法

              <div
                className={classNames(
                  'flex-1 flex items-center h-full w-0 truncate ',
                  {
                    'hover:text-primary': !isFailed,
                  },
                )}
                onClick={...}
              >
              <div
                className={classNames(
                  'flex-1 flex items-center h-full w-0 truncate ',
                  !isFailed && 'hover:text-primaryl',
                )}
                onClick={...}
              >

bfc

css 中 bfc了解吗 说一下是什么 有什么应用场景

BFC:关于块级元素布局,除了解决浮动相关的问题,其它方面极大概率用不到

常用效果

顶吸效果

吸顶的效果是怎么实现的?如果需要你原生实现呢?

基于fixed,设置top:0

原生实现:基于scroll滚动设置offset

hover展开

如何实现hover展开的效果?

逐层分解
	1. 核心事件:鼠标进入 && 移出事件
	2. 核心动画:height高度变化

原理(重绘)
	1. container设置overflow hidden
	2. hover时改变父级容器的高度 && 展开对象设置opacity && cursor pointer

原理(重排)
	1. container设置overflow hidden
	2. 展开对象默认设置为display: none
    3. hover时设置展开对象display: block

单方向旋转

1. 单次旋转,只需要transform rotate
2. 多次旋转,效果相同,需要设置animation

可视化

Echarts && D3 && AntV之间的选择?

总结:

  • 快速演示 && Demo:Echarts
  • 中小项目:Echarts && AntV
  • 长期使用 && 大项目:D3 && AntV

渲染方式上:

  • canvas:Echarts
  • SVG:D3 && AntV

Echarts

  • 优点
    • 丰富的图表类型
    • 易用性强,配置简单
    • 社区活跃,文档丰富
    • 支持响应式设计
  • 缺点
    • 自定义复杂图表时可能受限
    • 基于 Canvas,性能有时不如 SVG

D3.js

  • 优点
    • 高度灵活,完全控制 DOM 元素
    • 基于 SVG,适合大规模数据可视化
    • 强大的数据绑定和动画效果
  • 缺点
    • 学习曲线陡峭
    • 需要更多的手工编码
    • 项目复杂度高时,开发和维护成本较高

AntV

  • 优点
    • 基于 G2 图表库,功能强大
    • 易用性和灵活性兼具
    • 支持多种图表和复杂的交互
    • 丰富的文档和示例
  • 缺点
    • 社区活跃度不如 Echarts 和 D3
    • 部分高级功能需要学习成本

Last updated: