Кто-нибудь знает, почему ниже CSS <li>
не выравнивается правильно? Это должно быть 5 в каждом ряду согласно второму ряду из них.
Кино <литий> http://i57.tinypic.com/9gd2l5.png
#movies {
margin:0 auto;
width:690px;
}
#movies ul {
background-color:#222;
border-radius:10px;
text-align: center;
display:inline-block;
margin:0 auto;
padding-left:10px;
padding-top:10px;
}
#movies ul li {
float:left;
width:115px;
padding: 5px 5px 20px 5px;
list-style-type: none;
}
#movies ul li a{
text-decoration:none;
display:block;
padding:10px;
color:#FFF;
}
#movies ul li a:hover{
background-color:#111;
}
<div id="movies">
<ul>
<?php
foreach($movieTitle as $movie)
{
echo '<li>';
echo '<img src="' . $movie->image . '" />';
echo '<div class="cFFF">' . $movie->movie_name . '</div>';
echo '<div class="s11 c999">Rating: ' . round($movie->rating) . '</div>';
echo '</li>';
}
?>
</ul>
</div>
</ul>
первый элемент третьей строки не плавает до левого края из-за высоты первого элемента во второй строке (заголовок «Призрак Оперы» заполняет две строки текста), что мешает правильному выравниванию этот элемент
чтобы предотвратить это непреднамеренное поведение при использовании плавающих элементов, вы должны установить очистку слева для каждого 5n + 1
элемент списка
#movies ul li:nth-child(5n + 1) {
clear: left;
}
Других решений пока нет …