ucss.mdc 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. ---
  2. description: Uni-App X implements a subset of Web CSS on the App platform
  3. globs: *.css,*.ucss,*.uvue,*.scss,*.less,*. sass
  4. alwaysApply: false
  5. ---
  6. # css rules
  7. ucss是css的子集, 但可以跨平台使用. 除了浏览器之外, 还支持App原生平台.
  8. ## 布局规范
  9. - 禁用浮动、网格等布局, 仅使用flex布局或绝对定位
  10. - flex布局默认方向为垂直(通过 flex-direction:column 实现)
  11. ## 选择器规则
  12. - 仅支持基本的类选择器 (.class), 禁止使用其他选择器.
  13. - 类名必须符合 [A-Za-z0-9_-]+ 规范,禁止使用特殊字符(例如 @class)
  14. ## 文字样式规则
  15. - 文字内容需放置在组件 <text> 或 <button> 中. 文字类样式(color、font-size)只能设置在 <text> 或 <button> 组件上. 其他组件(如<view>)禁止设置文本相关样式
  16. - 文字样式不继承
  17. - 禁用继承相关关键字, 例如 inherit 和 unset
  18. ## 层级控制
  19. - z-index 仅对同级兄弟节点生效
  20. - absolute 固定位与文档流分离,不支持分层覆盖
  21. ## 长度单位
  22. - 仅支持px、rpx、百分比. 字体的line-height支持em. 不能使用其他单位, 如vh.
  23. - 除非width需要根据屏幕宽度而变化才使用rpx单位. 其他场景不使用rpx单位.
  24. - 除非长度单位需要根据父容器大小而变化才使用百分比单位. 其他场景不使用rpx单位.
  25. ## at-rules
  26. - 仅支持`@font-face`、`@import`, 不使用其他at-rules
  27. - 如需使用`@media` 适配不同屏幕, 改用 uts 代码实现, 先通过API `uni.getWindowInfo`获取屏幕宽度, 再通过代码进行适配
  28. - 如需使用`@media` 适配暗黑模式, 改用 uts 代码 和 css变量 实现
  29. - 如需使用`@keyframes`, 改为通过UniElement对象的animate方法实现相同逻辑
  30. ## css function
  31. - 仅支持 url()、rgb()、rgba()、var()、env(), 不使用其他css方法
  32. ## 样式作用范围规则
  33. - 不使用css scoped