我有两套相同的html和css文件。其中一个我通过Rails的index.html.erb文件通过控制器加载所有这些,另一个我通过我的公共文件夹作为控件运行。公共index.html文件看起来很好:
但是当我在rails index.html.erb文件中运行这些完全相同的文件时,它看起来像这样:
您可能会注意到,在Rails版本中,BETA文本略低,显然导航列表低于我的标题元素。
我承认在css和rails上都有点新意,所以这可能是一个我不知道的已知问题。我试图寻找一些见解,但没有发现任何与此类似的问题。如果有人知道如何解决这个问题我会非常感激!
编辑:我将index.html和style.css文件包含在以下的pastebins中。它们很小,也许看看它们可以给你们一些见解。
HTML:http://pastebin.com/wyYEN92n
CSS:http://pastebin.com/60xMe9YG
编辑2:
在页面源中找到这两行:
<link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/home.css?body=1" media="all" rel="stylesheet" type="text/css" />
我认为可以安全地假设这些css文件中的某些内容导致了这种差异。我会调查并报告。
编辑3:
看起来这些css文件实际上都没有做任何事情。我在这个pastebin中包含了两者的内容:http://pastebin.com/pbHwEp4w
正如你所看到的,它只是评论的内容。然而,我注意到,页面源在同一文件中包含2个html标记。我也在粘贴它:http://pastebin.com/h4Rjqi4B
它是
<html>//rails generated stuff</html>
<html>//My stuff</html>
这会导致问题吗?
答案 0 :(得分:2)
CSS在浏览器中解释,而不是在服务器上,因此简单的答案是“不”。但是当你的样式被添加到Rails应用程序本身中包含的任何样式时,你的样式可能会有不同的解释,并且你的HTML可能在两者之间有点不同。检查Rails应用程序中包含的CSS并删除任何会对您的设计产生负面影响的内容 - 或者只是删除所有内容,确保您的CSS文件是整个代码库中唯一的文件。
答案 1 :(得分:2)
关于编辑#3:它看起来像来自app / views / layouts / application.html.erb中的默认布局。默认情况下,Rails将加载该文件并将视图中的所有内容放在&lt;%= yield%&gt;已指定。如果您的视图文件中有其他&lt; html&gt;,&lt; head&gt;等标记,则会重复这些标记。您可以了解有关布局here的更多信息。另外,请查看asset pipeline,了解如何在应用中构建CSS文件。
就像欧内斯特所说,Rails只是提供HTML / CSS文件,因此框架本身不会影响浏览器呈现内容的方式。但是,当然,将内容呈现给浏览器的订单确实很重要。
答案 2 :(得分:0)
解决此类问题的最简单方法:INSPECT。
使用浏览器的检查器检查哪些CSS规则影响给定元素。 所以,假设你使用谷歌浏览器,你可以: