【问题标题】:CSS Forbidden ID and Class NamesCSS 禁止的 ID 和类名
【发布时间】:2011-11-10 03:41:50
【问题描述】:

我正在对我正在开发的网站进行最后的润色,并正在检查和清理代码...删除不必要的标记、重命名元素以更好地描述它们的功能等...

由于某种原因,我的页面布局在 IE6 中被破坏了。 IE6 仍然是公司计算机上的主要浏览器。在浪费了很多时间之后,我终于确定了问题的根源。

我将包含页面主要内容的 DIV 元素重命名为“内容”。出于某种原因,IE 不理解这一点,我不知道为什么。

是否有某些词不允许用作 ID 或类名?如果是,它们是什么以及哪些浏览器受到影响?

【问题讨论】:

  • "IE6 仍然是公司计算机上的主要浏览器。"对不起。对贵公司的各种升级有任何负担吗?不一定是现在,但越早越好。
  • content 绝对没问题,完整列表请参阅this question 的答案
  • 您的意思是您将<div> 改名为<content><div id="blah"> 改名为<div id="content">
  • >我的页面布局在 IE6 中损坏了。停止阅读那里。
  • @SharpBarb:很高兴听到这个消息!

标签: html css internet-explorer


【解决方案1】:

请确保在网站的其他任何地方都没有其他名为“内容”的 ID。 拥有 2 个具有相同 ID 的对象(在本例中为“内容”)将使 CSS 失败。

记得检查您的 CSS 是否也更改了 ID! :)

【讨论】:

  • 没有其他 ID 具有名称“内容”。我认为这个问题可能会出现,因为它们是一个名为“content”的 CSS 属性。
  • 我在我自己的所有网站上使用内容都没有问题,所以我敢打赌,问题出在 CSS 某处:)
  • 尝试在您的文件中搜索旧的 ID 名称,看看是否有损坏的 ID 链接导致页面缺陷..
  • 你在IE6中看过吗?在 FF 中使用“内容”作为 ID 效果很好。这只是IE6中的一个问题。我没有检查任何其他版本的 IE。
【解决方案2】:

对于 ID,according to the W3C

ID 和 NAME 标记必须以字母 ([A-Za-z]) 开头,后跟任意数量的字母、数字 ([0-9])、连字符 ("-")、下划线 (" _")、冒号 (":") 和句点 (".")。

不言而喻,两个元素在 DOM 中不能具有相同的 ID。

对于 CSS 类名,请查看at this StackOverflow answer

【讨论】:

  • 我知道某些字符和重复是不允许的,但我不知道是否有任何特定的单词被禁止。
【解决方案3】:

我将包含页面主要内容的DIV元素重命名为“内容”

如果这意味着 <div id="badnameforcontent"> 变为 <div id="content"> 那么 可能导致之前的 id "badnameforcontent" 的样式丢失了,请检查您的 CSS 中的原始名称并将其更新为 #content

【讨论】:

  • 这不是问题所在。当我更新 HTML 时,我相应地更新了 CSS。
猜你喜欢
  • 2011-03-16
  • 1970-01-01
  • 2012-07-11
  • 1970-01-01
  • 2014-11-04
  • 2016-08-11
  • 1970-01-01
  • 2020-07-24
  • 2020-07-01
相关资源
最近更新 更多