css用相对路径为什么找不到

html-css08

css用相对路径为什么找不到,第1张

相对路径和绝对路径,../表示返回上一级,因为css文件在css文件夹里,图片在images文件夹下,那么layout.css就需要返回上一级找到images文件夹才能找到相应的图片。直接文件夹名或是./开头表示和当前平级,因为index.html和images文件夹平级。不管是带../还是不带,这种写法都叫相对路径;另一种叫相对于根目录路径,它的写法必须以/开始,意思是从根目录开始一级一级向下查找,不管在哪里,要使用pic4.gif这个图片,路径都必须是/images/pic4.gif;还有一种写法叫绝对路径,是以http://加域名开始的,这个不多多说了。

使用相对路径时,当根目录放到一个二级目录下时,文件仍然可以正常访问,而使用相对于根目录路径时,其中一个页面放到其它位置时,照样能关联么相关的图片和其它文件,比如:本例如果用相对于根目录路径的话,把index.html放到一个文件夹下后,还是可以正常访问的。总之两种方法各有优劣,根据你的需要采用一种合适的方法。相对路径和相对于根目录路径是可以相互更改的,在站点管理——编辑——高级设置的本地信息里有链接相对于,如下图,默认为文档(就是所说的相对路径),也可以改为站点根目录,相对路径一般为直接目录名,需要返回上级时用../,向上返回两级时用../../;相对于根目录路径始终以/开头,不管该文件现在在哪一级,它都是以根目录开始向下找。

相对路径分为两种:一、根相对路径:以“/”开头,表示从项目的根目录开始,如项目根目录下images图片目录中的1.jpg可以表示为url("/images/1.jpg")二、文档相对路径:以当前文件为参照,每下一级以“/”开头,紧跟着目录名,最后为文件名,上一级则用“../”。

更改config/index.js配置文件build.assetsPublicPath为 './'

在App.vue的 <style>中加一个background: url('./asssets/images/xxx.png')之类相对路径引用的样式

此时进行打包命令

你会发现提取出来的 css 中 url() 中图片的路径是 static/img/xxx.png 这样的,用浏览器打开index.html将会有 xxxxxxx/static/css/static/img/xxx.png 这个图片 404 的报错

主要是需要单独为 css 配置 publicPath ,更改 build/utils.js 文件中 ExtractTextPlugin 插件的 options 配置: