#html #css
#HTML #css
Вопрос:
Я пытаюсь, чтобы вся ширина li соответствовала ширине моего ul, вот мой код: http://jsfiddle.net/4XR5V/2 /
Я уже видел несколько вопросов на сайте, и некоторые, похоже, работают, добавляя
ul {
width: 100%;
display: table;
table-layout: fixed; /* optional */
}
ul li {
display: table-cell;
width: auto;
text-align: center;
}
Но это не сработало. Моя функция javascript работает, я не знаю, почему в jsfiddle она не работает. Как я могу решить эту проблему?
Спасибо!!
Ответ №1:
используйте flexbox. Дочерние элементы будут заполнять доступную область по умолчанию.
#tabs_header ul {
display: flexbox;
}
#tabs_header li {
flex: 1 1 auto;
}
Ответ №2:
Удалить float: left
. Это объявление не требуется, когда элементы отображаются как table-cell
. Плавающие элементы сжимают свое содержимое.
Комментарии:
1. Да, и я также удалил высоту: 19 пикселей; и положение: относительное; в #tabs_header li { …
2. Это хорошо.
position: relative
, само по себе, полезно, когда вам нужно расположить что-то абсолютно внутри относительно позиционированного элемента. И, вы устанавливаете высоту через отступы, поэтомуheight
это излишне.