2015-05-01 3 views
10

То, что я пытаюсь сделать СМОТРЕТЬ просто, но я не могу понять, как это сделать.Рисование угловых линий в CSS

Как вы можете видеть на моем изображении, есть пара красных линий, которые проходят через нижнюю часть, а затем сгибаются вверх по правой стороне.

Есть ли способ в CSS рисовать такую ​​строку?

example showing lines

+0

Вы хотите, чтобы на одной линии над изображением стояли угловые линии (или), а на одной линии - как на скриншоте? – Harry

+0

Мне просто нужно знать, как рисовать линии, подобные этим. Затем я могу дублировать его для второй строки и установить значения z-index для получения эффекта перекрытия. –

+1

Возможно ли [это] (http://codepen.io/hari_shanx/pen/xGGPrL)? – Harry

ответ

24

Вы можете создавать наклонные линии в CSS с помощью косых преобразования (transform: skew(Xdeg)). Ниже приведен пример фрагмент кода:

.shape { 
 
    height: 50px; 
 
    width: 200px; 
 
    border-bottom: 2px solid red; 
 
    border-right: 2px solid red; 
 
    -moz-transform: skew(-45deg); 
 
    -webkit-transform: skew(-45deg); 
 
    transform: skew(-45deg); 
 
}
<div class="shape"></div>


Двойная линия с одной над областью контента и один за ним также можно сделать с помощью одного элемента (и пару pseudos), как в приведенном ниже фрагменте кода:

.shape:before { 
 
    position: absolute; 
 
    bottom: -5px; 
 
    left: -5px; 
 
    content: ''; 
 
    height: 50px; 
 
    width: 100%; 
 
    border-bottom: 3px solid red; 
 
    border-right: 4px solid red; 
 
    -webkit-transform: skew(-45deg); 
 
    -moz-transform: skew(-45deg); 
 
    transform: skew(-45deg); 
 
} 
 
.shape:after { 
 
    position: absolute; 
 
    content: ''; 
 
    bottom: -10px; 
 
    left: 0px; 
 
    height: 55px; 
 
    width: 100%; 
 
    border-bottom: 3px solid red; 
 
    border-right: 4px solid red; 
 
    -webkit-transform: skew(-45deg); 
 
    -moz-transform: skew(-45deg); 
 
    transform: skew(-45deg); 
 
    z-index: -1; 
 
} 
 
.shape { 
 
    position: relative; 
 
    height: 80px; 
 
    width: 400px; 
 
    background: whitesmoke; 
 
}
<div class="shape"> 
 
    Some text that goes within the element... 
 
</div>

+1

@SherwinFlight: Добро пожаловать. Я также добавил образец для получения точного внешнего вида, как на изображении (только с одним элементом). Следует отметить, что, поскольку мы делаем перекос, наклонная граница будет немного тонкой, но это можно преодолеть, сделав эту границу толще другой. – Harry

+0

Вы бы не знали, как «отрезать» верхний левый угол DIV? Например, чтобы он выглядел как лист бумаги, верхний левый угол сложен или удален. –

+0

Является ли фон сплошным цветом? Если да, вы можете использовать треугольник и поместить его вверху. Если нет, это все равно может быть достигнуто, но потребуется дополнительная работа. – Harry

Смежные вопросы