css外部样式表的路径要在哪个地方获取啊,还有麻烦大神解释一下相对路径跟绝对路径

html-css016

css外部样式表的路径要在哪个地方获取啊,还有麻烦大神解释一下相对路径跟绝对路径,第1张

我随便找了个树目录结构的图,以此图给你讲一下

此文件结构根目录为“文件树目录”,然后依次往下分类,其中有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去控制的。