css样式表里面引用background-image时,url路径错误原因及解决方法

时间:2022-11-02 21:25:09

一直对css中background-image:url的路径问题存在误解,半知半解的,有时候路径写的对,有时候又是错的,完全碰运气,今天写resume时又遇到这个问题,在此整理下:
css样式表里面引用background-image时,url路径错误原因及解决方法
css样式表里面引用background-image时,url路径错误原因及解决方法
css样式表里面引用background-image时,url路径错误原因及解决方法

css样式表中background-image要引入image文件夹下的portrait.jpg图片,

正确的写法是:

background-image:url('../image/portrait.jpg');

误区:

一直以为,当在html中引用外部样式表后,那么在样式表文件中定义的样式就相当于在html头文件中定义的样式了,相对路径以html为参考。但事实是,它依然存放在定义的文件中被一起下载到客户端。在定义url时,如果是绝对地址没什么问题,如果是相对地址,那么,一定要相对css/style.css所在的路径,而不必考虑即将引用它的html文件的路径。

解决方法

1.相对路径(相对于html)
在html的头部写样式,就可以相对于html文件的图片的路径了

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style> .portrait { background-image: url('./static/image/portrait.jpg') } </style>
</head>

2.相对路径(外部引入css样式表,相对于style.css引入)

background-image:url('../image/portrait.jpg');

3.绝对路径(比如f:/resume/static/image/portrait.jpg(这种方式理论上是可以的,但一般不采用)