html - 用 SASS 嵌套似乎对我不起作用?
问题描述
所以我一直试图让 SASS 为一个项目工作,但由于某种原因,嵌套不想为我工作?
当我将 .header-menu 的片段移到嵌套之外时,它可以正常工作,只是没有嵌套?
这是 index.html 的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Portfolio</title>
<link rel="stylesheet" href="../stylesheets/scss/style.scss">
<script src="../Javascript/includeHTML.es6"></script>
</head>
<header>
<div w3-include-html="../Elements/Header.html"></div>
<script>includeHTML()</script>
</header>
<body class="homepage">
<p>hallo dit is een test</p>
</body>
</html>
这是头文件的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="../stylesheets/scss/style.scss">
</head>
<header>
<div class="header">
<h1>Pointbreak</h1>
<div class="header-menu">
<ul>
<li>Who am I?</li>
<li>My work</li>
<li>Contact</li>
</ul>
</div>
</div>
</header>
</html>
这是 style.scss,注意 '&-menu' 和 '.header-menu' 都不起作用:
.header {
background-color: white;
&-menu {
background-color: red;
}
.header-menu {
background-color: orange;
}
}
.homepage {
background-color: lightgray;
}
最后是编译好的 CSS 代码:
.header {
background-color: white;
}
.header-menu {
background-color: red;
}
.header .header-menu {
background-color: orange;
}
.homepage {
background-color: lightgray;
}
/*# sourceMappingURL=style.css.map */
我希望我提供了足够的信息,如果没有,请告诉我。
迪奥库拉
编辑 特此我提供我的 chrome webdev 工具网络选项卡的图像:
我使用的 SASS 版本是:1.25.0,NPM 的版本是:6.13.0
解决方案
&
您可以在开头放置另一个以将&-menu
其嵌套在.header
.
.header {
background-color: white;
& &-menu {
background-color: red;
}
.header-menu {
background-color: orange;
}
}
编译的CSS:
.header {
background-color: white;
}
.header .header-menu {
background-color: red;
}
.header .header-menu {
background-color: orange;
}
推荐阅读
- c++ - 什么是 C++ 中的“变量‘i’未在范围内声明”?
- java - JPA @JoinColumn 无法与 REST 一起正常工作
- powershell - PowerShell Get-ADUser CSV 导出不起作用
- python - 获取用户列表:除了正在寻找用户/登录用户的用户
- java - 使用 JAXBContext 将 XML 转换为 Java 类
- key - 在 BCNF 定义中,为什么给出“Superkey”,而不是“minimal Superkey”?
- r - 在 r 中使用 posixct 更改日期格式
- html - 仅使用 CSS 切换手风琴字形图标
- jestjs - Spectron 与 Jest 测试基本窗口打开不工作
- c# - 在 SQL 左外连接中具有多个条件的 C# Lambda 连接