我在我的rails应用程序中使用了background-image属性,我以前使用它,它非常简单并且一直有效,但不知道为什么它现在不工作
body{
padding: 0;
margin: 0;
background-image: url("../assets/mainbanner.jpg");
background-attachment:fixed;
background-size:cover;
font-family: 'Lato', sans-serif;
display:block;
}
答案 0 :(得分:1)
Rails的方法是使用Rails assets helpers来获取资产的正确路径。这还会在网址中添加缓存破坏片段,以避免过时的缓存资产出现问题。
它还允许您稍后切换到资产的内容交付网络(CDN),而无需处理CSS / JS和视图中的硬编码路径。
您可以通过两种方式执行此操作:
将文件的扩展名更改为.css.erb
body {
padding: 0;
margin: 0;
background-image: url("<%= asset_path('mainbanner.jpg') %>");
background-attachment: fixed;
background-size: cover;
font-family: 'Lato', sans-serif;
display: block;
}
使用扩展名.erb
会导致文件通过ERB解释程序发送。这与使用ERB在视图中创建HTML非常相似。
确保已安装sass-rails gem,并将文件扩展名更改为.scss
。
body {
padding: 0;
margin: 0;
background-image: url(asset_path('mainbanner.jpg'));
background-attachment: fixed;
background-size: cover;
font-family: 'Lato', sans-serif;
display: block;
}
SASS rails将Rails资产助手映射到SASS功能。然后,SASS编译器在编译样式表时插入正确的URL。
答案 1 :(得分:0)
Maku确保你在assets文件夹中有这个background.jpg。试试这段代码
background-image: url(/assets/background.jpg);
答案 2 :(得分:0)
将.css文件更改为.scss并尝试此
body{
padding: 0;
margin: 0;
background-image: url(asset_path('mainbanner.jpg'));
background-attachment:fixed;
background-size:cover;
font-family: 'Lato', sans-serif;
display:block;
}
答案 3 :(得分:0)
您可以这样做:
background-image: url('/assets/mainbanner.jpg');
答案 4 :(得分:0)
background-image: url('~images/shared/sign-page1.jpg');
为我制作了公开图片