Я не могу понять, почему высота li не увеличивается, когда элемент P делает. Я пробовал все виды позиции и переполнения элементов, но просто не вижу этого. Может ли кто-нибудь помочь мне? Заранее спасибо!
Для получения дополнительной информации см. Эту скрипку
HTML:
<div class='todo_list'>
<div class='add_list'>+ List</div><br>
<h3 contenteditable='true'>New List<span class='remove_list' contenteditable='false'></span></h3>
<ul>
<li>
<input type='checkbox' class='task_status'>
<p class='task' contenteditable='true'></p>
<span class='drag'></span>
</li>
</ul>
<div class='add_task'>+</div><br>
</div>
CSS:
*{
margin: 0;
padding: 0;
}
body{
font-family: Tahoma, sans-serif;
}
div.todo_list{
max-width: 700px;
margin: 0 auto;
}
ul li{
overflow: hidden;
border: 1px;
border-style: solid;
border-color: #ccc;
border-top: none;
position: relative;
-webkit-transition: opacity .3s;
-moz-transition: opacity .3s;
transition: opacity .3s;
}
p,
input[type=checkbox]{
position: absolute;
height: auto;
}
p{
top: 0;
right: 40px;
left: 38px;
padding: 12px;
border-left: 1px solid #ccc;
}
Задача - это position: absolute;
для p
и input
элементов.
Они выходят из естественного потока страниц, поэтому height
элемента li
не увеличивается...
p,
input[type=checkbox]{
position: relative;
height: auto;
}
должен исправить вашу проблему.
Вы использовали:
ul li{
overflow: hidden; // <-- this is the problem I guess
...
}
Также (удалите p
из этого):
p, input[type=checkbox] {
position: absolute; // <-- this is a problem
height: auto;
}
p
пуст, что происходит, когда вы помещаете в него некоторые данные?