我有一个由php从sql表生成的列表,我试图在最后<li>
添加一些css,但它会影响所有<li>
。
是否有我不理解的东西,或者我的代码中是否有特定内容?
PHP:
echo "<ul>";
if($row['sender'] == $userid) {
echo "<li class='bubble' style='background: #4cd964;'><p>" . $text . "</p></li>";
} else {
echo "<li class='bubble' style='background: #ffcc00;'><p>" . $text . "</p></li>";
}
echo "</ul>";
的CSS:
.bubble {
position: relative;
margin-bottom: 50px;
left: 45%;
width:100px;
height:100px;
border-radius:50%;
}
.bubble:last-child {
margin-bottom: 20%;
}
答案 0 :(得分:0)
请尝试使用:
<强> HTML 强>
<ul>
<li class="bubble">child 1</li>
<li class="bubble">child 1</li>
<li class="bubble">child 1</li>
<li class="bubble">last child</li>
</ul>
<强> CSS:强>
li.bubble:last-child{
color: red
}
<强>结果强>
答案 1 :(得分:0)
这应该有效:
li.bubble:last-child{
color: red
}
如果没有尝试:
li.bubble:last-child p{
color: red
}
并且它必须意味着您的<p>
在您的css中具有更高特异性值的其他位置具有已定义的颜色。
答案 2 :(得分:0)
您的PHP代码只输出一行,一行LI以#4cd964或#ffcc00作为背景色。我没有看到任何迭代结构输出更多行。如果你的迭代在<UL>...</UL>
块的外面,那么你输出的列表就像迭代一样多......这意味着:last-child适用于页面上的每个LI。
请发布完整的PHP代码。