Html 避免在同一页面上重复css ID的解决方案

Html 避免在同一页面上重复css ID的解决方案,html,css,w3c-validation,Html,Css,W3c Validation,我正在创建一个演示页面,在同一页面上显示一些可能的cms系统消息错误、通知等。。我已经创建了一个php函数来输出系统消息的整个div,方法与cms完全相同,因此html输出使用当前样式模板的相同css样式,因此我可以在同一页面上显示5条不同的消息,一条在另一条下面 问题是,当这些由php函数生成时,所有div id都会重复,当我尝试验证页面时,我当然会得到: 重复ID系统消息 一种解决方案是在css的每一行添加一个自定义类,然后使用该类而不是原始ID。比如: #system-message, .

我正在创建一个演示页面,在同一页面上显示一些可能的cms系统消息错误、通知等。。我已经创建了一个php函数来输出系统消息的整个div,方法与cms完全相同,因此html输出使用当前样式模板的相同css样式,因此我可以在同一页面上显示5条不同的消息,一条在另一条下面

问题是,当这些由php函数生成时,所有div id都会重复,当我尝试验证页面时,我当然会得到:

重复ID系统消息

一种解决方案是在css的每一行添加一个自定义类,然后使用该类而不是原始ID。比如:

#system-message,
.system-message-custom
{….}

#system-message ul,
.system-message-custom ul
{….}

#system-message div div p,
.system-message-custom div div p
{….}
…但我觉得这并不明智,因为如果我将cms模板更改为没有添加自定义类的模板,那么整个过程将无法运行

这个问题可能很有趣,但是,有没有办法将系统消息复制到.system message custom并完成它?我看过一些sass的例子,但我不确定它是否可以实现,实际上我从未尝试过sass


你会怎么做?也许忽略验证?使用javascript实现这一点的想法不会让我这么高兴。我希望我被理解了,没有把你弄糊涂。感谢您的帮助。

如果只是为了演示,而不是CMS系统的功能,一次显示多个系统消息,那么我现在就把验证放在一边。您已经知道解决方案了。您说过php函数会生成具有重复id名称的所有div。因此,进入php函数并更改id的命名方式。@ChrisB感谢您的帮助,是的,它用于在web上显示模板样式。这个脚本确实只用于此目的,但我讨厌看到验证仅仅因为这个就删除了11个错误和22个警告。我也不确定这是否会影响搜索引擎优化。@SvenBieder也谢谢兄弟,我可以编辑函数是的,但必须编辑每个模板css并添加所有这些行。@durduvakis当你使用的cms系统从一开始就计划得很糟糕时,最后会有更多的工作要做。这是每个项目的事实。如果您想在将来真正使用它,在演示之后,您最好编写一些高质量的代码,而不是快速而肮脏的解决方法。