CSS、JS中的相对路径引用

初学者由于对一些比较基本的知识的把握不是很牢,所以在开发或者设计的时候,往往很容易出现一些错误或者异常现象而找不到出错的根源。记得自己刚刚java入门的时候,会出现一些很“离奇”的现象,然后一遍一遍查看自己的代码,一步一步的进行调试(当然那个时候的调试方式也只是从初学这的角度上而言的,大多是比较粗略的手段),还是发现不了哪里出了问题,这直接打击学习的积极性。甚至有时候,照着书本或者教学视频敲的实例代码也不能正常跑起来,不知道大家有没有这种悲催的感觉。

比如说,大家在html中通常会导入一些外部的css、js文件,而其中一个比较容易被忽视的问题就是路径问题,有时候,我们在css、js中都有通过路径来引入一张图片的需求,当我们采用相对路径的时候,在css和js中引用图片的相对路径的基准是不一样的。在css中出现的相对路径,是以css文件所在路径为基准的,而js中的路径则是以导入此js的网页文件所在的位置为基准的。

为了很好的说明这个问题,我们写一个简单的切换图片的js特效,刚开始的时候,我们让html有一副默认的背景图,通过css来设计,而当用户单击“切换背景图”按钮时,通过javascript代码来控制背景图的变更,效果如

图一:更改背景图之前的效果图
图二:更改背景图之后的效果图

我们的文件结构是这样的:

/index.html
/js/chbk.js
/css/style.css
/images/bk1.jpg、bk2.jpg
  1. style.css代码
@charset "utf-8";
/* CSS Document */
body{background-color:#ccc;}
#content{background:url(../images/bk1.jpg) no-repeat;width:200px;height:200px;margin:auto;}
#in{margin:auto;text-align:center;}

其中,url(../images/bk.jpg)路径是相对于style.css的。

2.chbk.js代码

// JavaScript Document
function chbk(){
document.getElementById('content').style.backgroundImage='url(images/bk2.jpg)';
}

其中,url(images/bk2.jpg)路径是相对于index.html的,而不是chbk.js的url(../images/bk.jpg)。

3.index.html代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>引入Html中的css、js的路径问题</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script src="js/chbk.js" type="text/javascript"></script>
</head>

<body>
<div id="content">
</div>
<div id="in">
<input class="in" type="button" value="单击我更改背景" onclick="chbk()" />
</div>

</body>
</html>

总结:在css中出现的相对路径,是以css文件所在路径为基准的,而js中的路径则是以导入此js的网页文件所在的位置为基准的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,693评论 1 92
  • 谈谈HTML/CSS/JS代码中的文件相对路径 转载 作者microkof(http://www.jianshu....
    彦佐阅读 5,141评论 0 2
  • 我们在HTML/CSS/JS代码中经常会写一些文件的相对路径和绝对路径,绝对路径还好说,相对路径到底他妈的相对的谁...
    microkof阅读 15,733评论 1 7
  • 青春之歌 在喜马拉雅之巅为我吟唱 我是一只雏鹰 一只努力挣脱母亲温暖襁褓的鹰 浩瀚的蓝天在催促我展翅翱翔 就算电闪...
    Andy刘歆佟阅读 2,548评论 0 0
  • 如果生活是一个有主题的作文,那么写作文的我们一定在跑题。因为作为主题的初衷有了问题。 人忘记了初衷。 当我们还是孩...
    邓羽阅读 1,733评论 0 0

友情链接更多精彩内容