CSS 包括相对于 CSS 文件位置的图像
CSS include images relative to the location of the CSS file
有没有办法指示相对于.css文件位置的图像路径?
我有一个 CSS 风格的图像:
a[href $= '.pdf']:before {content:url(img/pdf.gif)}
我想在位于同一目录的 HTML 页面中使用相同的 CSS 文件(我将其包含在"mycss.css")和子目录中(我将此文件包含在"../mycss.css")。
在后一种情况下,显然找不到图像。
编辑:图像被发现,所以其余的问题没有意义。
我不想使用绝对路径,因为对于不同的 URL,同一站点显示在不同的级别,如mysite.example.com
、example.com/mysite
和example.com/mycompany/mysite
。
有没有办法指示相对于.css文件位置的图像路径?
或者,根据存在的图像有条件地包含图像(不要将浏览器与不存在的文件混淆)。例如,它可能是
a[href $= '.pdf']:before {content:url(img/pdf.gif) url(../img/pdf.gif)}
以便显示两者之一,但浏览器可能会显示不存在的文件所在的占位符。所以也许它可以是这样的
if exists img/pdf.gif
a[href $= '.pdf']:before {content:url(img/pdf.gif)}
else
a[href $= '.pdf']:before {content:url(../img/pdf.gif)}
样式表中的所有图像引用都应相对于 CSS 文件。
index.html
css/style.css
js/script.js
img/img-1.jpg
img-2.jpg
img-3.jpg
about/index.html
contact/index.html
根据上面的示例,引用style.css
中img
目录的所有图像都将url('../img/*.jpg')
。
尝试使用服务器端代码动态生成带有参数的 CSS
Example: <link rel="stylesheet" type="text/css" href="../mycssservlet?mypathlevel=2">
should generate the CSS on the fly with ../../img/myimg.png
which is 2 time parent relative path
provided the server side program uses the proper content type
否则使用条件CSS,如LESS或SASS
确保正确调用 CSS 文件。使用固定的绝对路径:
http://static.example.com/css/style.css
在CSS文件中,给出相对于CSS的图像路径:
background: url("../img/pic.png");
这适用于以下情况:
+ site
|--+ css
| |-- styles.css
| |-- plugin.css
|--+ img
| |-- graphic.png
| |-- img.png
相关文章:
- 使用NG Repeat angularJS格式化CSS图像
- 使用jquery在toggle上添加和删除css图像类
- Javascript 中的动态 CSS 图像 URL
- 无法在单个 HTML 页面上显示 Java/CSS 图像库的多个实例
- 加载时翻转 CSS 图像
- 在SVG中显示CSS图像精灵,而不使用外来对象
- 在创建的Joomla模块中链接背景CSS图像
- 使用 JavaScript 下载页面的 CSS/图像等 HTTPS 资源并将它们写入临时文件
- CSS 图像查看器:图像旋转(和缩放)
- HTML/CSS图像悬停-使用不同大小的图像
- Jquery和CSS图像居中在选项卡中不起作用
- 分离css图像属性
- CSS图像不透明度渐变与多个元素(类)
- 在显示预加载程序的同时预加载所有CSS图像
- 模糊背景- Jquery /纯CSS /图像
- 调整CSS图像蒙版:悬停在旋转木马上
- JS CSS -图像只是弹出或弹出没有动画
- 从子文件夹访问CSS图像时不显示
- 是否有可能在grunt中获得实时css/图像重新加载
- JS/CSS图像动画滚动效果