Css игнорирует все после первого класса - PullRequest
1 голос
/ 29 ноября 2010

Я использую это руководство для создания HTTPHandler, который объединяет файлы сценариев и CSS для доставки их по одному запросу.

В основном он читает кучу файлов .css в байтовый массив, а затем response. записывает байты клиенту с типом содержимого text / css (или text / javascript)

При использовании FireBug кажется, что CSS проходит нормально ... все это есть. Однако сам браузер выполняет только рендеринг CSS, который находится в первом файле, используемом в действии объединения.

Пример:

File1.css: body {font-size: 20px; } h1 {цвет: красный; }

File2.css: div {border: solid 1px black; }

Весь CSS виден через Firebug на вкладке CSS ... однако класс из File2.css фактически не применяется к элементам div на странице. Если я изменим порядок файлов, div получит границу, но ничего из File1.css не будет применено.

Файлы Javascript работают совершенно нормально, но CSS полностью меня озадачил!

РЕДАКТИРОВАТЬ, ЧТОБЫ ПОКАЗАТЬ CSS, СОЗДАННЫЙ ИЗ ПОЖАРНОЙ ЖИВОТНОЙ body { font-size:22px; } h1 { color:Red; text-decoration:underline; } div { border:1px solid black; } ЗДЕСЬ ОТ СЕТИ, НАЧИНАЕТСЯ ФАКТИЧЕСКИЙ ОТВЕТ

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 добавляет что-то невидимое в файл при создании файла таблицы стилей?

FIDDLER TEXTVIEW (Не знаю, откуда появились дополнительные символы. Интересно.

9a


body 
{
    font-size: 22px;

}

h1 
{
    color: Red;
    text-decoration: underline;
}div 
{
    border: solid 1px black;
}
0

Ответы [ 2 ]

1 голос
/ 29 ноября 2010

В 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);
0 голосов
/ 29 ноября 2010

Я не уверен, что не так;если вкладка CSS Firebug видит CSS, она должна отобразиться.

Попробуйте очистить кэш (Ctrl + F5) и перезапустите Firefox.

Попробуйте добавить новую строку между файлами CSS на сервере;есть небольшая вероятность, что это может помочь.

...