<style>标签</style>内容的相对路径

时间:2011-06-29 18:07:28

标签: html

有没有办法改变a的内容的“当前工作目录” <script>标记?我服务器上的目录结构如下:

├── css
│   ├── flexigrid.css
│   └── images
│       ├── bg.gif
│       ├── ...
│       └── wbg.gif
└── js
    └── flexigrid.js

3 directories, 21 files

因此,如果我在<head>中只有以下标记,我就可以了:

<link rel='stylesheet' type='text/css' href='/css/flexigrid.css' />

但我正在将文件的内容作为文本加载并插入到文本中 头部用javascript:

// 'css' is a string containing the text of flexigrid.css
var css_el = document.createElement('style');
css_el.type = 'text/css';
css_el.innerHTML = css;
document.getElementsByTagName('head')[0].appendChild(css_el);

结果,样式表中的这样的行:

background: #eee url(images/line.gif) repeat-y -1px top;

加载/images/line.gif而非/css/images/line.gif等网址。在那儿 一种创建<style>标记的方法,以便url()调用开始 /css目录而不是基目录而不必 在javascript中搜索和替换

2 个答案:

答案 0 :(得分:2)

当你包含CSS内联时,这种能力和CSS的缓存是你失去的两件大事。

你可以为微小的图像做一件事,比如子弹或线,将它们转换为data: URL,而不用担心相对的URL。

答案 1 :(得分:1)

最终,您可以使用mod_rewrite指令创建.htaccess文件。

但我认为使用JavaScript或CSS的方法是不可能的。