Как я могу позиционировать элементы LI в нижней части списка UL

у меня есть пункты меню, такие как: Row1 Row2.. RowN и я хочу, чтобы они не были такими широкими - вот почему включая перерывы (с максимальной шириной)

у меня есть этот HTML:

<div>
 <ul>
  <li>Row1</li>
  <li>Row1 Row2 Row3</li>
  <li>Row1</li>
  <li>Row1 Row 2</li>
 </ul>
</div>

С этим CSS:

/* MENU */

.menudiv {padding-left:10px; border-bottom: 1px solid #d0db88;}

ul.menu
{                 
    list-style-type: none;
    min-width: 1050px;
    position: relative;
    left:10px;
    display: block;
    height: 45px;       
    margin: 0;
    padding: 0;
}

ul.menu li
{    
    float: left;
    margin: 0;
    padding: 0;
}

ul.menu li a
{    
    float: left;    
    text-decoration: none;
    padding: 9px 12px 0;
    font-weight: bold;
    max-width:130px;
}

фактически:

+--------------------+
|Row1 Row1 Row1 Row1 |
|     Row2      Row2 |
|     Row3           |
+--------------------+

что нужно:

+--------------------+
|     Row1           |
|     Row2      Row1 |
|Row1 Row3 Row1 Row2 |
+--------------------+

3 ответов


использовать display: inline-block вместо float:

ul.menu
{                 
   vertical-align: bottom;
}

ul.menu li
{    
   display: inline-block;
   text-align: center;
}

EDIT: добавлено text-align: center;. Если я правильно понял ваш комментарий, это то, что вы хотите. Если нет, вам нужно быть более конкретным.


http://css-tricks.com/what-is-vertical-align/ Эта ссылка может помочь, или вы можете создать результат в виде содержимого на основе таблицы с содержимым, выровненным по нижней части каждой ячейки.


предполагая, что ниже ваш html

<div>
    <ul>
        <li><a>Row1</a></li>
        <li><a>Row1 Row2 Row3</a></li>
        <li><a>Row1</a></li>
        <li><a>Row1 Row 2</a></li>
    </ul>
</div>

вы можете просто создать свой CSS следующим образом

li {
    position:relative;
    float:left;       
}

li a {
    position:absolute;
    bottom:0;
}

выше код должен работать в браузерах (я не тестировал это в браузерах)