创建三角形引导徽章

时间:2016-12-19 12:59:13

标签: html css twitter-bootstrap

我正在尝试在三角形的中心创建带有文字的三角形自举徽章 普通徽章代码:https://jsfiddle.net/wqrry89r/
三角形自举徽章代码:https://jsfiddle.net/wqrry89r/1/
我的CSS代码是:

.badge-triangle {
  left: 10px;
  width: 0;
  height: 0;
  border-left: 100px solid transparent;
  border-right: 100px solid transparent;
  border-bottom: 100px solid #777;
  background-color: #fff;
}

.badge-triangle:after {
  left: 10px;
  width: 0;
  height: 0;
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
  border-bottom: 50px solid #FFF;
  left: 57px;
  position: absolute;
  top: 38px;
  content: '';
}  

如何将该引导徽章设为三角形并使文本转到三角形的中心?

2 个答案:

答案 0 :(得分:3)



.badge {
    position: absolute;
    right: 0;
    top: 0;
	border-top: 90px solid #CC0000;
	border-left: 90px solid transparent;
}
.mask-t {
    color: #fff;
    position: absolute;
	width: 100px;
	height: 100px;
    right: 0px;
    top: 0px;

}
.mask-t strong {
    display: block;
    width:100%;
    height:100%;
    line-height: 100px;
    text-align: center;
    -webkit-transform: rotate(45deg) translate(0, -25%);
    -moz-transform: rotate(45deg) translate(0, -25%);
    -ms-transform: rotate(45deg) translate(0, -25%);
    -o-transform: rotate(45deg) translate(0, -25%);
    transform: rotate(45deg) translate(0, -25%);
}

<div class="badge">
</div>
<div class="mask-t">
  <strong>Sale!</strong>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

虽然已经提供了正确答案,但只是想再考虑一下。 这是使用普通的CSS(不是引导徽章),但仅修改实际代码。 在这里,我将“我的三角形”视为主要三角形。

HTML更改:

<div class="row">
  <div class="container my-triangle">
    <span class="badge-triangle"></span>
    <span class="new-text">N.T.A</span>
  </div>
</div>

CSS更改:

.my-triangle{
  position:relative;
  top:50px;
  left:100px
}

.badge-triangle {
  width: 0;
  height: 0;
  position:absolute;
  border-left: 100px solid transparent;
  border-right: 100px solid transparent;
  border-bottom: 100px solid #777;
}

.badge-triangle:after {
  width: 0;
  height: 0;
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
  border-bottom: 50px solid #fff;
  left: -50px;
  position: absolute;
  top: 30px;
  content: '';
}

.new-text{
  position:absolute;
  top:50px;
  left:100px;
  transform:translateX(-50%);
}

请检查这个小提琴。

https://jsfiddle.net/wqrry89r/3/