用 ul 更合理,因其语义明确表达并列链接关系,利于 seo、屏幕阅读器识别及 css 精准控制;div 堆砌无语义且难以维护。

友情链接栏用 ul 还是 div?
用 ul 更合理。语义上,友情链接是一组并列的导航链接,ul 天然表达“无序列表”,对 SEO 和屏幕阅读器更友好;而纯 div 堆砌容易被识别为无关内容。
常见错误是写成:
<div class="links"> <a href="...">站点A</a><a href="...">站点B</a> </div>这样既没语义,也没法用 CSS 的
li 伪类做 hover 或焦点状态控制。
- 必须包裹在
nav或带role="navigation"的容器里(提升可访问性) - 每个链接用
li包裹,不要省略li直接把a放进ul - 避免给
a加target="_blank"后不加rel="noopener"(安全漏洞)
横向排列时 display: flex 和 inline-block 怎么选?
优先用 display: flex。它天然支持等宽、居中、换行控制,且不用处理 inline-block 的空白符问题(即 HTML 换行产生的 4px 间隙)。
典型错误写法:
li { display: inline-block; }<br>a { margin-right: 10px; }结果发现链接间距不一致——那是因为 HTML 中 li 标签间的换行被渲染为空格。
-
flex-wrap: wrap能让链接在小屏自动折行,比媒体查询更轻量 - 用
justify-content: center居中比靠text-align: center更可靠(后者依赖父容器宽度) - 如果要兼容 IE10/11,需加
-ms-flex-pack: center和flex: 0 0 auto避免子项被压缩
如何防止友情链接影响页面加载性能?
友情链接本身不重,但大量外链可能触发预加载或 DNS 查询,拖慢首屏。关键是控制资源请求,而非删链接。
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
常见疏忽:
<a href="https://example.com" rel="noopener">Example</a>看似规范,但如果目标站响应慢或挂了,浏览器仍会尝试建立连接(尤其有
prefetch 或 dns-prefetch 时)。
- 去掉所有
<link rel="dns-prefetch">对友情链接域名的声明(除非你明确管理这些站点) - 避免在
里写<link rel="prefetch" href="...">指向友链地址 - 如果友情链接超过 10 个,考虑用 JS 懒加载:首次滚动到底部再插入 DOM(用
IntersectionObserver)
移动端适配时最常漏掉的细节
不是加 @media 就完事。真正容易崩的是点击区域和视觉密度。
错误示例:
@media (max-width: 768px) {<br> .links li { width: 50%; }<br>}结果在 iPhone 上点不中链接——因为 a 默认 padding 太小,触控热区不足 44×44px。
- 给
a设min-height: 44px和display: flex+align-items: center确保可点区域达标 - 用
font-size: 14px而非12px,iOS Safari 对小于 14px 的文本会强制放大,导致布局跳动 - 避免用
float做多列,它在 flex 容器里行为不可控,且清除浮动容易引发重排
友情链接栏真正的难点不在排版,而在长期维护:链接失效、目标站改版导致 referrer 被拒、HTTPS 混合内容警告……这些都得靠定期巡检脚本,而不是一次写完就不管。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










