在 LESS mixin 中使用选择器名称作为变量

2024-01-12

我正在尝试在 LESS 中创建一个 mixin,它将使用它的选择器名称作为混合内部的变量。 mixin 应该看起来像这样,但我找不到它的确切语法,或者是否可能:

.bg{
 background-image: url('images/@{SELECTORNAME}.png');
}

#header{
  .bg;
}

结果是:

#header{
    background-image: url('images/header.png');
}

我认为这是不可能的,加上如果选择器是这样的会发生什么:

div#menu ul li

这实际上行不通,但也许任何人都知道替代方案,无论这在任何其他预处理器中是否可能。

谢谢你!


您无法“读取”选择器名称。

但是,您可以构建选择器结合 mixin 中的文件名进行链接,如下所示:

LESS

.buildSelectorConnection(@selectorName, @pre: ~'') {
  @{pre}@{selectorName} {
     background-image: url('images/@{selectorName}.png');
  }
}

.buildSelectorConnection(header, ~'#');
.buildSelectorConnection(do-a-class, ~'.');

CSS输出

#header {
  background-image: url('images/header.png');
}
.do-a-class {
  background-image: url('images/do-a-class.png');
}

然而,如果你想让这样的东西能够处理类似的事情,那么你需要更多的逻辑、决策以及 LESS 中的一些 JavaScript 编码div#menu ul li实际生成的文件名类似于div-menu-ul-li.png.

尽管如此...

可以这样做:

LESS

.buildSelectorConnection(@selectorName, @pre: ~'', @post: ~'') {
  @{pre}@{selectorName}@{post} {
     background-image: url('images/@{selectorName}.png');
  }
}

.buildSelectorConnection(menu, ~'div#', ~' ul li');

CSS输出

div#menu ul li {
  background-image: url('images/menu.png');
}

