我有一个带有边框的按钮在右边和底部,当我悬停时,两个边框都被隐藏,并在顶部和左边显示边框,颜色与背景颜色相同,在父按钮上,我想要像3D按钮效果,但它不起作用。
当我将鼠标悬停在
时,这就像我的按钮一样我想要的是边框颜色是红色,如果父背景颜色是绿色,边框颜色是绿色
这是我的代码
.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;
}
答案 0 :(得分:2)
问题是您的父母没有设置边框颜色。所以只需将边框颜色设置为父级。这样的事情:https://jsfiddle.net/evpsthx3/9/
<div class="parent red">
<a class="cta">BUTTON</a>
</div>
<div class="parent green">
<a class="cta">BUTTON</a>
</div>
.parent.red {
background-color: red;
border-color: red;
}
.parent.green {
background-color: green;
border-color: green;
}
答案 1 :(得分:1)
你可以通过添加以下css代码来实现这种效果,希望它能够获得这种效果。
.cta:hover {box-shadow: #000 5px 5px 5px;}
答案 2 :(得分:1)
你可以尝试这个:
.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;
}