javascript - 如何设置可变线性渐变颜色?

标签 javascript css angularjs sass attr

我正在使用纯 css 版本的“clamping”,灵感来自于 Chris Coyier 的链接: http://codepen.io/bental/pen/JWEaJg

这意味着我有 css (sass),例如:

.clamp:after {
   background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1) 50%);
}

有时背景不是白色,所以我想做的是将第二种颜色设置为可变颜色。

我只能想到两个我认为行不通的选项。这是我尝试过的:

  • 使用继承来获取 parent 的背景颜色
  • 使用 JS (Angular) 写入 :after 元素,并设置背景属性,我认为在 Angular 中无法做到这一点
  • 使用 attr(data-something) 属性访问父级上的属性,我可以在 Angular 中设置该属性

都不适合我。有谁知道如何在伪元素上设置线性渐变(在本例中为:after)?

最佳答案

继承的方式确实有效。 http://codepen.io/blackmiaool/pen/dvNqQM

修改CSS如下:

@import url(http://fonts.googleapis.com/css?family=Open+Sans);

body {
  padding: 20px;
  font: 1.2em/1.2em 'Open Sans', sans-serif;
}
.module {
  width: 250px;
  margin: 0 0 1em 0;
  overflow: hidden;
  background: linear-gradient(to right, rgba(255, 255, 255, 0), red 50%);
}
.module p {
  margin: 0;
  background:red;
}


.fade {
  position: relative;
  height: 3.6em; /* exactly three lines */
}
.fade:after {
  content: "";
  text-align: right;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 70%;
  height: 1.2em;
  background:inherit;
}

关于javascript - 如何设置可变线性渐变颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42693355/

相关文章:

html - GIF 不是全屏浏览器

javascript - 使用 Redis 和 PHP 进行分页

java - 混合前端和服务器端技术(Spring、Thymeleaf、AngularJS)

javascript - 使用 Ajax 将响应从 PHP 返回到 Jquery

javascript - 如何清除 jQuery 中的文本区域值?

jQuery Nav滑动下划线修改

angularjs - Bootstrap 模式中的文本输入未触发 ng-change 事件

javascript - 如何更改knockout.js中数组的值?

php - 如何从其他网站获取信息

javascript - 具有辅助功能的浏览器是否支持 CSS 或 JavaScript?