-
-
Notifications
You must be signed in to change notification settings - Fork 6.3k
CSS background images not working #48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Use relative paths if you can. Paths without ./ are treated as root paths. |
Tried that as well but does not make any difference... Here's how I am trying to do it with my app.vue
|
Tested and it's working for me. Please provide a reproduction repo. |
Hi. It is working, looks like I am having some problems when I have added support for Stylus... I will try to figure it out what is happening. One question though... do I have to use file paths inside vue files relative to that file or always start from ./assets/img? For example if my structure is like this:
So when referencing bg.jpg inside a CSS in login.vue should I reference it like:
or
Thanks for helping. |
The latter - always relative to the file you are editing. |
我也遇到类似的问题。 当CSS 背景图片URL是写在相应div的class里 如background-image: url('../assets/images/1.png'),该背景图片会显示,但是如果该URL写在对应div的style属性内,该图片不会显示。不知道我的配置文件要做什么样的修改 |
请问 放在template中的图片路径应该怎么设置呢? |
just do next background: url(~assets/img/m/bg-header.jpg); |
放在template中的图片,打包出来以后,会发现路径错误~ 应该和webpack打包有关系,vue-cli 2.0 有地方可以修改配置,但是vue-cli 3.0 怎么修改呢? |
This works perfect, thanks |
vue-cli3中,这样修改好麻烦啊,,还有别的办法没? chainWebpack: config => {
config.module
.rule('images')
.use('url-loader')
.tap(options => {
return merge(options, {
publicPath: '//id.jd.com/www/3c-medal/babel/',
limit: 3000
})
})
config.module
.rule('svg')
.use('file-loader')
.tap(options => ((options.publicPath = '//id.jd.com/www/3c-medal/babel/'), options))
} |
i do something like this: $assets: '~@/assets/';
html {
background: url( $assets + '/path.jpeg') no-repeat center center fixed;
} |
@saloev, I think it looks even better like this: @function asset($path) {
@return url("~@/assets/#{$path}");
}
html {
background: asset('path.jpeg') no-repeat center center fixed;
} Following this tutorial, I was able to put this function and other variables in an implicitly loaded file // vue.config.js
css: {
loaderOptions: {
sass: {
data: "@import '@/assets/variables.scss';"
}
}
} |
@yyx990803 Is there a reason why @SeanRParker solution is not documented? Or maybe I have missed it? |
I use ~@assets and it's show
|
@oivinds the doc of css-loader explains some about @NullYing If you confirm it's bug of CLI, you can open a new issue and provide a reproducible repo |
If I add background-image: url('some-image.jpg') CSS property to some element it does now show up in my app inside browser... Any idea why?
The text was updated successfully, but these errors were encountered: