:第一个孩子,其中Class是:not(.disabled)

时间:2015-12-01 23:17:39

标签: css css3

我试图选择列表中没有等级="禁用"的第一个元素。任何人都知道如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

遗憾的是,由于选择器的组织方式,CSS中的直接是不可能的。

你可以通过使用正面和负面选择器,首先选择所有未禁用的项目并设置样式,然后使用常规兄弟选择器~ unstyle 其他人:

.disabled {
  background:red;
  color:white;
}
li:not(.disabled):after {
  content:" (THIS IS THE FIRST NON DISABLED ITEM)";
}
li:not(.disabled) ~ li:not(.disabled):after {
  content:"";
}
<ul>
  <li class="disabled">Item</li>
  <li class="disabled">Item</li>
  <li>Item</li>
  <li class="disabled">Item</li>
  <li>Item</li>
  <li class="disabled">Item</li>
  <li>Item</li>
</ul>

答案 1 :(得分:1)

这应该是BoltClock♦

的技巧和完整学分

&#13;
&#13;
li:not(.disabled) {
  /* Every li without class .disabled, including the first */
  background: red;
}

li:not(.disabled) ~ li:not(.disabled) {
  /* Revert above declarations for every such element after the first */
  background: none;
}
&#13;
<ul>
  <li class="disabled">disabled</li>
  <li class="disabled">disabled</li>
  <li class="not-disabled">not-disabled</li>
  <li class="disabled">disabled</li>
  <li class="disabled">disabled</li>
  <li class="disabled">disabled</li>
  <li class="disabled">disabled</li>
  <li class="not-disabled">not-disabled</li>
</ul>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

试试这段代码:

echo '<table class="box"  style="border: 1px">'
<div id="wrapper">
<tr>
<th>Zone</th>
<th>Rownumber</th>
</tr>";

    echo "<form action="selectsits.php" enctype=multipart/form-data method=post>";
while($record=mysql_fetch_array($availablesitsdata) )  {
echo '<tr>';
echo '<select name="cat_id">'.
'<option value="a">aa</option>'.
'<option value="b">bb</option>'.
      '</select>'.
    '</td>';
echo "<td>" . $record['Zone']  . "</td>";

echo"</tr>";
}
echo "</form>";
echo "</div>";
echo "</table>";