CSS SASS calc() 计算表达式或使用变量

calc()是css的一个函数,可用于元素计算长度,比如div宽度想要减去一个固定宽度后并自适应,可以写为calc(100% - 60px) 注意"-"两边有空格

sass已经是常用的预编译语言,允许使用变量等规则,如果上边写到60px是一个变量,这个表达怎么写呢

$base-sidebar-width = "60px"

css 复制代码
.main-container {
    width: calc(100% - $base-sidebar-width);
    height: calc(100% - 60px);
    transition: margin-left .28s;
    margin-left: $base-sidebar-width;
    position: fixed;
    margin-top: 60px;
  }

显然这样写是不行的,浏览器解析完是这样子的

在scss里改为这样就行了:#{$base-sidebar-width}

css 复制代码
 .main-container {
    width: calc(100% - #{$base-sidebar-width});
    height: calc(100% - 60px);
    transition: margin-left .28s;
    margin-left: $base-sidebar-width;
    position: fixed;
    margin-top: 60px;
  }
相关推荐
梨子同志3 分钟前
Monorepo
前端
lihaozecq4 分钟前
继 Web Coding Agent 后,我做了一个本地优先的桌面 AI Agent
前端·agent
用户2986985301411 分钟前
在 React 中使用 JavaScript 将 Excel 转换为 SVG
前端·javascript·react.js
CodingSpace24 分钟前
ESLint
前端
Csvn31 分钟前
异步错误捕获的六大陷阱:await 裹着 try-catch 就一定稳了吗?
前端
用户0595401744634 分钟前
向量库静默丢数据踩坑实录:Playwright 端到端测试让我排查了72小时
前端·css
星栈39 分钟前
SPA 写累了?试试 LiveView:服务端管状态,前端不写 JS
前端·前端框架·elixir
labixiong43 分钟前
手写Promise--微任务、静态方法、async/await 全搞懂(三)
前端·javascript
Asize1 小时前
CSS 3D:从布局到立方体
前端
梨子同志1 小时前
React
前端