这基本上允许您构建任何选择器字符串,但文件名本身只是传入的初始选择器,它需要是对文件名有效的东西。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 LESS mixin 中使用选择器名称作为变量 的相关文章

  • 无法正确显示行

    我应该在这个问题的开头说我完全没有 html css javascript 背景 所以请对我宽容点 如果我使用了错误的术语或者问了一个愚蠢的问题 没有提供足够的信息 请抱歉 我正在尝试让一个可扩展的表工作 通过阅读论坛线程 教程 将 nex
  • 删除特定数据表上的所有边框

    我需要使用 PrimeFaces 隐藏一个数据表的所有边框 而不是全部 我尝试了很多事情 但没有人奏效 有谁知道该怎么做 我已将以下样式 单独 应用于ui datatable class border hidden important bo
  • CSS 继承、别名和其他很酷的东西

    有一天 我随机浏览网页 发现了一些程序 可以让你编写 CSS 别名和其他很酷的东西 我现在不记得了 举个例子 我记得你可以这样做 myclass background color red greenfont 其中 greenfont 在其他
  • 固定 div 位于居中 div 旁边

    我有一个网页 其中有可滚动的内容 此内容包含在 content 内 位于页面的中心 现在我希望导航栏出现在内容左侧 50 像素处 该栏应具有固定位置 不应滚动 这是我到目前为止所尝试过的 nav position fixed top 50
  • 两列表:一列尽可能小,另一列占据其余部分

    我在 div 中有一个 to columns 表 div table tbody tr td class action a a td td class content p Bigger text variable size p td tr
  • 如何使使用 css 调整大小的图像在 IE 中看起来不错?

    当使用 css 宽度 高度或属性宽度 高度缩放图像时 IE6 和 IE7 无法很好地缩放网页中的图像 我不确定它默认使用哪种算法 但这不好 在这些浏览器中缩放时 缩放图像会显示锯齿伪影 幸运的是 有一种方法可以通过简单的 css 规则强制
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何在模态打开时防止主体滚动

    我在用着W3schools 模态脚本 https www w3schools com howto tryit asp filename tryhow css modal我想添加一个功能 防止模型打开时整个主体滚动 我根据我的需要对原始脚本做
  • 如何使用 JavaScript 或 jQuery 克隆 HTML 元素的样式对象?

    我正在尝试克隆元素的样式对象 这应该允许我在更改后重置所述元素的样式 例如 el style left 50px curr style left 50px Modify the elements style The cloned style
  • Webpack 4:如何使用 LESS 获取 CSS 源映射?

    多年来我一直在尝试让 CSS 源映射在 webpack 中工作 但没有成功 我不确定链条中哪里出了问题 我希望有人能指出我正确的方向 这是发生的事情 行号是错误的 实际上文件名也是错误的 main less只是包含一堆 import也就是说
  • 如何检测一个或多个 JS/CSS 库加载失败(例如 CDN)?

    Premise 我找到了这两个答案 但我不明白如何将它系统地应用于许多库 检测并记录外部 JavaScript 或 CSS 资源加载失败的情况 https stackoverflow com questions 5683824 detect
  • SVG 动画不适用于 Chrome 中的 favicon

    In the SVG 图标已设置 这是旋转内圆的SVG文件的内容 Favicon 动画在 Chrome 中根本不起作用 如何让它在 Chrome 中工作 在 Firefox 中可以正常工作 在 Edge 中则不行 但 Chrome 是最重要
  • 使用反增量更改 z-index

    我尝试制作一个图像滑块 当鼠标悬停在一个点上时 它将显示图片 我也尝试使用在图像之间切换z index但什么也没动 slider counter reset index 1000 slider input name slide switch
  • 如何在有序列表中组合数字和字母?

    如何在 CSS 中用数字和字母递增有序列表 ol nested margin bottom 0 counter reset item ol nested li display block position relative ol neste
  • 如何在更大的 div 中垂直和水平居中一个 div?

    如何将一个 水平居中于另一个 中 我设法使用已接受答案中的样式水平居中 我怎样才能让它垂直居中 内部 div 的高度未知 https stackoverflow com questions 114543 how to center div
  • 使用 css 简单地将对象居中,无需修改

    我想使用 CSS 将对象居中 而不需要任何技巧 这可能吗 如何实现 我已经尝试过了 但是我的 p 标签消失了 centered position fixed top 50 left 50 有多种方法可以使元素居中 但这取决于您的元素是什么以
  • 使用 CSS 使一行 div 高度相同

    我有一排必须具有相同高度的 div 但我无法提前知道该高度可能是多少 内容来自外部源 我最初尝试将 div 放置在封闭的 div 中并将它们向左浮动 然后我将它们的高度设置为 100 但这没有明显的效果 通过将封闭 div 的高度设置为固定
  • 图像背景不透明度不影响边框

    如何设置背景不透明度而不影响边框线不透明度 我找到的解决方案没有帮助 div class selected img src assets img image product 1 thumbnail jpg alt product 1 thu
  • 可以设置标题样式吗? (并且使用CSS或js?)[重复]

    这个问题在这里已经有答案了 我想知道是否可以设计一个title a href title This is a title Hello a 样式问题有两个方面 文本格式 编码 我猜这是可能的 所以在问题中这样做 工具提示样式 你能把它弄大一点
  • 如何创建适合屏幕宽度的等宽/高框? [复制]

    这个问题在这里已经有答案了 我正在尝试建立一个网站 其中有很多宽度和高度相等的框 例如 我有一个页面 其中并排有两个相同大小的框 简单的解决方案是将宽度和高度设置为 50vw 这在出现滚动条之前效果很好 我已经用谷歌搜索了几个小时 但无法理

