我随便找了个树目录结构的图,以此图给你讲一下
此文件结构根目录为“文件树目录”,然后依次往下分类,其中有2个页面page1.html、page2.html分别在不同的地方,先以page1.html为例,分别讲一下相对和绝对路径的写法
比如我现在想让page1.html加载More directory目录下的jquery.min.js文件:
1、相对路径写法:/文件树目录/More directory/css/js/jquery.min.js
解释:相对路径,是根据文件根目录一级一级的找到你所需要的文件
2、绝对路径写法:../style.css/More directory/css/js/jquery.min.js
解释:绝对路径,是根据当前文件位置,找到所需要的文件,其中“../”是返回文件上一级。
补充:我们可以看到page1.html此时是在Primary directory里,我们想找的jquery.min.js在More directory/css/js/里,而Primary directory和More directory是“文件树目录”的子目录,属于兄弟关系,所以page1.html想找到jquery.min.js,就要先返回上一级,然后找到兄弟节点,然后一级一级往下找。
注:../是返回上级,../../是返回上上级,以此类推!
你好,假设你的css文件abc.css放在了D盘index文件目录下的css文件目录中。那么他的物理路径(绝对路径)应该是file:///D|/index/css/abc.css .因为是通过浏览器打开的本机物理地址。所以用到前缀file链接外部样式文件
外部引入CSS样式文件是通过link标签实现的,它只能位于HTML文档的head标签内,且必须有href属性,该属性用于指定需要引入的CSS文件的路径。
写法:<link rel="stylesheet" href="CSS样式文件的绝对地址">
link元素中type用于规定链接文档的MIME类型,rel属性用于规定被链接文档与当前文档之间的关系,如alternate用于定义交替出现的链接,appendix定义文档的附加信息等,此外还有一些可选属性,用于做一些除加载CSS文件的其他事情。link元素是XHMTL中的标签,当HTML页面被渲染时,link引用的CSS文件会被同时加载,我们也可以通过JavaScript控制DOM去改变link元素的CSS内容。
导入外部样式
导入外部样式单的功能与链接外部样式的功能差不多,都能实现一样的功能,但是它们之间还是存在一定的差别的,导入外部样式主要通过@import方式导入CSS文件。
写法:
@import 'style.css' //Windows IE4/ NS4, Mac OS X IE5, Macintosh IE4/IE5/NS4不识别@import "style.css" //Windows IE4/ NS4, Macintosh IE4/NS4不识别@import url(style.css) //Windows NS4, Macintosh NS4不识别@import url('style.css') //Windows NS4, Mac OS X IE5, Macintosh IE4/IE5/NS4不识别@import url("style.css") //Windows NS4, Macintosh NS4不识别
由上分析知道,@import url(style.css) 和@import url("style.css")是最优的选择,兼容的浏览器最多。从字节优化的角度来看@import url(style.css)最值得推荐。
本段摘自:
添加css的方式:link与@import区别 - Wayne-Zhu - 博客园www.cnblogs.com
@import是css2里面提出来的,低版本的浏览器不支持,注意它是css中属性,如果要使用它,可以在style标签中书写。但在CSS文件中再导入CSS文件,会给服务器造成太大的文件请求压力,最好不要这样做。
<style>
@import url(css/style.css)
</style>
@import是由CSS提供的一种导入样式的方式,当页面被加载时,@import会等到页面全部被加载完成时再加载CSS样式,所以在页面还未加载完成期间,页面还没有CSS样式效果,会导致“屏闪”,通过@import导入的CSS样式是无法用DOM去控制的。