html - 顶部边框不适用于切削刃

标签 html css css-shapes

我试图制作带有切割边缘的菜单按钮,我想给它一个顶部边框,但它根本不起作用,当我给它一个边框时,它会稍微向左突出..请帮助 每个菜单按钮都有不同的颜色,我想让它成为顶部红色,但它不起作用 DEMO html

CSS

.btncol1 {
    background-color: #8cc63e;
}
.btncol2 {
    background-color: #aadcf3;
}
.btncol3 {
    background-color: #87868e;
}
.btncol4 {
    background-color: #c47269;
}
.btncol5 {
    background-color: #8cc63e;
}
.button:not(:last-child) {
    margin-left: 3px;
}
.button:before {
    content:'';
    width: 0px;
    height: 0px;
    display: block;
    border-bottom: 14px solid transparent;
    border-left: 14px solid White;
    position: relative;
    margin-left: -14px;
    margin-top: -14px;
    top: 4px;
    left: 4px;
}
.button {
    height: 55px;
    padding: 10px;
    width: 100px;
    display: inline-block;
    text-decoration: none;
    color: white;
    margin: 0;
    float: right;
    transition: all 300ms ease;
    font-size: 14px;
    font-weight: 400;
    font-family:'Open Sans', sans-serif;
    text-align: left;
}

最佳答案

border 向左侧外移一点,因为红色边框用于整个 div 并且切割边缘位于 顶部div 使用 CSS。

现在,由于您正在应用红色边框,因此您必须将 :before 伪元素的位置移动得更高一点,以使红色边框变得不可见并位于切割边缘下方。

.button {
    border-top: 1px solid red;
}

.button:before {
    content:'';
    width: 0px;
    height: 0px;
    display: block;
    border-bottom: 14px solid transparent;
    border-left: 14px solid White;
    position: relative;
    margin-left: -14px;
    margin-top: -15px; /* This was changed */
    top: 4px;
    left: 4px;
}

关于html - 顶部边框不适用于切削刃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24645246/

相关文章:

html - 如何使 CSS 箭头与容器的宽度相同?

javascript - 尝试通过滚动更改沿 DOM 的元素位置时,jQuery .detach() 不起作用

css - 从 CSS3 代码本身访问 CSS3 属性值

css - 如何在 pinterest.com 的左上角制作 3 行按钮?

javascript - 你能阻止 <img> 标签使用 CSS 加载它的图像吗?

html - 不像正方形那样工作的 CSS 三 Angular 形?

Css mask 形状和边框

javascript - 导航栏淡出并返回

javascript - InstaFeed.js : Change thumb size from 150x150 to 250x250

html - 元素周围的部分圆形边框