如何缩小CSS时处理相对图像URL的变化?

前端之家收集整理的这篇文章主要介绍了如何缩小CSS时处理相对图像URL的变化?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
问题

我有一个大型网站,所以我的CSS文件夹结构可能相当深.任何CSS文件都可以通过relative URL设置元素的背景图像.在发布到我的生产服务器之前,我需要缩小所有CSS文件.这种缩小过程可能会破坏一些相对URL,因为它有效地使文件夹结构变平.作为开发人员,您如何处理开发代码和生产代码之间的这种差异?

这是我的文件夹结构:

image/
    article/
        brushStroke.jpg
style/
    module/
        button.css
    page/
        article/
            introToPainting.css
    minified/
        style20130522.css

在开发过程中,我可能在introToPainting.css中有这个CSS规则:

#step1 {
    background-image: url(../../../image/article/brushStroke.jpg);
}

让我们说一个特定的简单页面,我只需要button.css和introToPainting.css.对于生产版本,这两个CSS文件将缩小为style20130522.css.既然minified文件位于与introToPainting.css不同的文件夹深度,那么brushStroke.jpg的路径现在是错误的.

http://scs.veetle.com/soget/session-thumbnails/5363e222d2e10/0eaf8f26f193375f97b7deeabae97016/5363e222d2e10_0eaf8f26f193375f97b7deeabae97016_20140509184555_536d84d367530_74_896x672.jpg

http://scs.veetle.com/soget/session-thumbnails/534711b951df7/60d40fd7ca34cf794237c5ec8cb4ff6d/534711b951df7_60d40fd7ca34cf794237c5ec8cb4ff6d_20140521112148_537ceebcd74e0_98_896x672.jpg

解决方法

我通常会迎合这个服务器端.

例如(使用ASP.NET C#)通常会将baseUrl附加到映像并在web.config中定义URL.

然后,我将使用web.config的调试版或发行版来适当地转换baseUrl.

因此,我的HTML文件要么具有部分,要么构建服务器端的整个URL(或者至少具有附加服务器端的baseUrl),或者可能通过会话或JavaScript将baseUrl投影到客户端代码中.

编辑:澄清一下,我并不是说将http://mysite.com设置为baseUrl,我会提倡类似../../../image/作为我的开发baseUrl,并在生产时将其转换为/ image /或类似的东西

原文链接:https://www.f2er.com/css/214987.html

猜你在找的CSS相关文章