CSS: border-color:inherit
我有一个在右侧和底部都有边框的按钮,当我将其悬停时,两个边框都被隐藏,并在顶部和左侧显示边框,颜色与父按钮上的背景颜色相同,我想制作像 3D 按钮效果,但它不起作用。
当我将鼠标悬停时,这里看起来像我的按钮
我想要的是边框颜色为红色,如果父背景颜色为绿色,则边框颜色为绿色
这是我的代码
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
.cta {
display: inline-block; padding: 10px 30px; font-family: ‘courier new’ !important; font-size: 19px !important; background: #1d85bf; color:#fff; border:3px solid #0b527a; border-top:0; border-left: 0; border-radius:3px; text-transform:uppercase; display: block; overflow: hidden; white-space: nowrap; } .cta:hover { |
这是我的小提琴 https://jsfiddle.net/evpsthx3/
- “相同的颜色”。您是否尝试过简单地使用 transparent 或 alpha?你能创建一个你想要实现的模型吗?
- 请也分享 html 部分,否则小提琴会很棒
- 请分享您的html代码?
- 见我的小提琴 jsfiddle.net/evpsthx3
- 当您设置 inherit 值时,您将获得该属性的父级值,您没有 border-color 在 .cta 按钮的父级
- w3schools.com/cssref/pr_border-color.asp 它说边框颜色没有继承值:/
- @EngkusKusnadi 不。它所说的不是直接从他的父级继承的值(就像字体的颜色一样),当你使用值 inherit 时,你强制这样做。对不起我的英语,我希望你能理解我
- 继承:没有。但可能的值是:border-color: color | transparent | initial | inherit;
- 继承和继承是不同的东西吗?
- 是的。例如 color 属性是继承的,如果您在 body 标记中设置颜色,如果您不设置其他颜色,则所有文本都会获得该颜色。 border 不是继承的,如果你给 body 加上边框,它的后代也没有边框。但是您可以使用 inherit 值继承任何属性
问题是您的父母没有设置边框颜色。所以只需将边框颜色设置为父级。像这样的东西:https://jsfiddle.net/evpsthx3/9/
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
BUTTON
BUTTON
.parent.red { .parent.green { |
你可以试试这个:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
.parent {
width:300px; height:60px; padding:30px; } .cta { .cta:hover { |
在这里演示
您可以通过添加以下 css 代码来实现该效果,希望它 wrks.
1
|
.cta:hover {box-shadow: #000 5px 5px 5px;}
|
来源:https://www.codenong.com/38367160/