css - 在背景下继承颜色

标签 css button colors background background-color

我想制作继承背景颜色的虚线按钮。 Here what I want (但我真的希望能够在不更改破折号背景的情况下更改按钮颜色。) 这是我的代码:

body {
  font-family:"Open Sans", sans-serif;
}
.btn {
  display: inline-block;
  padding: 0.5em 0.8em;
  vertical-align: top;
  border-radius: 5px;
  position: relative;
}
.btn.red {
  background-color:#dd2c2c;
  color:#f4f4f4;
}
.btn.blue {
  background-color:#2c84dd;
  color:#f4f4f4;
}
.btn.dash {
  background: repeating-linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 0) 10px,
    rgba(255, 255, 255, 0.2) 10px,
    rgba(255, 255, 255, 0.2) 20px),
    inherit;
 }
<div class="btn dash red">Red Button</div>
<div class="btn dash blue">Blue Button</div>

使用这段代码我看不到虚线部分。但是,如果我将“继承”更改为“真实”值(如#dd2c2c),它就会起作用!我该怎么做才能保持原始背景颜色值但悬停虚线?

最佳答案

由于 repeating-linear-gradient 创建图像,而不是颜色,您可以使用 background-image 设置它,而 background-color 你在 2nd class 中定义的也会生效。

body {
  font-family:"Open Sans", sans-serif;
}
.btn {
  display: inline-block;
  padding: 0.5em 0.8em;
  vertical-align: top;
  border-radius: 5px;
  position: relative;
}
.btn.red {
  background-color:#dd2c2c;
  color:#f4f4f4;
}
.btn.blue {
  background-color:#2c84dd;
  color:#f4f4f4;
}
.btn.dash {
  background-image: repeating-linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 0) 10px,
    rgba(255, 255, 255, 0.2) 10px,
    rgba(255, 255, 255, 0.2) 20px
    );
 }
<div class="btn dash red">Red Button</div>
<div class="btn dash blue">Blue Button</div>

在您的情况下它不起作用,因为这不是背景的正确格式:

  background: repeating-linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 0) 10px,
    rgba(255, 255, 255, 0.2) 10px,
    rgba(255, 255, 255, 0.2) 20px), /** remove the comma **/
    inherit
 }

这是正确的定义:

  background: inherit repeating-linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 0) 10px,
    rgba(255, 255, 255, 0.2) 10px,
    rgba(255, 255, 255, 0.2) 20px);
 }

但是,在这种情况下,backgroundbackground-color“更强”,inherit 将替换 background-color 你已经定义了。由于父项没有 background-color,因此它不会正常工作。

关于css - 在背景下继承颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44487681/

相关文章:

css - less-css——是否有可能获得 parent 的 parent ?

java - ColorAction 扩展了 AbstractAction

iphone - 反转 UIWebView 或 UITextView 中的颜色

javascript - 在javascript中着色字符串的中间

css - 来自 css 的样式 react-bootstrap 按钮

javascript - 无法在 'setProperty' : These styles are computed, 上执行 'CSSStyleDeclaration',因此 'opacity' 属性为只读

html - 盒子位置不居中

javascript - 带有垂直固定标题的 XY 滚动 HTML 表格

javascript - 当输入类型文本小于 0 或大于 24 时,如何禁用输入类型按钮?

javascript - 使用 Javascript 函数创建 DOJO 按钮会导致创建的按钮发生冲突