#html #css
#HTML #css
Вопрос:
У меня очень простой макет, всего два неупорядоченных списка с помощью <ul><li>
, каждый из которых находится внутри <div>
.
<div id="main">
<div id="fist-list">
<ul id="colors">
<li id="white">White</li>
<li id="green">Green</li>
</ul>
</div>
<div id="second-list">
<ul id="numbers">
<li id="one">One</li>
<li id="two">Two</li>
</ul>
</div>
</div>
li{
float: left;
width: 30px;
}
#second-list{
padding-left:30px;
}
вы можете проверить мой простой код здесь .
Я пытался использовать CSS padding-left
, чтобы отделить два списка на расстоянии 30 пикселей друг от друга, но мой CSS не работает, почему?
Комментарии:
1. Пожалуйста, убедитесь, что ваши вопросы можно понять, не отправляя пользователей на другой сайт. Очень немногие сайты могут похвастаться идеальным временем безотказной работы на 100% (меньше всего jsFiddle).
2. вы хотите
#fist-list
, чтобы и#second-list
перемещались влево?3. Почему бы вам просто не использовать margin, чтобы разделить их?
4. @Leem.fin; я знаю, что вы принимаете ответ, но знаете ли вы, почему возникает эта проблема.
5. @ sandeep, я не знаю, поэтому я прокомментировал, что мне нужно больше объяснений.
Ответ №1:
Если вы все еще хотите, чтобы значение с плавающей точкой в
Вы можете переместить список влево, тогда он будет работать.
вот так:
#second-list{
padding-left:30px;
float:left
}
Тем не менее, я бы сделал это по-другому, но мне нужно посмотреть, чего вы хотите достичь. У вас есть его изображение?
Комментарии:
1. Чего я хочу добиться, так это иметь две группы горизонтальных вкладок (вот почему мне обязательно нужен float), которые сделаны из ui li, тогда я хотел бы разделить две группы вкладок, поэтому в моем коде exmaple указано, что я хочу
2. Также неплохо, если вы можете объяснить логику, лежащую в основе вашего кода. Спасибо.
3. Поскольку я пока не видел ни одного хорошего решения, я выбрал это… Я все еще с нетерпением жду, чтобы услышать больше
4. Взгляните на эту статью: complexspiral.com/publications/containing-floats это объясняет вашу проблему 🙂
Ответ №2:
Здесь есть несколько проблем:
Вы используете Float, который разрушает макет
Div являются элементами уровня блока и, следовательно, всегда будут прерывать строку.
Просто удалите float и сделайте div встроенными блоками, например:
удачи!
Комментарии:
1. Но по какой-то причине мне нужен float . Как решить проблему, не удаляя значение с плавающей точкой.
2. встроенный блок работает практически во ВСЕХ браузерах, начиная с IE6, а доля использования IE6 составляет около 2% по всему миру. Пришло время отпустить.
3. Чего я хочу добиться, так это иметь две группы горизонтальных вкладок (вот почему мне обязательно нужен float), которые сделаны из ui li, тогда я хотел бы разделить две группы вкладок
4. Зачем вам для этого нужен float? Разве это не то, что вам нужно? jsfiddle.net/6Qem8/1
Ответ №3:
напишите overflow:hidden
в you div
clear
, потому что это child's float
div{overflow:hidden}
#second-list, #fist-list{float:left}
проверьте это http://jsfiddle.net/sandeep/a8dy6/18 /
Редактировать: согласно вашему комментарию ниже
li{clear:left;}
проверьте это http://jsfiddle.net/sandeep/a8dy6/19 /
Редактировать:
Причина: на самом деле #second-list
принимает padding
если вы определяете элемент float
, то в clear
parent
противном parent
случае он должен рухнуть.
проверьте это, когда этого не произошло clear the parent
http://jsfiddle.net/sandeep/a8dy6/22 /
Итак; вы должны очистить его parent
, когда child
есть float
.
проверьте это после clear parent
http://jsfiddle.net/sandeep/a8dy6/23 /
Комментарии:
1. также проверьте мою ссылку update amp; all. Если у вас есть какие-либо проблемы, спросите меня 🙂