Cha*_*Cyr 4 css background colors button background-color
我想制作继承背景颜色的虚线按钮。 这是我想要的(但我真的希望能够更改按钮颜色而不更改破折号背景。)这是我的代码:
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;
}Run Code Online (Sandbox Code Playgroud)
<div class="btn dash red">Red Button</div>
<div class="btn dash blue">Blue Button</div>Run Code Online (Sandbox Code Playgroud)
使用这段代码我看不到虚线部分。但如果我将“继承”更改为“真实”值(如#dd2c2c),它就可以了!我该如何做才能保留原始背景颜色值但带有虚线悬停?
由于repeating-linear-gradient创建的是图像,而不是颜色,因此您可以使用 来设置它background-image,并且background-color您在第二类中定义的也会生效。
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
);
}Run Code Online (Sandbox Code Playgroud)
<div class="btn dash red">Red Button</div>
<div class="btn dash blue">Blue Button</div>Run Code Online (Sandbox Code Playgroud)
在您的情况下,它不起作用,因为这不是背景的正确格式:
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
}
Run Code Online (Sandbox Code Playgroud)
这是正确的定义:
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);
}
Run Code Online (Sandbox Code Playgroud)
但是,在这种情况下, 和background会“更强” background-color,并将inherit替换background-color您定义的 。由于父级没有 a background-color,因此它也不起作用。