【问题标题】:Scrambling HTML / CSS issue seems unexplainable乱码 HTML / CSS 问题似乎无法解释
【发布时间】:2011-05-31 15:24:49
【问题描述】:

我最近将一个 Rails 应用程序切换到了新服务器。出于某种原因,搜索结果有时会被打乱。它们看起来像这样:

但它们应该是这样的:

当我签入 firebug 时,似乎包装器 div 没有被正确解析,因此不是用 <a> 标记包装的一堆节点,而是集合中的节点。

这发生在 chrome 和 firefox、windows 和 linux 以及不同的计算机上。似乎没有任何 CSS 或 HTML 验证错误。我在本地开发服务器上没有问题,只是在生产中。

奇怪的是,当我在 Firefox 中查看有问题的页面时,单击View > Source,将 HTML 复制到空白文档中,然后打开它,结果看起来还不错。如果我只是用curl 获取页面,我似乎也没有这个问题。

可通过http://50.57.76.99 访问该网站。您可能需要进行几次搜索才能获得有问题的结果。有任何想法吗?我完全感到困惑!

【问题讨论】:

  • 我无法从不同的操作系统和浏览器重复您的错误。您是否在网络上使用某种代理?
  • 无法在 FF 中复制它。但从屏幕上看,您似乎没有正确清除浮动。
  • 我要说的一件事是,用于在每个主列表中包装所有这些信息的主 [a] 锚元素是一个内联元素,因此不应该真的用于包装所有这些 [div](块级元素)。我意识到这不一定是您的问题的答案,但也许优化它以使锚点仅包含适当的元素,例如 img、strong、em span 等。可能会很好地帮助这种情况,让您看到树木的木材。
  • 您能否发布用于生成和显示搜索结果的 Ruby 代码?这可能是解决您问题的关键。此外,这可能与您从数据库中提取并显示在页面上的数据有关(它肯定会按预期通过)吗?因为有些搜索会导致页面几乎在每次刷新时都被破坏。
  • 看上面的图片,看起来其中一个属性图块(第 4 个)已经失去了它的样式,因此弄乱了整个布局。没有样式的列表有什么特别之处吗?

标签: html ruby-on-rails css nginx


【解决方案1】:

我已经设法避免了这个问题。

如果我不将整个项目包装成<a> 标签,问题就会消失。显然我宁愿让整个项目成为一个链接,但现在只是图像还可以。我认为另一种解决方案是按照建议将<div> 标签替换为<span> 标签,但这个快速修复似乎效果很好。

虽然看起来仍然很奇怪,因为它在中断时似乎是任意的。感谢您的帮助!

【讨论】:

  • 如果您希望整个列表可点击,请尝试将a 更改为display:block;,然后将div 包装起来,或者通过jsjquery 附加事件。
猜你喜欢
  • 2016-03-12
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-21
  • 2015-02-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多