我想在一些将在页面上重复多次的标签中使用相同的 id,这样可以编辑代码而不必编写这么多的 css 行。
我想知道它是否会给我错误或者在html标签中写css更好。
caja que se repetirá <div id='caja'>--contenido--</div><style>#caja{background="#ff0000;"}</style>
或者如果它会给出这样的错误编程
<a style="background: #ff0000; color: #fff; padding: 10px;">hola</a>
这个想法是
id
它在页面级别是唯一的,如果多个元素共享id
HTML,则根据规范它是无效的。另一方面,浏览器通常可以容忍 HTML 错误并忽略id
重复的错误。如果你想这样做以共享 CSS,那么正确的方法是为元素分配相同
class
的内容:在 CSS 中:
请注意,它已更改
#
为.
,因此您选择 byclass
而不是id
该规范在以下方面非常清晰和有力
id
:尽管文档中没有可见的错误,但在代码的验证或操作级别上存在错误。我们可以在这个意义上谈论隐含的错误。
所以:
<a style="background: #ff0000; color: #fff; padding: 10px;">hola</a>
这是一种不好的做法。为什么?出于很多原因。想象一个有成百上千个页面的应用程序,其样式直接应用于元素。突然,页面或应用程序的所有者想要更改颜色,添加一些更符合秋季或夏季的颜色。我已经看到你翻阅数百或数千页以更改新颜色。正如一些人评论的那样,使用类并将样式应用于类要好得多。那样的话,如果有什么东西需要改变,你只改变一个地方,而不是一千个地方。不良做法的例子
假设你有这个,有一天老板告诉你蓝色的背景看起来更漂亮...... OMG,你现在要做什么来改变,你曾经认为红色是永恒的?
良好做法的例子
假设你有这个,有一天老板告诉你蓝色的背景看起来更漂亮,他想要更大的字体......如果你在中午之前这样做,你将获得多汁的奖励:)
让我们去奖励一下,现在是 11:58!
结论
id
永远独一无二class
需要时分组答案是YES,是的,你可以,因为 css 会寻找所有相同的标签
id
来应用 css,虽然这个选项根本不推荐,除了事实之外,这是一个坏主意和坏习惯使用 say go in 时会遇到几个问题javascript
。如果您需要同时更改多个标签,您应该使用 property
class
,这是更常见和好的做法,并且在使用 javascript 时为您节省了大量工作。我给你一个例子,这样你就可以看到这两个属性的功能。
是的,但不建议这样做,因为在使用 CSS 或 JS 并尝试获取元素时可能会发生混淆
id
,如果您认为需要 2 个或更多id
,那么您应该寻找另一个有效的选择器,例如推荐class
在 CSS 和 JS 中找到的内容而.
不是.#
id