How to go up a level in the src path of a URL in HTML?

后端 未结 6 1182
北荒
北荒 2020-11-28 02:06

I am storing style sheets in {root}/styles while images in {root}/images for a website. How do I give the path in the style sheets to go look in the images directory for th

相关标签:
6条回答
  • 2020-11-28 02:30

    Here is all you need to know about relative file paths:

    • Starting with / returns to the root directory and starts there

    • Starting with ../ moves one directory backward and starts there

    • Starting with ../../ moves two directories backward and starts there (and so on...)

    • To move forward, just start with the first sub directory and keep moving forward.

    Click here for more details!

    0 讨论(0)
  • 2020-11-28 02:33

    Use ../:

    background-image: url('../images/bg.png');
    

    You can use that as often as you want, e.g. ../../images/ or even at different positions, e.g. ../images/../images/../images/ (same as ../images/ of course)

    0 讨论(0)
  • 2020-11-28 02:35

    Supposing you have the following file structure:

    -css
      --index.css
    -images
      --image1.png
      --image2.png
      --image3.png
    

    In CSS you can access image1, for example, using the line ../images/image1.png.

    NOTE: If you are using Chrome, it may doesn't work and you will get an error that the file could not be found. I had the same problem, so I just deleted the entire cache history from chrome and it worked.

    0 讨论(0)
  • 2020-11-28 02:36

    Use .. to indicate the parent directory:

    background-image: url('../images/bg.png');
    
    0 讨论(0)
  • 2020-11-28 02:52

    If you store stylesheets/images in a folder so that multiple websites can use them, or you want to re-use the same files on another site on the same server, I have found that my browser/Apache does not allow me to go to any parent folder above the website root URL. This seems obvious for security reasons - one should not be able to browse around on the server any place other than the specified web folders.

    Eg. does not work: www.mywebsite.com/../images

    As a workaround, I use Symlinks:

    Go to the directory of www.mywebsite.com Run the command ln -s ../images images

    Now www.mywebsite.com/images will point to www.mywebsite.com/../images

    0 讨论(0)
  • 2020-11-28 02:57

    In Chrome when you load a website from some HTTP server both absolute paths (e.g. /images/sth.png) and relative paths to some upper level directory (e.g. ../images/sth.png) work.

    But!

    When you load (in Chrome!) a HTML document from local filesystem you cannot access directories above current directory. I.e. you cannot access ../something/something.sth and changing relative path to absolute or anything else won't help.

    0 讨论(0)
提交回复
热议问题