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;
}