WordPress inserting "css" in to background image folder url - css

I have a recent WP install that is inserting /css/ in to the url of some background images. When it should be /theme/images/image.png, I get "/theme/css/images/images.png" in the browser inspector. I don't even have any folders in the css folder; the images folder is on the same level.
I have no idea where this is coming from. I've tried all possible url's (images/, ./images, and ../images) other than hardcoding it in, but I should need to do that.
This is a custom theme that's a child of the Whiteboard theme.
Any thoughts?

Paths specified inside a CSS style sheet are relative to that style sheet.
So most likely, you have a CSS file with
background-image: url("images/images.png")
style URLs in it.
The solution might be to change the URLs to
background-image: url("../images/images.png")

Is the theme using get_bloginfo('template_url') or something like get_bloginfo('stylesheet_directory') ? If the background image is being set in PHP somewhere, this could be the issue. More info: http://codex.wordpress.org/Function_Reference/get_bloginfo
If you're setting it in CSS, you might try a relative URL like Pekka suggests, or a root relative URL like /wp-content/themes/[theme name]/

Related

Image asset not loading in Ghost Blog

By default, the casper theme does not sport an images folder in its assets folder. I created one, and placed a PNG image inside.
Now, in screen.css I am building a header that uses a CSS style, that, in its turn, references the image:
background: url("../images/logo.png");
However, this always returns a 404 - both Chrome and Edge mention that the resource does not exist.
The blog itself is being continuously deployed from a GitHub repo to an Azure website. I restart the website every time I make changes to the CSS, but no variations seem to show the image.
Is there any way to force the assets/images folder to be included in the asset lookup?
One of the easy hacks you can do is adding inline style. Add background-image style in the .hbs file as inline style.
While giving image source use
<img src={{asset "images/logo.png"}}">
I'm petty sure this will work.
or you can just specify the absolute url of the image in the stylesheet
url('domain.com/images/logo.png')

I changed name of css containing folder now html page is not refering css files

I changed html code also by changing new directries of css files. How can I solve this matter. I want to add different html files with different css files in the same wamp server. That's why I changed css file folder name.
I want to know how to change css files and images containing folder names without affecting html file view.
It's relative to the stylesheet, but I recommend you to make the URLs relative to your URL:
div#header {
background-image: URL(/images/header-background.jpg);
}
you can move your files around without needing to refactor them in the future.

How to provide relative paths in CSS file in MVC3

I am working on changing themes dynamically in css files.
I have multiple css files and the images used in the css files are stored in
Content/themes/base/images/image.jpg
But i am not able to see the images
I searced other blogs and some one told me that they are relative the css files and images so i tried to change the default Css file that is Site.css
But i am also not able to view the image
Here is what i tried:
background-image:url('../../images/image.jpg');
Please help me...
you can use it like this: background-image:
url('/Content/themes/base/images/image.jpg'); - not relative

CSS background-image

Are there any common pitfalls to using this attribute? I can't seem to get it to work. The image is in the same directory as my HTML page and I checked the absolute path which is correct. I also tried setting the background to a random color to see if my div placement was off or something, but the color showed.
I used:
body{
background-image: url('url');
}
Try,
background:url(image.jpg). Notice, I'm not using background-image, and just background
Make sure the path of the image is correct and relative to the CSS file.
Make sure the filename of the image is correct. The filename, including the extension, can be case sensitive.
If the URL is absolute, there's very little that can go wrong. Try creating an <img> element with the src as the url you're trying to use. If that works, make sure you're specifying it correctly in the CSS. Since you didn't say exactly what you're putting in, it's kind of hard to judge.
The url specified inside url() is relative to the CSS file, so make sure your path to the image is relative to the css file.
e.g if your css file is in a folder, and your image in an images folder, and both folders are in the same parent directory, you would access the image in the css with the path ../images/file_name.png

How do I refer to an image resource from CSS in grails?

I want to refer to an image in my main stylesheet for a Grails app and I can't get it to work. My image lives in the standard location in my Grails app...
project\web-app\images\outbound-blue.png
In my stylesheet I want to use it as a background image for a class...
.messageimg {
height:17px;
width:16px;
background-image:url(images/outbound-blue.png);
background-repeat:no-repeat;
}
This doesn't work for some reason. My stylesheet is in the normal location too, i.e.
project\web-app\css\main.css
I get a missing image marker when I load the page in the browser. I have checked that I have no typos in names etc. I have also tried fiddling around with the virtual path in the url, but I can't figure out what I need to put in there to make this work in Grails.
I don't want to use GSP and insert an IMG tag into my code because I want to control the image through styles.
So, what am I doing wrong?
A more portable way to specify image locations is to use the resource() function:
.messageimg {
height:17px;
width:16px;
background-image:url('${resource(dir: "images", file: "outbound-blue.png")}');
background-repeat:no-repeat;
}
Try adding "../" at the beginning of the URI. For example:
../images/outbound-blue.png
The "../" at the start of the URI tells the browser to go up one level to the parent directory then look in the images directory. Currently you have it set up to look for a subdirectory called images in the directory containing stylesheets.
Be aware though. Using $resource{... does not work within a referenced .css file. You need to add a style element.
Typically you would reference a resource in a style sheet as a relative url. The url of your image should be relative to the CSS file's location. So ../images/outbound-blue.png from /appName/css/main.css will be referencing /appName/images/outbound-blue.png
If you are still having issues, You can debug this by using a tool like firebug to inspect the page and verify each step in your style.
Verify that:
The item that you think is being styled is picking up the styles.
The image that you are referencing can be accessed both manually, and via firebug.
The css file that you are loading isn't cached and is actually refreshed by the browser.
So the problem seemed to be that the browser was looking into
http://localhost:8080/<app-name>/assets/images/<background-image-name>
which seems correct but if you inspect other images on the page, they render from the path
http://localhost:8080/<app-name>/assets/background-image-name
So, just by excluding images in your path-name should fix the issue. However, this is just a work around which I am sure would have a better explaination and a solution. Cheers.

Resources