优先用,除非需跳转到新页面或触发导航;内嵌更可控、可访问,须设width/height和alt,图文对齐推荐flex+gap,图标首选svg并用em单位适配缩放。

按钮里放图片和文字,用 <button></button> 还是 <a></a>?
优先用 <button></button>,除非它需要跳转到新页面或触发导航。用 <a></a> 模拟按钮容易忽略键盘焦点、role 和语义,尤其在屏幕阅读器下会误读为链接。如果必须用 <a></a>(比如要支持右键“在新标签页打开”),得手动加 role="button"、tabindex="0" 和 Enter/Space 键响应逻辑。
background-image vs <img>:哪个更适合混排?
用内联 <img> 更可控、可访问、易对齐。背景图无法被屏幕阅读器识别,也不能设置 alt,缩放或高对比度模式下还可能消失。常见错误是把图标当背景塞进按钮,结果图标不读、不放大、点击热区错位。
推荐写法:
<button type="button"> @@##@@ <span>搜索</span> </button>
注意:width/height 必须显式声明,否则图片加载中会引发布局抖动;alt 不能为空(除非是纯装饰性图标,此时用 alt="" 并确保父元素有完整描述)。
图文对齐总不对齐?检查这几个 CSS 关键点
默认情况下 <img src="icon-search.svg" alt="搜索" style="max-width:90%" style="max-width:90%"> 是 inline 元素,基线对齐导致文字下沉——这是最常被忽略的根源。
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
- 给
<img>加vertical-align: middle或vertical-align: bottom - 避免用
float布局,改用display: flex更稳:
button {
display: flex;
align-items: center;
gap: 8px; /* 推荐替代 margin */
}
gap 比 margin 更可靠,不会因换行或隐藏元素引发意外空白;若需兼容老浏览器(IE),可用 flex: 0 0 auto 控制图标尺寸,防止拉伸。
响应式缩放时图标糊了或文字溢出怎么办?
SVG 图标是首选,它天然矢量、可缩放、体积小。PNG/JPG 在 transform: scale() 或高 DPR 屏幕下必然模糊。文字溢出则多因容器未设 white-space: nowrap 或 overflow: hidden,但更关键的是别让按钮宽度由内容撑开——应主动限制最大宽度,并用 text-overflow: ellipsis。
示例:
button {
max-width: 200px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
button img {
height: 1em; /* 随字体大小缩放 */
width: 1em;
}
用 em 单位让图标随按钮字号变化,比固定像素更适应缩放和用户偏好设置。别忘了测试系统字体放大 200% 后是否仍可操作——很多“混排按钮”在这里直接失效。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










