Страницы

Поиск по вопросам

четверг, 5 декабря 2019 г.

Как сделать треугольную стрелку под табом?

#html #css


Как сделать на css такую стрелку под активным табом?

    


Ответы

Ответ 1



Можно для этого использовать псевдоэлементы с border: // для демонстрации переключения табов $('.block').on('click', function() { $('.block').removeClass('active'); $(this).addClass('active'); }) .block { width: 70px; text-align: center; padding: 20px 0; float: left; border-bottom: #000 solid 1px; position: relative; cursor: pointer; } .block:before, .block:after { content: ''; width: 0; height: 0; border-style: solid; border-color: transparent; position: absolute; left: 50%; top: 100%; margin-left: -10px; transition: all 0.2s ease; border-width: 0px 10px 0 10px; } .block:before { border-top-color: #000; } .block:after { border-top-color: #fff; margin-top: -1px; } .block.active:before, .block.active:after { border-width: 10px 10px 0 10px; }
TAB1
TAB2
TAB3
TAB4


Ответ 2



Вариант с использованием псевдоэлементов (:before и :after) + transform: rotate (function() { $('.block').on('click', function() { $(this).addClass('active').siblings().removeClass('active'); }); })(); .block { background: #fff; width: 70px; text-align: center; padding: 20px 0; float: left; border-bottom: 1px solid #999; position: relative; cursor: pointer; } .block.active{ color: #f00; cursor: text; } .block.active::before, .block.active::after { content: ''; position: absolute; left: 50%; bottom: -6px; background: #999; margin-left: -5px; width: 10px; height: 10px; z-index: 1; transform: rotate(45deg); } .block.active::after { background: #fff; bottom: -4px; height: 10px; }
TAB1
TAB2
TAB3
TAB4


Комментариев нет:

Отправить комментарий