2016-05-23 5 views
1

Я пытаюсь добавить треугольник перед div в navigationTable с помощью css, но я не могу правильно сопоставить его с элементом div.соответствие треугольника элементу div

Here's code

tmp tmp tmp 

Как решить эту проблему?

Редактировать: Вторая проблема: как сделать края треугольника гладкими?

+1

Измените свой вопрос и добавьте код, а не ссылку на него. SO имеет функцию подсветки синтаксиса, которая работает очень хорошо ... –

ответ

1

Absolute Позиционированный элемент будет относиться к следующему родительскому элементу с позицией relative (или absolute).

.elem{ 
    color: dodgerblue; 
    font-weight: bold; 
    padding: 10px 20px; 
    position:relative; //YOU NEED THIS LINE 
} 

.elem:hover:before { 
    display: inline-block; 
    content: ""; 
    top:0; //YOU NEED THIS LINE 
    width: 0; 
    height: 0; 
    border-style: solid; 
    border-width: 10px 15px 10px 0; 
    border-color: transparent red transparent transparent; 
    left: -15px; 
    position: absolute; 
    border-top: 20px solid transparent; 
    border-bottom: 20px solid transparent; 
} 

Так что вам нужно. Вам нужно (ed) .elem быть относительным, так что .elem: раньше может быть размещен относительно этого. Вы также «забыли» установить значение top (до 0).

+0

YAAAS! THX BRO! оно работает! Кроме того, возможно, вы знаете, как сделать края треугольника гладкими? –

+0

приветствуется :) – AlFra

+0

Это не практика, как вы там знали. Задавая вопрос, я даю вам ответ за то, что вы хотели, вы отметили мой ответ как правильный, а затем удалили его как правильный, потому что у вас был дополнительный вопрос ... просто сказать ... что делать вы подразумеваете под «как сделать края треугольника гладкими?» что вы сделали, чтобы сделать треугольник. вы можете играть с шириной границы и позицией .elem: hover: before для получения лучших результатов. – AlFra

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