css - 使 child 的 parent (未知)背景颜色变亮

标签 css less

有没有办法在不知道的情况下以less或(一般为css3)访问 parent 的background-color

就像是:

.child-class {
    background-color: lighten(parent-background-color, 30%);
}

一个更小的变量将是显而易见的方法,但在这种情况下,我根本不知道父级的 background-color 因为它可以动态设置样式。

有人在她的魔术盒里有东西可以帮忙吗?

最佳答案

编辑:看看 ScottS 对一个可能是你需要的聪明解决方案的回答。

这不能在纯 css 中完成。原因是这些类型的引用可能导致“循环”情况。或者 DOM 必须循环多次以确定最终值的情况。这两种情况都是 css 总是避免的。

现在,如果您的主要目标是定义各种“调色板”并使所有颜色协同工作,您应该研究 CSS 扩展工具,如“SASS”或“LESS”。他们可以让您定义颜色并更改它们并进行其他有用的比较。如果您想要这种灵活性,请查看这些工具。然而,他们不能像你问的那样进行直接比较,因为他们最终只是减少到 css。

这可以使用 JavaScript 轻松完成,使用 jQuery 更容易。当 JavaScript/jQuery 代码可能不是您需要的时候,我不会将这个答案弄乱。

关于css - 使 child 的 parent (未知)背景颜色变亮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21591445/

相关文章:

css - 理解 CSS 媒体查询结果

html - 如何使用CSS的线性渐变来创建像设计一样的 Angular

css - 让:hover transition complete even when not hovering on element

ruby-on-rails - sass/scss 文件是否会编译以在每个用户页面加载时渲染最终的 css 文件?

css - 绝对定位的 div 中的居中元素

css 用 meteor 声明变量

javascript - 调整大小中断页面布局

javascript - jQuery:append() 没有将任何元素插入到选择器中

css - 960.gs/Blueprint 和 LESS 有什么区别?

javascript - 如何让 Webstorm 识别我的 LESS 文件?