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 { border:3px solid #dbdbdb; border-color:inherit !important; border-bottom: 0; border-right: 0; border-top-left-radius: 3px !important; color:#fff; } |
这是我的小提琴 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 { background-color: red; border-color: red; }
.parent.green { background-color: green; border-color: 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 { 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 { border:3px solid #dbdbdb; border-color:inherit !important; border-bottom: 0; border-right: 0; border-top-left-radius: 3px !important; color:#fff; box-shadow: #242729 6px 6px 6px; } |
在这里演示
您可以通过添加以下 css 代码来实现该效果,希望它 wrks.
1
|
.cta:hover {box-shadow: #000 5px 5px 5px;}
|
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/269156.html