一直对css中background-image:url的路径问题存在误解,半知半解的,有时候路径写的对,有时候又是错的,完全碰运气,今天写resume时又遇到这个问题,在此整理下:
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
(这种方式理论上是可以的,但一般不采用)