📚前端面试题速记
Q37

只给 li 之间加右边框,最后一个不加怎么写?

速记答案(30 秒)

li:not(:last-child) { border-right: 1px solid #eee; }。或者 li + li { border-left: 1px solid #eee; }。

📖 详细讲解

标准面试回答(推荐记住)

这道题考察选择器的使用。最直接的写法是用 :not(:last-child) 伪类,li:not(:last-child) { border-right: 1px solid #eee; },意思是选中所有不是最后一个的 li,给它们加右边框。另一种思路是用相邻兄弟选择器,li + li { border-left: 1px solid #eee; },意思是选中紧跟在 li 后面的 li,给它们加左边框,效果相同但思路相反。

面试要点

  • :not 排除选择器
  • :last-child 最后一个
  • + 相邻兄弟选择器

💻 代码示例

li 边框
/* 方法一::not(:last-child) */
li:not(:last-child) {
  border-right: 1px solid #eee;
}

/* 方法二:相邻兄弟选择器 */
li + li {
  border-left: 1px solid #eee;
}