2026-07-25

这周第一个学习的就是盒子模型。说它是CSS的基石一点不为过。之前写页面的时候,总是搞不清楚一个元素到底占多宽——明明内容只有一点点,为什么撑出来的尺寸和预期不一样?学完content、padding、border、margin之间的关系之后才明白,问题出在默认的`box-sizing: content-box`上。后来统一改成`border-box`,布局一下子就好控制了很多。再加上昨天帮同学排查的一个bug,也是因为类名写错了导致样式没生效,更加深了对细节的重视。

精灵技术的思路其实不复杂:把多张小图标合并成一张大图,通过`background-position`来定位显示。好处显而易见——减少HTTP请求次数,提升页面加载速度。实际操作的时候,定位坐标需要反复调试,稍不注意图标就偏了。我用小米商城的侧边栏图标练了练手,虽然调坐标花了不少时间,但最终跑通的时候还是挺有成就感的。

display这周重点理解了`block`、`inline`、`inline-block`三者的区别。以前只知道`div`是块级、`span`是行内,但什么时候该用`inline-block`,什么时候该靠浮动来解决,脑子里一直是模糊的。这周通过几个小练习把边界理清了:`inline-block`能在一行排列的同时设置宽高,适合做一些简单的水平排列,但元素间的空白间隙问题让人头疼,后来用负margin和父级`font-size: 0`两种方式分别解决了。

浮动是本周花时间最多的一块。`float`最初的设计目的是实现文字环绕图片的效果,后来被大量用于布局。但浮动带来的高度塌陷问题确实让人头大。我重点练习了三种清除浮动的方法:父级`overflow: hidden`、伪元素`::after`清除法、以及额外标签法。目前用得最顺手的是伪元素法,代码干净,也不会产生副作用。

下周准备学习弹性盒子布局Flexbox。据说Flexbox能大幅简化之前靠浮动和定位才能实现的布局方式,期待学完之后能重构这周写的一些练习页面。另外,下周还会穿插一些**实战项目**,争取把前面零散的知识点串起来,在真实场景中练手。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • CSS 面试题汇总 1. 介绍下 BFC 及其应用 参考答案:参考答案:所谓 BFC,指的是一个独立的布局环境,...
    5cc9c8608284阅读 901评论 0 1
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 29,181评论 1 45
  • 本章节是前端开发者面试问题 - CSS 部分的参考答案。 欢迎提出 PR 进行建议和指正! CSS 选择器的优先级...
    程序猿天璇阅读 1,111评论 0 14
  • 本文主要讲述页面布局样式方面涉及的知识点,更全面的对CSS相应的技术进行归类、整理、说明,没有特别详细的技术要点说...
    Joel_zh阅读 1,307评论 0 1
  • 1.实现不使用 border 画出 1px 高的线,在不同浏览器的标准模式与兼容模式下都能保持一致的效果。 2.介...
    蒙面超人zrh阅读 467评论 0 1

友情链接更多精彩内容