Подтвердить что ты не робот

Как создать полый треугольник в css

Я хочу создать пустой треугольник с CSS, но я не знаю, как это сделать. Я могу создать треугольник с CSS, но у меня есть одна проблема, и это: я не могу побить этот треугольник.

Это мой код:

HTML:

<div id="tringle"></div>

CSS

#tringle {
  position: absolute;
  height: 0;
  width: 0;
  top: 50%;
  left: 7px;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 7px solid white;
}
4b9b3361

Ответ 1

Не совсем кросс-браузер, но работает. Надеюсь, я понял ваш запрос.

http://jsfiddle.net/wmDNr/3/

 .triangle { 
     position: relative;
     width: 20px;
     margin-top: 100px;
 }
 .triangle>div { 
     width: 20px;
     height: 2px;
     background: red;
     margin-top: 100px;
 }

 .triangle>div:before {
     content: " ";
     display: block;
     width: 20px;
     height: 2px;
     background: red;
     -webkit-transform: rotate(56deg);
     -moz-transform: rotate(56deg);
     -ms-transform: rotate(56deg);
     transform: rotate(56deg);
     position: absolute;
     top: -8px;
     right: -5px;
 }
 .triangle>div:after {
     content: " ";
     display: block;
     width: 20px;
     height: 2px;
     background: red;
     -webkit-transform: rotate(-56deg);
     -moz-transform: rotate(-56deg);
     -ms-transform: rotate(-56deg);
     transform: rotate(-56deg);
     position: absolute;
     top: -8px;
     left: -5px;
 }

Ответ 2

У меня нет решения, но у меня есть обход с двумя треугольниками, FIDDLE

HTML-код

<div id="tringle"></div>
<div id="tringle2"></div>

КОД CSS

    #tringle {
        left:10px;
        width: 0; 
        height: 0; 
        border-left: 100px solid transparent;
        border-right: 100px solid transparent;
        border-bottom: 100px solid black;
    }
    #tringle2 {

        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;

    }

Ответ 3

Сбрасывая rajesh kakawat - вы можете получить тот же эффект с одним div: http://jsfiddle.net/aDcTb/

<div id="triangle"></div>

#triangle {
        left:10px;
        width: 0; 
        height: 0; 
        border-left: 100px solid transparent;
        border-right: 100px solid transparent;
        border-bottom: 100px solid black;
    }
    #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: '';
    }