html的class属性怎么用

说实话,刚开始接触前端的时候,我对HTML的class属性真是又爱又恨。
我喜欢的是它简单直接,但我讨厌的是如果以后使用不当,代码会变得混乱。

我们看一下我之前做过的一个电商项目。
当时产品经理突然要求所有的“home按钮”都是蓝底白字,所以我就随便给他们加了一个.btn--primary类。
结果一个月后,功能想要改变功能页面,让二级按钮变成这样。
当你看到 .btn--primary 无处不在时,没有办法改变它。
结果一夜之间我就改了名字,还差点被老板骂了。

有趣的是,我还发现BEM的名字在开头重复了。
例如,.btn__primary——使用大按钮就像绕口令。
但使用 .btn__primary--large { font-size: 1 .2 em; 后在CSS中,类结构就像目录一样清晰。
记得有一次,我在深夜调试。
只需查看类名就可以立即理解这一点,这比猜测代码注释要好得多。

我记得一件特别的事情。
颜色类名称,例如 .red 和 .blue有个老项目,用了后来一个新同事想把红色信号箱的边框改一下,但是改了反复,把其他红色元素都改了。
测试过程中发现,花了两天时间才发现问题,故障日志长达半页左右。
我自己从未这样做过,但我从资深同事那里听说,重建该项目将是一场噩梦。

事实上,class属性最好的一点就是它的灵活性。
例如,我过去使用过动态突出显示交互。
当用户将鼠标移动到产品图像上时;不要更改整个图像的颜色,而是添加 :hover--glow 类并编写 CSS: .product:hover--glow { box-shadow: 0 0 1 0px gold;使用起来非常直观;比 write:hover { / 各种增亮 / } 更清晰。

但如果说这是一个陷阱,那就是对阶级的滥用,不是吗?同学喜欢将类作为数据容器,例如
后来,当他想改变字体效果时;你必须去数据库检查用户ID是否与类名匹配。
那为什么要用类来存储数据呢?我不明白。
现在想来,数据属性真是天才。

现在在编写代码时,会刻意避免深度嵌套的类名。
例如,以前,导航菜单被写为 .header__nav__link,但现在更喜欢像 .header-link 这样的扁平结构。
我记得CSS性能测试数据显示,选择器级别的每个深度,解析速度都会下降约3 0%。
虽然不是特别夸张。
这可以通过几个类名来解决;根本就没有更多。

那么班级就像一把瑞士军刀。
如果你能很好地使用它,它会给你带来很大的帮助。
但如果用不好的话……我的瑞士军刀还有一个不小心割破的缺口。

html中class的定义 html中class属性的声明方法

等等,我昨天编码时发生了一些事情。
有一个按钮元素需要同时使用“btn”和“btn-primary”类名。
结果我忘了加一个空格来分隔它们,导致CSS样式根本没有任何效果。
当时我就想如果能够用JavaScript来动态操作类名就好了。

在咖啡馆的窗口输入代码时。
检查浏览器控制台中的错误消息。
我找到了classList.add方法报的错误,但是具体的错误原因需要更详细的日志。
我记得当我输入代码 document.querySelector('.btn-primary').classList.add('active') 时,页面没有响应。
直到我添加了 console.log() ,我才发现问题出在 DOM 选择上。

去年团队改造项目时,提醒我前台有一个女孩因为类名不标准而导致CSS样式冲突。
特别是,她在按钮元素上写了两个类名“btn Primary”,中间没有空格。
结果,浏览器将“btn Primary”视为类名,并且没有看到任何样式规则。
解决这个问题的过程花了下午大约2 个小时。
最后,使用正则表达式来搜索所有此类命名问题。

现在我有了我的我再次打开代码编辑器,突然想到了另一个问题。
如果类名特别长怎么办?例如,“btn--large--primary”在维护这样的类名时会遇到麻烦吗?记得有一次在导入代码时,Git导入信息因为类名太长而被自动截断。
结果,我的队友误读了要求,将按钮放大了1 0倍...
在我的笔记本电脑键盘上打字时,我发现键盘上的Caps Lock键有点松动。
说到class属性,这是一个非常实用的东西。
上次做响应式设计时,我发现通过移动“visible-mobile”类名可以在小屏幕上隐藏一些元素。
单独的实现使用 window.matchMedia('(max-width: 7 6 8 px)') 方法。
代码量很少,但是效果很直观。

等等,还有一个。
在 CSS 中使用类名时;请注意句号前不要添加空格。
有一次,当我编写 .css 文件时,我不小心在季节之前添加了一个空格。
结果,浏览器可能根本无法识别类名。
我在公司楼下的星巴克查了信息。
我记得在喝完咖啡之前点了一杯拿铁。

现在下午 3 :4 5 阳光透过百叶窗照射进来,在桌子上投射出光影。
我突然想到,班级属性是不是和年龄类似?有时类名意味着很多,但细节取决于上下文......