2009-05-21 2 views
0

Есть ли способ полностью игнорировать CSS-файл из заголовка, который импортируется в ваш html-файл?Наследование CSS

Я хочу, чтобы на одной странице был свой собственный независимый CSS, не наследующий от каких-либо других источников CSS.

ответ

0

Вы можете использовать JavaScript для удаления связанного файла CSS, но тогда вам нужно будет добавить только этот JavaScript на этой странице.

В качестве альтернативы вы можете поместить идентификатор в теге тела и целевой совершенно другой набор правил CSS для этой страницы:

Стандартные страницы:

<body id="standard"> 

#standard h1 { 
    color:blue; 
} 

Другие страницы:

<body id="different"> 

#different h1 { 
    color:red; 
} 

Немного о планировании заранее стоит усилий

0

на самом деле, нет. есть способы удалить css (например: http://www.javascriptkit.com/javatutors/loadjavascriptcss2.shtml), но он не работает в IE

При каких обстоятельствах вы хотите это сделать? У вас нет контроля над страницей?

+0

Я не могу удалить файл заголовка, который добавляет все виды информации CSS , –

1

Не очевидное решение не включать этот файл CSS на этой странице?

+0

Я бы хотел, но есть заголовочный файл, который включен в каждую страницу проекта. –

0

Поместите содержимое вы не хотите, стилизованные в IFRAME, то заголовок будет отображаться на странице, но стили не будут наследоваться.

+0

комментарий, когда вы downvote проклятье! было ли это заниженным, потому что вы думаете, что это не работает, или потому, что кто-то сказал вам, что «рамки злы», и вы применяете это слепо ко всем контекстам? – SpliFF

+0

Упрощенный для удаления анонимного и unhelpful-downvote. –

3

Если вы apply a unique id to the <body> of your custom page, вы можете легко сделать объявления, специфичные для этой страницы, в вашем глобальном css. Нет никакого смысла в обслуживании другого файла css, поскольку ваш глобальный/сайт css будет кэшироваться на клиенте в любом случае.

Лично я считаю, что это хорошая практика в целом для управления стилями, ориентированными на страницы. В PHP вы можете добиться этого динамически на ваш взгляд, с

<body id="<?= basename($_SERVER['PHP_SELF'], ".php")?>"> 

в ASP.Net вы можете установить идентификатор с помощью:

System.IO.Path.GetFileNameWithoutExtension(HttpContext.Current.Request.Url.AbsolutePath).ToLower