关于 html:CSS:border-color:inherit

CSS: border-color:inherit

我有一个在右侧和底部都有边框的按钮,当我将其悬停时,两个边框都被隐藏,并在顶部和左侧显示边框,颜色与父按钮上的背景颜色相同,我想制作像 3D 按钮效果,但它不起作用。

当我将鼠标悬停时,这里看起来像我的按钮

enter

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;}