2011-01-31 5 views
0

Я пытаюсь добавить мини-треугольник в состояние наведения навигационной панели.CSS - использование нескольких классов для эффекта наведения

HTML:

 <div id="menu_bars"> 
      <div id="main_bar"> 
       <ul> 
        <li class="maintabs maintabs_tri"><a href="#">Over</a></li> 
<li class="maintabs maintabs_tri"><a href="#">Collar</a></li> 
<li class="maintabs maintabs_tri"><a href="#">Bod</a></li> 
       </ul>   
      </div> 

      <div id="css_arrow" class="maintabs_tri"><a href="#"></a> 
      </div> 
     </div> 

'main_bar' ДИВ создает горизонтальное меню навигации. Используется div id 'css_arrow' для создания стрелки, которая будет отображаться в режиме зависания. Я играю в них все класс под названием «maintabs_tri», который включает в себя треугольник и навигационное меню «main_tab», так что, когда состояние зависания становится активным, треугольник появляется на панели навигации.

CSS:

/* START OF MAIN BAR */ 
#main_bar ul { 
    float: left; 
    width: 630px; 
    height: 48px; 
} 

.maintabs { 
    display: inline-block; 
    width: 25%; 
    list-style-type: none; 
    background: rgba(237,237,237,1); 
    background: -moz-linear-gradient(top, rgba(255,255,255,1), rgba(237,237,237,1)); 
    background: -webkit-gradient(linear, top, bottom, from(rgba(255,255,255,1)), to(rgba(237,237,237,1))); 
    -moz-box-shadow: 1px 2px 2px rgba(0,0,0,0.2); 
    -webkit-box-shadow: 1px 2px 2px rgba(0,0,0,0.2); 
    box-shadow: 1px 2px 2px rgba(0,0,0,0.2); 
    -webkit-transition-property: 
} 

.maintabs:first-child { 
    -webkit-border-top-left-radius: 6px; 
    -webkit-border-bottom-left-radius: 6px; 
    -moz-border-radius-topleft: 6px; 
    -moz-border-radius-bottomleft: 6px; 
    border-top-left-radius: 6px; 
    border-bottom-left-radius: 6px; 
} 

.maintabs:last-child { 
    -webkit-border-top-right-radius: 6px; 
    -webkit-border-bottom-right-radius: 6px; 
    -moz-border-radius-topright: 6px; 
    -moz-border-radius-bottomright: 6px; 
    border-top-right-radius: 6px; 
    border-bottom-right-radius: 6px;   
} 

.maintabs a { 
    display: block; 
    text-decoration: none; 
    text-align: center; 
    vertical-align: middle; 
    line-height: 14px; 
    text-shadow: 0px 1px 2px rgba(0,0,0,0.3); 
    padding: 18px 0px; 
} 

.maintabs ul { 
    display: none; 
    list-style-type: none; 
} 

.maintabs ul li a { 
    text-decoration: none; 
} 
/* END OF MAIN BAR */ 



/* TRIANGLE ------ for testing, to be used with hover later */ 
#css_arrow { 
    border-color: transparent transparent rgba(111,46,11,0.0) transparent; 
    border-style: solid; 
    border-width: 8px; 
    height: 0; 
    width: 0; 
    position: absolute; 
    top: 34px; 
    left: 78px; 
} 

.maintabs_tri a:hover { 
    border-color: transparent transparent rgba(111,46,11,1) transparent; 
} 

Может кто-то долю, почему это не работает? Я не могу понять для жизни меня ...

ответ

1

Добавить в .maintabs_tri a:hover: border-bottom: 3px solid #000 исправляет его в Chrome.

Вопрос состоял в том, что не было border-width или border-style.

+0

@ Kayote: Мой ответ сработал для вас? – thirtydot

+0

Thirtydot, no it didnt. Проблема в том, что эффект наведения полностью разрушает панель меню. Я переписываю этот вопрос лучше и отправлю вам ссылку. Большое спасибо за то, что уделили ему время. Лучшее, – Kayote

+0

тридцать, вот ссылка на новое сообщение: http://stackoverflow.com/questions/4870912/css-adding-another-elements-on-hover-state – Kayote

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