2015-06-08 2 views
0

Желаемый результат:CSS - треугольник границ 100% экрана

CSS-решение, в котором у меня есть контейнер с width: 100%;, а выше и ниже контейнера, у меня есть треугольники, прикрепленные которые создают параллелограмм. Треугольники должны покрывать всю ширину экрана.

Проблема

Я попытался с transform, но и преобразует текст внутри контейнера, так что не работает, чтобы создать нужную форму. Прямо сейчас я пытаюсь с 2 divs, 1 выше и 1 под контейнером, и с border-right css. Проблема здесь в том, что она не принимает проценты.

Код

HTML:

<div class="triangleUP"></div> 
<article class="blue"> 
    Lorem ipsum (times 200) 
</article> 
<div class="triangleDOWN"></div> 

CSS:

.triangleUP { 
    width: 0; 
    height: 0; 
    border-top: 250px solid transparent; 
    border-right: 1920px solid #344cd0; 
    overflow:hidden; 
} 
.blue{ 
    background-color:#344cd0; 
    color:white; 
} 
.triangleDOWN{ 
    width: 0; 
    height: 0; 
    border-top: 250px solid #344cd0; 
    border-right: 1920px solid transparent; 
} 

JSFiddle

Я знаю, что с JQuery я мог бы легко манипулировать собственностью, но я бы предпочитают держать CSS только.

ответ

1

Возможное решение здесь - использовать 100vw, что составляет 100% от ширины окна просмотра. Вот table of current browser support.

Новый CSS:

.triangleUP { 
width: 0; 
height: 0; 
border-top: 250px solid transparent; 
border-right: 100vw solid #344cd0; 
overflow:hidden; 
} 
.blue{ 
    background-color:#344cd0; 
    color:white; 
} 
.triangleDOWN{ 
    width: 0; 
    height: 0; 
    border-top: 250px solid #344cd0; 
    border-right: 100vw solid transparent; 
} 

Результат: I hope this is what you wanted it to look like

+0

Mozilla Firefox, IE и Chrome все дают искаженный результат, к сожалению. – Jordumus

+0

Извините. не могли бы вы указать, на что вы хотите, чтобы этот элемент выглядел? Еще один возможный вариант для параллелограмма состоит в том, чтобы иметь один div внутри другого, причем первый из них является косовым преобразованием, а затем внутри внутри есть косовое преобразование в противоположном направлении и градусах. –

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