2014-01-28 1 views
1

С помощью справки по stackoverflow я смог generate and position a CSS triangle in the correct position on my website, я также узнал, как color a triangle in 2 equal halves.Позиционирование и изменение размера треугольника с треугольником CSS в желаемое положение и пропорции

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

Я пытаюсь получить треугольник, который имеет пропорции, и сидит в нижней части div, как this fiddle example, а затем разбивается на 2 цвета, например this fiddle example.

Где я полагаю, я неправильно, что в различных скрипках существует различные виды использования:

:before 

ответ

1

Ну ... Вот моя попытка добиться этого эффекта (пропорции + раскол в 2-х цветах):

JSFiddle Demo.

В этой демонстрации я добавил triangle в div .bottom и позиционировал это, чтобы оставаться наверху (с отрицательным значением).

Затем добавляют margin-top: 1%; свойство, чтобы переместить треугольник при изменении размера окна:

HTML

<div class="top"></div> 
<div class="bottom"> 
    <div class="triangle"></div> 
</div> 

CSS:

.top { 
    /* other styles... */ 
    position: relative; 
    z-index: 2; 
} 

.bottom { 
    background: lightGreen; 
    height: 100px; 
    position: relative; 
    z-index: 1;  /* A lower z-index value than .top */ 
         /* Or use overflow: hidden; instead */ 
} 

.triangle { 
    width: 40px; 
    height: 20px; 
    position: absolute; 
    left: 0; 
    right: 0; 
    top: -20px; 
    margin: auto; 
    margin-top: 1%; /* Move the triangle when resizing the window */ 
    z-index: 1; 
} 

.triangle:before { 
    content: " "; 
    position: absolute; 
    width: 0; 
    height: 0; 
    border-style: solid; 
    border-width: 0 20px 20px 0; 
    border-color: transparent blue transparent transparent; 
} 

.triangle:after { 
    content: " "; 
    position: absolute; 
    left: 20px; 
    width: 0; 
    height: 0; 
    border-style: solid; 
    border-width: 20px 20px 0 0; 
    border-color: red transparent transparent transparent; 
} 
+0

Хороший материал, это выглядит довольно хорошо на моем конец, будет выглядеть немного ближе, чтобы увидеть, могу ли я найти какие-либо проблемы. Я скрещиваю пальцы! – fakeguybrushthreepwood

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