CSS треугольник стрелка активный элемент меню

0

Я пытаюсь установить стрелку с помощью "чистого" CSS в меню активных элементов. Проблема, у меня странный вывод. здесь мой FIDDLE. Вы знаете, как его решить?

    #cssmenu li.active a {
   /* display: inline;
    border-bottom: 3px solid #00b8fd;
    float: left;
    margin: 0;*/
    width: 0; 
    height: 0; 
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;

    border-bottom: 10px solid black;
}
  • 1
    Это то, что вам нужно - css3shapes.com
Теги:
css-shapes

3 ответа

2
Лучший ответ

Проблема здесь в том, что стрелка будет такой же широкой, как и li которую она описывает. Лучший способ сделать что-то подобное - использовать псевдо-элемент css. То, что вы смотрите, это что-то вроде:

#cssmenu li.active a:before {
    content: ' ';
    width: 0px; 
    height: 10px; 
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 10px solid black;
    display: inline-block;
}

Удачи!

Обновлен скрипт: http://jsfiddle.net/XLfcY/

  • 0
    Привет drew_w, спасибо за ваш пример. Я хотел знать, возможно ли иметь стрелку под элементом вместо верхней?
  • 0
    Я добавил, позиция: абсолютная; внизу: 20px; в конце #cssmenu li.active a: before. Звучит чисто как решение?
Показать ещё 2 комментария
0
div{
    width: 0; 
    height: 0; 
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid black;
}

для чистой стрелки css

  • 0
    Эй, Арун, это возможно, чтобы адаптировать ваше решение div с моей структурой меню / jquery?
0

Стрелка внизу, как вы просили

position: relative;
top: 60px;

здесь ссылка на скрипку http://jsfiddle.net/suriyag/HwcTn/1/

  • 0
    Хорошо, спасибо за ваш ответ Фидель Кастро

Ещё вопросы

Сообщество Overcoder
Наверх
Меню