You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Tailwind CSS为Eleventy/Nunjucks列表首尾项设样式失效问题

问题原因

你的HTML结构不符合规范:<ul>的直接子元素必须是<li>,但你把<a>放在了<li>外面,导致<ul>的子元素变成了<a>标签。此时每个<li>都是其父元素<a>的唯一子元素,所以first:bg-red-300和last:bg-cyan-300会匹配所有<li>(因为每个<li>都是自己父级的第一个也是最后一个子元素)。

解决方法

调整结构,把<a>标签放到<li>内部,确保<ul>的直接子元素是<li>,这样Tailwind的first:和last:伪类就能正确识别列表的首尾项:

<ul role="list" class="">
  {% for contact in contacts %}
    <li class="px-4 py-4 sm:px-6 hover:bg-orange-300 border border-gray-300 text-center bg-gray-100 first:bg-red-300 last:bg-cyan-300">
      <a rel="me" class="block w-full" href="{{ contact.link }}">
        {{ contact.service }}: <span class="font-semibold">{{ contact.userid }}</span>
      </a>
    </li>
  {% endfor %}
</ul>

额外说明:给内部的<a>加上block w-full类,确保整个列表项区域都能被点击,避免只有文字区域可点击的问题。

内容的提问来源于stack exchange,提问作者Dan Sinker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 19:10:28