陪玩源码开发,scss变量的正确使用
css变量使用
:root { --color: #333; } body { --border-color: #000; } .header { --background-color: #f2f2f2; --font-color: #f00; width: 100vw; height: 100px; background-color: var(--background-color); } span { color: var(--font-color); // .header中的span生效, 不在header中的span标签不生效 }
$color: #fff; // scss变量以$开头 $border_color: #f00; $border-color: #ccc; // 注意scss变量对中划线和下划线不敏感, 下面的覆盖上面的 .a { color: $color; border-color: $border_color; }
转化为:
.a { color: #fff; border-color: #ccc; }
scss变量同样存在作用域
但是
$color: null; .a { $color: red !global; // 可以通过!global提升为全局变量, 虽然可以编译成功, 但是编译器会报错As of Dart Sass 2.0.0, !global assignments won't be able to declare new variables. 需要在根节点声明$color: null;才能解决报错信息 } .b { color: $color; }
转化为:
.b {
color: red;
}
// scss变量的数据类型: // 1. 可以是任何css属性值; // 2. 也可以是boolean/null用于判断 // 3. 可以是逗号分隔的list // 4. 可以是小括号包裹的key:value的类似于map的集合 $layer-index: 10; $border-width: 3px; $font-base-family: 'Open Sans', Helvetica, Sans-Serif; $top-bg-color: rgba(255, 147, 29, .6); $block-base-padding: 6px 10px 0 10px; $block-mode: true; $var: null; $color-map: (color1: #f00, color2: #ff0, color: #0ff); $fonts: (serif: 'Helvetica Neue', monospace: 'Consolas'); $font-size: null; .container { @if $block-mode { background-color: #000; $var: 'hahaha' }@else { background-color: #fff; $var: 'heiheihei' } content: type-of($var); content: length($var); color: map-get($color-map, color2); } .wrap { font: 10px blod map-get($map: $fonts, $key: 'sans'); // map-get如果找不到对应key值会返回空值 }
转化为:
.container { background-color: #000; content: null; content: 1; color: #ff0; } .wrap { font: 10px blod; }
$color: #333; $color: #666 !default; p { color: $color; }
转化为:
p { color: #333; }
$color: #333; :root { --color: #{$color}; // 注意不能直接使用$color, 需要用插值语法 }
以上就是陪玩源码开发,scss变量的正确使用, 更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2023-01-18 直播平台搭建,动态设置ListView的高度的两种方法
2023-01-18 视频直播app源码,Android TextView省略号代替多出数据
2023-01-18 直播软件app开发,Android Studio中的界面上下滑动
2022-01-18 短视频平台搭建,图片进行预览上传、删除,读取本地文件
2022-01-18 直播源码网站,自定制配置页面布局和写法
2022-01-18 android短视频开发,图片上传时先预览效果再完成上传