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/
问题是您的父母没有设置边框颜色。所以只需将边框颜色设置为父级。像这样的东西: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;} |