代码之家  ›  专栏  ›  技术社区  ›  Ryan O'Neill

Css忽略第一个类之后的所有内容

  •  1
  • Ryan O'Neill  · 技术社区  · 14 年前

    我在用 this guide 创建一个HTTPHandler,该HTTPHandler将脚本和css文件组合在一起,以每个文件作为一个请求传递它们。

    基本上,它将一堆.css文件读入一个字节数组,然后进行响应

    当使用FireBug时,CSS看起来很好……一切都在那里。但是,浏览器本身将只呈现组合操作中使用的第一个文件中的CSS。

    例子:

    文件1.css: 正文{字体大小:20px;} h1{颜色:红色;}

    文件2.css: div{边框:实心1px黑色;}

    所有的CSS都可以通过CSS选项卡中的Firebug看到…但是File2.CSS中的类实际上并没有应用到页面上的div。如果我翻转文件的顺序,div会得到一个边框,但File1.css中的任何内容都不会应用。

    Javascript文件工作得很好,但是CSS让我很困惑!

    编辑以显示从FIREBUG复制的CSS

    body {
    font-size:22px;
    }
    h1 {
    color:Red;
    text-decoration:underline;
    }
    div {
    border:1px solid black;
    }
    

    这是来自NET选项卡的,实际生成的响应

    ParamsHeadersPostPutResponseCacheHTML
    Response Headersview source
    Server  ASP.NET Development Server/9.0.0.0
    Date    Mon, 29 Nov 2010 01:10:26 GMT
    X-AspNet-Version    2.0.50727
    Transfer-Encoding   chunked
    Cache-Control   public, must-revalidate, proxy-revalidate, max-age=259200
    Expires Thu, 02 Dec 2010 01:10:26 GMT
    Content-Type    text/css
    Connection  Close
    Request Headersview source
    Host    localhost:49598
    User-Agent  Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12
    Accept  text/css,*/*;q=0.1
    Accept-Language en-us,en;q=0.5
    Accept-Encoding gzip,deflate
    Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive  115
    Connection  keep-alive
    Referer http://localhost:49598/
    
    
    
    body 
    {
        font-size: 22px;
    
    }
    
    h1 
    {
        color: Red;
        text-decoration: underline;
    }div 
    {
        border: solid 1px black;
    }
    

    新的发展。如果我在记事本中创建.css文件,一切正常。VS2008在创建样式表文件时是否向文件中添加了未显示的内容?

    小提琴手文本视图 (不知道这些额外的角色是从哪里来的。很有趣。

    9a
    
    
    body 
    {
        font-size: 22px;
    
    }
    
    h1 
    {
        color: Red;
        text-decoration: underline;
    }div 
    {
        border: solid 1px black;
    }
    0
    
    2 回复  |  直到 14 年前
        1
  •  1
  •   Jonathan    14 年前

    GetFileBytes 更改以下行

        byte[] bytes = File.ReadAllBytes(physicalPath);
        // TODO: Convert unicode files to specified encoding. For now, assuming
        // files are either ASCII or UTF8
        return bytes;
    

        string content = File.ReadAllText(physicalPath, encoding);
        return encoding.GetBytes(content);
    
        2
  •  0
  •   SLaks    14 年前

    我不知道出了什么问题;如果Firebug的CSS选项卡看到CSS,它应该呈现。

    尝试清除缓存(Ctrl+F5)并重新启动Firefox。

    尝试在服务器上的CSS文件之间添加一个换行符;这可能会有所帮助。