$new-base-sidebar-width:0; .hideSidebar { .sidebar-container { $new-base-sidebar-width:54px !global; } } .openSidebar { .sidebar-container { $new-base-sidebar-width:200px !global; } } $new-base-sidebar-width:0; .hideSidebar { .sidebar-container { $new-base-sidebar-width:54px !global; } } .openSidebar { .sidebar-container { $new-base-sidebar-width:200px !global; } } 如上代码,在选择器外部声明了变量$new-base-sidebar-width默认为0;不同的选择器$new-base-sidebar-width重新赋值不生效
时间: 2024-04-07 17:34:04 浏览: 139
这段代码中,你在选择器外部声明了变量`$new-base-sidebar-width`,但是你在选择器内部重新赋值时没有使用`!global`标志。这导致了变量的作用域仍然是局部的,而不是全局的。
要使不同选择器中的重新赋值生效,你需要在每个选择器内部使用`!global`标志来声明变量为全局变量。
以下是修改后的代码示例:
```scss
$new-base-sidebar-width: 0; // 在选择器外部定义变量
.hideSidebar {
.sidebar-container {
$new-base-sidebar-width: 54px !global; // 使用!global声明全局变量
}
}
.openSidebar {
.sidebar-container {
$new-base-sidebar-width: 200px !global; // 使用!global声明全局变量
}
}
```
通过这种方式,你可以在不同的选择器中重新赋值变量并使其生效。请确保在每个选择器内部使用`!global`来声明变量为全局变量。
相关问题
$new-base-sidebar-width:0 !default; .hideSidebar { .sidebar-container { $new-base-sidebar-width:54px !global; } } .openSidebar { .sidebar-container { $new-base-sidebar-width:200px !global; } } 不同的选择器改变$new-base-sidebar-width的值 用于width: calc(118.75rem - #{$new-base-sidebar-width})但页面样式没有更新怎么处理
如果页面样式没有更新,可能是因为使用$new-base-sidebar-width时存在一些问题。以下是一些可能的解决方法:
1. 确保在样式文件中正确引用了变量$new-base-sidebar-width。检查是否正确导入了样式文件,并且变量的作用域在所需的位置。
2. 确保选择器的优先级正确。如果其他样式规则具有更高的优先级或覆盖了该属性,可能会导致页面样式没有更新。可以使用开发者工具检查应用的CSS规则和优先级。
3. 检查是否存在其他样式冲突。如果其他样式规则与用于更新页面样式的选择器冲突,可能会导致页面样式没有更新。可以尝试更改选择器或调整其他样式规则以解决冲突。
4. 确保代码正确编写。检查语法错误、拼写错误或其他常见错误,确保代码没有任何问题。
如果尝试了上述方法仍然无法解决问题,可能需要进一步检查和调试代码,或者提供更多相关的代码信息以便更好地理解问题所在。
阅读全文