CSS
CSS也常被叫作:层叠样式表样式表网页化妆网页样式
「网页的化妆师。告诉我哪里要居中、要不要留白、字多大、什么颜色,都归它管。」
CSS CSS
负责网页「长什么样」的样式语言,控制颜色、间距、字体、布局这些视觉细节。
CSS 管网页的长相,跟内容无关。同一个页面结构,套上不同的 CSS 就能长得完全不一样:字多大、背景什么颜色、两段之间留多少空隙、一排放几个卡片。HTML 回答「这里是什么」,CSS 回答「它长什么样、摆在哪」。
它的名字里有「层叠」两个字,意思是多条规则可能同时生效,按谁更具体、谁更靠后来决定最终效果。这就是为什么改样式有时会「改了没生效」——不是没改,是另一条规则优先级更高,把它盖掉了。遇到这种问题,别急着加更多规则去硬顶,先找出是哪条规则在打架。
对用 AI 的人来说,CSS 的核心坑不是不会写,而是改不动。你让 AI「把这个按钮改红」,它改了但页面没变,多半是:改错了文件、缓存没刷新、或者那条规则被更具体的规则盖住。能自己验证「到底有没有生效」,比看懂 CSS 语法重要得多。
长什么样 真实可交互,不是截图
同一份骨架,不同样式
这些按钮结构完全一样,只是套了不同 class 的样式——这正说明样式和结构是两套东西,可以分开改。
拆开看,里面有这几块
-
1
选择器 Selector
说「我要给谁上样式」,比如给所有按钮、还是给某个特定按钮。
-
2
属性 Property
具体改什么,如
color(文字颜色)、font-size(字号)、margin(外边距)。 -
3
值 Value
属性设成什么,如颜色
red、字号16px。 -
4
优先级 Specificity
多条规则冲突时谁赢。规则越具体、越靠后,越可能胜出。这是「改了没生效」的元凶。
常见的有哪几种
直接写在一个标签的属性里,作用最局部,也最难复用。
用在:临时调一个元素
单独一个文件管全站,一处改全站生效。
用在:大部分项目
样式跟着组件走,改 A 组件不牵连 B 组件。
用在:组件化前端框架
容易搞混?这样区分
暗色模式是一套具体的 CSS 做法(给页面提供深浅两套配色并切换)。CSS 是承载它的能力。别把「想加暗色模式」说成「帮我把 CSS 改好」。
看 主题 / 暗色模式CSS 管静态长相;JavaScript 管动态行为(比如点按钮后样式才变)。「一进页面就长这样」是 CSS,「点了才变」通常需要 JS。
看 JavaScript什么时候用得上
「把标题居中、卡片留点白、主按钮换成你们的品牌色」——全是指向 CSS 的需求。
改完没变样时,用开发者工具看实际生效的是哪条规则、是谁盖掉了你的。
你可以这样跟 AI 说
直接复制下面这段,把【】里的换成你的情况。它比一句「帮我加个 X」多说清楚了:改哪里、不许动啥、做完交什么。
【任务】帮我调整 [页面/组件] 的样式 【具体改动】把主按钮的背景改成品牌色 [#1A73E8],标题字体加大到 28px 并居中,卡片之间加 16px 间距 【要求】 - 样式写在样式表文件里,不要用页内 style 一个个写 - 用组件 class 做选择器,不要全用 `!important` 硬顶 - 改动后告诉我具体改了哪个文件、哪个选择器 【边界】不要改任何 HTML 结构和内容,不要动 JavaScript 逻辑 【交付】 1. 改了哪些文件、哪些选择器 2. 我怎么刷新能看到效果(要不要清缓存) 3. 如果你没在某处实际验证,明确说哪部分没验证
「不要全用 !important」很关键:!important 是 CSS 里的强制盖规则,AI 用它能把样式改出来,但会留下永远压不掉的烂摊子。要求它用正常优先级改,才能看出它真懂还是靠蛮力。
它说「做好了」,你怎么自己验
这是本站的重头戏。AI 最会的不是写代码,是说「已完成」。这一条,它通常最多做到「主路径」这层:真实用户的正常操作能走通,不靠特殊参数。
要亲眼看到这些,才算数
- 刷新页面后,主按钮确实是品牌色,和你要的一致(别只看截图,看真实页面)。
- 标题字号、居中、卡片间距都和需求对得上。
- 打开开发者工具,点那个按钮,确认生效的是你说的那条规则,而不是一条
!important或者来源不明的旧规则。 - 强制刷新一次(Ctrl+F5 / Cmd+Shift+R)确认不是缓存假象,新样式才真正生效。
- 改了样式后页面布局没有破:没有重叠、被截断、跑到屏幕外。
它常这么糊弄你
- 「样式已改好」——但刷新后页面没变,可能是缓存,也可能是它改错了文件。先强制刷新再下结论。
- 「我加了 !important」——样式确实变了,但这等于用暴力压住了另一条规则,下次想改回来会很难。
- 「布局看起来差不多」——它只改了字和颜色,没检查窄屏下会不会挤破。样式问题一半出在窄屏。
- 「按你说的改成红色了」——结果它顺手把一堆无关元素也改成红色,你没发现。
样式能验到「主路径」层:真实页面刷新、亲自核对每个改动、用开发者工具看生效规则。这些都能亲手做,不需要懂全部 CSS 语法。
考考你 选一个你觉得对的
让 AI 把按钮改红,刷新后没变。最可能的原因和正确的下一步是?
样式没生效最常是两个原因:缓存没清、或优先级被别的规则盖住。先用开发者工具看真实生效规则,是对的第一步。D 的 !important 是最后手段,不该一上来就用。