CSS三角形:元素之前

ama*_*ori 24 html css css-shapes

我正在使用bootstrap,试图使div之前有一个CSS三角形.

http://jsfiddle.net/B2XvZ/11/

这是我的非工作代码:

.d:before {
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 10px 15px 10px 0;
  border-color: transparent #dd4397 transparent transparent;  
}
Run Code Online (Sandbox Code Playgroud)

我希望它的样子是在文本"this"之前有一个粉红色的左指三角形,它与div之间没有间隙.我试图通过浮动元素来做到这一点,但没有成功.

Jos*_*ier 39

您需要指定content属性.

要进行定位,请添加position:relative到父级,然后将箭头绝对放在-15px左侧.

jsFiddle例子

.d {
    position:relative;
}

.d:before {
    content:"\A";
    border-style: solid;
    border-width: 10px 15px 10px 0;
    border-color: transparent #dd4397 transparent transparent;
    position: absolute;
    left: -15px;
}
Run Code Online (Sandbox Code Playgroud)

  • @FrauWolf`\A`是回车.我想我为一些较旧的浏览器怪癖(可能是IE)做到了这一点.不过,它不再需要了.`content:''`工作得很好. (3认同)

Sla*_*kin 7

您需要内容属性和其他一些内容

.d:before {
  content: '';
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 10px 15px 10px 0;
  border-color: transparent #dd4397 transparent transparent;  
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
}
Run Code Online (Sandbox Code Playgroud)