关于 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/

  • “相同的颜色”。您是否尝试过简单地使用 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;}

来源:https://www.codenong.com/38367160/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_9790.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?