很多人以为HTML和CSS就是搭积木,直到面试官开始追问细节。以下是八个常被忽略的基础考点,看完你可能要重新翻文档。

一、div与span的本质区别

打开网易新闻 查看精彩图片

div是块级容器,用来划分文档的大块区域;span是行内容器,标记文本片段。关键差异不在外观,而在默认的display属性——前者独占一行,后者跟随文本流。两者都靠class或id挂样式,但选择用谁,取决于你要包裹的是结构还是语义化的文本片段。

打开网易新闻 查看精彩图片

二、class的命名与调用规则

CSS里用点号前缀选中class,比如.write{}。一个元素可以挂多个class,空格分隔。但id是身份证,class是类别标签——这是面试常考的区分点。

三、id的三条硬约束

id名称区分大小写;至少一个字符;不能以数字开头;不能含空格或制表符。文档中id必须唯一,这是很多人写代码时随手打破的规则。

四、label的for属性给谁用

for属性关联input的id,让屏幕阅读器在输入框聚焦时朗读标签文本。这不是给开发者看的,是给视障用户的辅助技术用的。忽略它,你的表单在无障碍检测里会直接挂掉。

五、name属性的真正场景

打开网易新闻 查看精彩图片

name不是给CSS用的,是表单提交时的数据键名。没有name,后端收不到这个字段的值。这是前端新手最容易混淆name和id的地方。

六、GET与POST的边界

用外卖App举例:浏览菜单是GET,参数拼在URL里;下单支付是POST,数据放在请求体。GET有长度限制且暴露参数,POST适合敏感或大量数据的传输。

七、value与readonly的隐藏行为

value给输入框预设初始值。readonly锁住用户编辑,但表单提交时这个值照样发往后端。disabled则是完全禁用,数据不会进入提交队列。一字之差,行为天差地别。

这八条没有一条涉及框架或工程化,但面试卡人往往就卡在这里。基础不牢,地动山摇。