随机推荐

  • Kubernetes 入口路由到 Nextjs 应用程序的问题

    所以我有一个有趣的用例 我在 Kubernetes 集群上运行多个微服务 我的应用程序使用 NextJS 对 next 路由进行内部调用 我的问题来自这样一个事实 我需要一种方法来区分服务及其对 next 文件的请求 因此 我实现了 Nex
  • 将抛出的异常更改为失败的简洁方法?

    有没有比以下更简洁的方法来将抛出的异常提升为失败 try die always CATCH default fail 这是莫里茨代码的更简洁版本 try something orelse fail
  • python程序崩溃后如何重新启动

    我有一个 python 脚本 它启动一个程序并自动执行它 不断处理新数据并保存到预设目录 永久运行 Python 脚本 在发生错误时记录错误并在崩溃时重新启动的推荐方法是什么 到目前为止我遇到过os execv并以此开始 import sy
  • 为什么从 void 函数模板返回时不会出现编译器错误?

    考虑 void f return 5 以上会引发错误 但为什么不是这个呢 template
  • 通过 .Rmd 在标头中插入标签

    我正在使用 Rstudio 创建 Rmd 报告 并且我希望能够将元标记插入到当 Rmd 被编织成 html 时 从文档上针织选项 http yihui name knitr options package options我想我可以设置标题选
  • 如何根据 R 中另一列中的值设置列值

    我正在尝试根据另一列中的值添加新列 基本上 如果另一列缺失或为 0 则将新值设置为 0 或 1 下面这段代码有什么问题吗 times nrow eachfile for i in 1 times eachfile SalesCycleN0
  • 带有先前获取参数的 HTML 表单 GET 方法

    我在页面上有一个带有获取参数的表单 index php PageID 12 然后 我在该页面上有多个表单 当用户选择详细信息时 它们会构建页面详细信息 我的问题是 当发布表单时 Get 会覆盖其他 get 参数 我可以使用 post 但只能
  • awk科学计数法输入

    我在让 awk 从文件中读取科学记数法时遇到了一些麻烦 这里是一些示例输入 Plane Turn Real Imaginary HOR 1 0 0000e 00 2 1885e 07 HOR 1 4 8481e 08 8 1221e 08
  • SML/NJ:如何使用哈希表?

    我真的很想在 SML 中创建一个哈希表 似乎 SML NJ 中已经有一个结构 问题是 我该如何使用它 我还没有完全理解如何在SML中使用结构 并且我读过的书中的一些非常基本的示例给了我错误 我什至不知道如何纠正 所以使用HashTable结
  • WebStorm - 未解析的变量或类型 - Sails / module.export [重复]

    这个问题在这里已经有答案了 尝试修复 JavaScript 中的 WebStorm v11 0 4 警告 很多unresolved variable or typeSailsJS 应用程序中自定义类型的错误 例如以下错误 我已经在 WebS
  • HttpURLConnection 在 Android 2.x 中工作正常,但在 4.1 中不行:未发现身份验证挑战

    我有一些典型的代码 它们使用 HttpURLConnection 来获取带有 URL 的文件 它们在 android 1 x 和 2 x 中运行良好 但在Android 4 1中失败了 我在网上搜索了一下 但几乎没有找到类似的信息 有人愿意
  • 从 Winform 迁移到 WPF

    我们使用 Winforms 和 Infragistic 框架 我们正在考虑迁移到 WPF 问题是我们在 Winforms 中已经有几个表单 对话框等 我们需要共同的外观和感觉 因此我们需要将所有内容迁移到 WPF 有没有迁移工具可以将 Wi
  • 免费的 VB6/VBA 分析器和 Excel 最佳实践

    我们有很多通过 VBA 和 Excel 生成的报告 只有一小部分报告是实际计算 大部分工作是 SQL 调用和单元格的格式化 写入 其中最长的需要几个小时 大多数每次大约需要 20 30 分钟 VBA Excel 代码插入 VB6 桌面应用程
  • Numpy std(标准差)函数奇怪的行为

    从统计学的角度来看 当所有值相等时标准差应该为 0 为了arr1结果符合预期 0 但对于arr2 is 1 3877787807814457e 17 很小但不是0 这会导致问题 例如zscore 这是正确的行为还是奇怪的错误 import
  • Python:将 X509 证书的颁发者 CN 值存储为字符串

    我正在使用以下代码 from cryptography import x509 from cryptography hazmat backends import default backend cert info x509 load pem
  • BeautifulSoup 没有给我 Unicode

    我正在使用 Beautiful soup 来抓取数据 BS 文档指出 BS 应始终返回 Unicode 但我似乎无法获取 Unicode 这是一个代码片段 import urllib2 from libs BeautifulSoup imp
  • Fody,属性已更改并设置相同的值?

    有没有什么方法可以配置 fody 不检查设置为属性的值 我遇到了值相同并且我希望设置属性的情况 因为我在属性设置器中有未调用的附加逻辑 这显然是在最初的问题发生几年后 但供将来参考 这确实可以通过修改中的选项来实现FodyWeavers x
  • 在地图 C++ 中使用列表

    我可以使用以下语法 std map
  • 是否可以在全文搜索中将 NEAR 和 FORMSOF 组合在一起?

    我有这个 SELECT FROM AwesomePeople WHERE CONTAINS Name NEAR Nathan Fillion MAX TRUE 但我想将它结合起来 这样它就可以使用我的词库来寻找替代方案Nathan and
  • 在 LESS mixin 中使用选择器名称作为变量

    我正在尝试在 LESS 中创建一个 mixin 它将使用它的选择器名称作为混合内部的变量 mixin 应该看起来像这样 但我找不到它的确切语法 或者是否可能 bg background image url images SELECTORNA