2016
7
Дек

Как сделать треугольник css

grigoriev
5582
треугольник css

Разбираясь в одном заинтересовавшем меня проекте наткнулся на интересный пример как создать треугольник css. А так как треугольники стали постоянно используемыми элементами веб страницы, то мы должны их уметь создавать.Об этом методе и будет эта заметка.

Погуглив вопрос как сделать треугольник css нашёл ещё несколько интересных методов, но пример из проекта мне понравился больше. Это метод старый и давно известный. Он основан на использовании таких css свойств как border-color и border-width. Суть метода проста. Создаём какой либо блок(div), и и задаём ему css свойства border-color и border-width. Свойство border-width задаёт толщину границы, и принимает четыре значения. Толшину границы сверху, справа, снизу, слева. Напоминаю что при записи этого css свойства отсчёт начинается от верхней границы и идёт по часовой стрелке. Таким образом, что бы создать из нашего блока треугольник вершиной вверх в свойстве border-width запишем верхнюю границу толшиной 0, левую и правую толщиной в половину блока, а нижнюю в тощину блока. С свойством border-color то же я думаю уже стало понятно. Оно тоже принимает четыре значения по сторонам блока. Если у нас треугольник на белом фоне, все границы задаём белым цветом, кроме нижней. Ну а теперь по обыкновению пример. Так как заметка получилась не очень большая решил добавить к треугольнику анимацию на css.

                                     
        <div class="triangle"> </div>
                                     
.trianglebox{
    width: 200px;
    height: 110px;
    border: 1px solid #000;
    padding-top: 25px;
    margin: 0 auto;
}
.triangle{
    margin: 0 auto;
    width: 0px;
    height: 0px;
    border-style: solid;
    /*для треугольника css*/
    border-color: #fff #fff #060  #fff;
    border-width: 0px 25px 50px 25px;
    /*для анимации*/
     -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .3s;
    transition: .3s; 
}
.trianglebox:hover > .triangle{
    /*для анимации*/
    border-color: #fff #fff #ccc  #fff;
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

Пример: Для анимации наведите на треугольник

Как видите всё достаточно просто. К недостатку такого метода можно отнести, что треугольнику не получится задать тени и остальные красивости. Но метод прост и кроссбраузерен. Использовать ли его в проектах решать вам.

Поделиться:

You have no rights to post comments

Используя данный сайт, вы даете согласие на использование файлов cookie, помогающих мне сделать его удобнее для вас. Уведомление о cookie