Classpath-relative URLs in CSS
david.grieve at oracle.com
Thu May 31 10:54:06 PDT 2012
URLs in a stylesheet are relative to the stylesheet itself. This is per W3C standard.
On May 31, 2012, at 1:42 PM, Werner Lehmann wrote:
> last month I learned that FXML can process absolute paths (relative to
> the root of the classpath, see quoted portion below). It would be nice to have the same in css as well:
>> -fx-background-image: url("/some/source/folder/arrow.png");
> Currently I have to do this instead:
>> -fx-background-image: url("../../../arrow.png");
> And when the css file is moved to a different package I have to remember
> to update the relative urls. Also, it does not seem to work with
> resources inherited from a dependency project (might be an Eclipse issue
> but I suppose it would work if the class loader was used).
> The css reference says:
>> "/com/wicked/cool/resources/styles.css" is treated as
>> "com/wicked/cool/resources/styles.css". This is consistent with FXML.
> It seems logical to support this not only for the stylesheet but also for urls in the stylesheet, just like urls in FXML...
> On 23.04.2012 18:40, Greg Brown wrote:
>>> Correct me if I am wrong but today FXML seems to support relative
>>> paths only. For instance, if I have a shared image resource
>>> "warning.png" in the root of the classpath, I have to specify it
>>> like "../../../../warning.png" in the FXML, depending on which
>>> package the FXML is in.
>> Currently, you can specify either a relative path (e.g.
>> "../../warning.png") or an absolute path (relative to the classpath;
>> e.g. "/warning.png") in FXML. This works for includes, script files,
>> and attributes with a leading "@" symbol.
David Grieve | Principal Member of Technical Staff
Oracle Java Client UI and Tools
Durham, NH 03824
Oracle is committed to developing practices and products that help protect the environment
More information about the openjfx-dev