2013-04-14 7 views
0

У меня есть следующий код из here, который генерирует некоторое меню жира:Выравнивание по правому краю выпадающего меню

<ul id="menu"> 

     <li class="menu_right"><a href="" class="drop">1 column</a> 
      <div class="dropdown_1column align_right"> 

        <div class="col_1"> 

         <ul class="simple"> 
          <li><a href="#">FreelanceSwitch</a></li> 
          <li><a href="#">Creattica</a></li> 
          <li><a href="#">WorkAwesome</a></li>        
         </ul> 

        </div> 

      </div> 
     </li></ul> 

Стиль:

#menu .menu_right { 
    float: right; 
    margin-right: 0px; 
} 
#menu li .align_right { 
    /* Rounded Corners */ 
    -moz-border-radius: 5px 0px 5px 5px; 
    -webkit-border-radius: 5px 0px 5px 5px; 
    border-radius: 5px 0px 5px 5px; 
} 
#menu li:hover .dropdown_1column, 
#menu li:hover .dropdown_2columns, 
#menu li:hover .dropdown_3columns, 
#menu li:hover .dropdown_4columns, 
#menu li:hover .dropdown_5columns { 
    left: -1px; 
    top: auto; 
} 
#menu li { 
    float: left; 
    display: block; 
    position: relative; 
    padding: 4px 10px 4px 10px; 
    margin-right: 30px; 
    margin-top: 7px; 
    border: none; 
} 
#menu li:hover { 
    border: 1px solid #777777; 
    padding: 4px 9px 4px 9px; 
    -moz-border-radius: 5px 5px 0px 0px; 
    -webkit-border-radius: 5px 5px 0px 0px; 
    border-radius: 5px 5px 0px 0px; 
} 
#menu li a {   
    display: block; 
    outline: 0;  
} 

Если right:-1px; удаляется из #menu li:hover .align_right , то правый край выпадающего изображения больше не выравнивается с правым краем родительского элемента, то есть «1 столбец» в строке меню (вместо этого левый край выпадающего списка совпадает с родительским).

Какое значение имеет отрицательное положение справа? Обычно отрицательное значение влево/вправо имеет целью скрытие элемента, как это происходит при выпадении, т. Е. Они скрыты нормально из-за отрицательных левых и отображаются, когда левая сторона больше не является отрицательной.

+0

Похоже, вы ответили на свой вопрос. Цель состоит в том, чтобы убедиться, что правый край правильно выравнивается с родителем. – JJJ

+0

Что произойдет, если вы замените -1 на 0? – asifrc

+0

Он просто не будет встроен. Почему вы хотите удалить этот стиль? – bukka

ответ

3

я получил решение, пожалуйста, проверьте его http://jsfiddle.net/v4Jwu/

HTML

<select> 
<option value="1">Client: Zac Brown Band</option> 
<option value="2">Saab</option> 
<option value="3">Mercedes</option> 
<option value="4">Audi</option> 
</select> 

CSS

select { direction: rtl; } 
+0

Это удивительно простое решение проблемы. –

+0

Я проголосовал за это, потому что это действительно хороший ответ. Однако это не подходит для меня, потому что мне нужна стрелка, чтобы быть в порядке ... Любые предложения? – Pere

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