首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >CSS三角形自定义边框颜色

CSS三角形自定义边框颜色
EN

Stack Overflow用户
提问于 2012-02-26 13:12:55
回答 4查看 160K关注 0票数 122

尝试为我的css三角形(边框)使用自定义十六进制颜色。然而,由于它使用了边框属性,我不确定该怎么做。我想避免使用javascript和css3,仅仅是因为兼容性。我试着让三角形有一个白色的背景,有一个1px的边框(围绕三角形的斜边),颜色为#CAD5E0。这个是可能的吗?这是我到目前为止所知道的:

代码语言:javascript
复制
.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;
}​

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-26 13:20:01

实际上你必须用两个三角形来伪装它……

代码语言:javascript
复制
.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;
}

Updated Fiddle here

票数 201
EN

Stack Overflow用户

发布于 2012-02-26 13:38:53

我知道你接受这一点,但是用更少的css来检查这个:

代码语言:javascript
复制
.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);
}

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

票数 95
EN

Stack Overflow用户

发布于 2018-05-17 01:43:48

我认为这是使用clip-path的更简单的方法

代码语言:javascript
复制
.container {
  width: 150px;
  min-height: 150px;
  background: #ccc;
  padding: 8px;
  padding-right: 6%;
  display: inline-block;
  clip-path: polygon(0% 0%,0% 100%,90% 100%,90% 5%,100% 10%,90% 15%,90% 0%);
}
代码语言:javascript
复制
<div class="container">
test content
</div>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9450733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档