CSS三角形自定义边框颜色

Ed *_*d R 107 css border css-shapes

尝试为我的css三角形(边框)使用自定义十六进制颜色.但是,由于它使用边框属性,我不确定如何去做.我想简单地因为兼容性而避开javascript和css3.我试图让三角形有一个带有1px边框的白色背景(围绕三角形的边角),颜色为#CAD5E0.这可能吗?这是我到目前为止所拥有的:

.container {
    margin-left: 15px;
    width: 200px;
    background: #FFFFFF;
    border: 1px solid #CAD5E0;
    padding: 4px;
    position: relative;
    min-height: 200px;
}

.container:after {
    content: '';
    display: block;
    position: absolute;
    top: 10px;
    left: 100%;
    width: 0;
    height: 0;
    border-color: transparent transparent transparent #CAD5E0;
    border-style: solid;
    border-width: 10px;
}?
Run Code Online (Sandbox Code Playgroud)

我的小提琴:http://jsfiddle.net/4ZeCz/

Sco*_*ott 174

你实际上必须用两个三角形伪造它....

.container {
    margin: 15px 30px;
    width: 200px;
    background: #fff;
    border: 1px solid #a00;
    position: relative;
    min-height: 200px;
    padding: 20px;
    text-align: center;
    color: #fff;
    font: bold 1.5em/180px Helvetica, sans-serif;
    text-shadow: 0 0 1px #000;
}

.container:after,
.container:before {
    content: '';
    display: block;
    position: absolute;
    left: 100%;
    width: 0;
    height: 0;
    border-style: solid;
}

.container:after {
    top: 10px;
    border-color: transparent transparent transparent #fdd;
    border-width: 10px;
}

.container:before {
    top: 9px;
    border-color: transparent transparent transparent #a00;
    border-width: 11px;
}
Run Code Online (Sandbox Code Playgroud)

在这里更新了小提琴

在此输入图像描述

  • 请注意,对于与@Kevin相同的问题.查看`border-color`属性,取决于三角形指向不同方向的彩色边框.要将箭头指向左边,将"border-color"更改为"透明#e3f5ff透明透明;`两者中的`.container:after`和`.container:before` (5认同)

san*_*eep 88

我知道你接受了,但是用较少的css检查这个:

.container {
    margin-left: 15px;
    width: 200px;
    background: #FFFFFF;
    border: 1px solid #CAD5E0;
    padding: 4px;
    position: relative;
    min-height: 200px;
}

.container:after {
    content: '';
    display: block;
    position: absolute;
    top: 10px;
    right:-7px;
    width: 10px;
    height: 10px;
    background: #FFFFFF;
    border-right:1px solid #CAD5E0;
    border-bottom:1px solid #CAD5E0;
    -moz-transform:rotate(-45deg);
    -webkit-transform:rotate(-45deg);
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/4ZeCz/3/

  • 解释:这会创建一个正常的方形元素,在两个相邻的边上有边框,形成一个倾斜的三角形.然后正方形倾斜45度,因此三角形指向(或任何你想要的地方).顺便说一下,你现在只需要`-webkit -`前缀(和IE9的`-ms -`).所有其他浏览器都支持它没有前缀. (3认同)
  • @Kevin我创建这个请检查http://jsfiddle.net/4ZeCz/97/.尝试使用我使用的属性,如果你有任何问题,你可以问我:) (2认同)