我目前正在开发Rails应用程序,并且能够将图像作为主页的背景。但是,我将代码放在主页css文件中,但它也应用于应用程序css文件。这导致图像成为应用程序中所有页面的背景。
在Rails 3.1+应用中,如何才能将背景图片显示在主页上?
我尝试将背景图片css块移动到另一个css文件,但它仍然适用于所有页面。
答案 0 :(得分:4)
为您想要的页面声明样式内联,如果您在CSS文件中声明并且您在多个文档中链接这些文件,那么显然它将采用相应元素的背景图像
假设它像index.html
<style>
body {
background-image: url('#');
}
</style>
或者只是声明一个类并在该特定页面上应用
.unique { /* In Your CSS File */
background-image: url('#');
}
<body class="unique"></body>
答案 1 :(得分:1)
仅在该页面的body标签上使用类名。为该类创建相应的CSS声明。
答案 2 :(得分:0)
我不确定这是否是最好的方法,但我通过制作两个应用程序布局解决了我的一个应用程序中的问题,一个用于主页(home_application.html.erb
),另一个用于所有应用程序布局其他页面(application.html.erb
)。在您的CSS文件中添加一个id标记:
#home {
background: url(example.jpg);
}
制作application.html.erb
:
<!DOCTYPE html>
<html>
<head>
header
</head>
<body>
stuff
</body>
</html>
制作home_application.html.erb
:
<body id="home">
stuff
</body>
然后在static_pages_controller
(或您用于主页的任何控制器)中放置:
def home
render 'layouts/home_application.html.erb'
end
这将通过仅更改<body>
标记的ID来呈现包含主页背景图像的布局以及所有其他页面的所有其他布局。