zoukankan      html  css  js  c++  java
  • jsp、css中引入外部资源相对路径的问题

    在jsp页面中添加base,可用相对路径:

    <%
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://"
                + request.getServerName() + ":" + request.getServerPort()
                + path + "/";
    %>

    然后在<head>标签内添加base

    <base href="<%=basePath%>"></base>

     在本页面中“直接”引入外部文件时,可直接

    <script src="js/common/jquery-1.11.1.min.js" language="javascript"
        type="text/javascript"></script>
    <script src="js/common/frame.js" language="javascript"
        type="text/javascript"></script>
    <link href="css/common/frame.css"
        rel="stylesheet" type="text/css" />
    <link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />

    同理,本页面中的css类

    .top {
        position: absolute;
        left: 0;
        top: 95px;
        right: 0;
        height: 120px;
        background: url(images/common/title.jpg) repeat-x
    }

    ====================例外情况:引入的外部css、js文件又引入image等时=================================

    这时候如果也用相对路径的话,因为已经不在了jsp页面中,此时相对路径是相对于本css文件所在的目录:

    如:棠棣新系统,index.jsp页面中引入的css文件

    <link href="css/common/frame.css" rel="stylesheet" type="text/css" />

    这时在jsp页面中,引入的js/common/frame.js是从网站跟目录开始寻找,没问题。

    但在frame.js中有如下css

    .show_menu{
        background-image: url(images/left_bg.gif);
        background-repeat: repeat-y;
        background-position:285px 51px;
    }

    这种情况下直接url(images/left_bg.gif);是默认从本css文件所在目录(/css/common/frame.css)+url(images/left_bg.gif),所以此处需要的image需要单独配置,

    改成

    .show_menu{
        background-image: url(../../images/left_bg.gif);
        background-repeat: repeat-y;
        background-position:285px 51px;
    }
  • 相关阅读:
    第六次作业
    第五次作业
    第四次作业
    第三次作业
    第二次作业 计科一班程晨
    第一次作业 计科一班程晨
    第七次作业
    第五次作业
    第四次作业
    第三次作业
  • 原文地址:https://www.cnblogs.com/jinianjun/p/4065022.html
Copyright © 2011-2022 走看看