作为前端开发者,我们每天都在写 HTML、CSS 和 JavaScript。但你知道吗?一些小小的技巧就能让代码更简洁、性能更好。今天分享 3 个我常用的实战技巧。
## 技巧一:CSS 容器查询,比媒体查询更灵活
媒体查询大家都熟,但容器查询(Container Queries)才是响应式布局的未来。它让组件根据自身容器大小响应,而不是视口。
“`css
/* 定义容器 */
.card-container {
container-type: inline-size;
}
/* 根据容器宽度调整布局 */
@container (min-width: 400px) {
.card {
flex-direction: row;
}
.card img {
width: 200px;
}
}
@container (min-width: 600px) {
.card {
padding: 2rem;
}
}
“`
**实操步骤:**
1. 给父容器添加 container-type: inline-size
2. 用 @container 替代 @media
3. 组件复用性大幅提升
## 技巧二:JavaScript 防抖节流,优化性能
表单搜索、窗口 resize 等高频事件,必须加防抖节流。
“`javascript
// 防抖:事件停止 N 毫秒后才执行
function debounce(fn, delay = 300) {
let timer = null;
return function(…args) {
clearTimeout(timer);
timer = setTimeout(() => fn.apply(this, args), delay);
};
}
// 节流:N 毫秒内只执行一次
function throttle(fn, limit = 300) {
let inThrottle = false;
return function(…args) {
if (!inThrottle) {
fn.apply(this, args);
inThrottle = true;
setTimeout(() => inThrottle = false, limit);
}
};
}
// 使用示例
searchInput.addEventListener(“input”,
debounce((e) => fetchSearchResults(e.target.value), 500)
);
window.addEventListener(“resize”,
throttle(() => recalculateLayout(), 200)
);
“`
## 技巧三:HTML 语义化标签,SEO 和无障碍双赢
别再用一堆 div 了!语义化标签让代码可读、SEO 友好、屏幕阅读器友好。
“`html
文章标题
小标题
内容…
“`
**好处:**
– 搜索引擎更容易理解页面结构
– 无障碍设备能正确导航
– 代码可读性提升,团队协作更顺畅
—
## 总结
这 3 个技巧看似简单,但能显著提升代码质量:
1. **容器查询**:让组件真正可复用
2. **防抖节流**:性能优化必备
3. **语义化标签**:SEO 和无障碍基础
前端开发不只是把页面做出来,更要写得优雅、高效。希望这些技巧能帮到你!
**互动话题:** 你有哪些私藏的前端技巧?欢迎在评论区分享~