Как заставить CSS-файл воздействовать только на раздел HTML - PullRequest
4 голосов
/ 17 июня 2009

У меня есть внешний файл CSS (я вообще не могу его изменить), который мне нужно использовать в моем файле HTML, но я хочу, чтобы CSS влиял только на часть моего HTML. (Например, все в <div id="externally_styled"></div>)

Как это возможно, опять же, без изменения файла CSS (и файл CSS содержит также общие стили, влияющие на теги тела и т. Д.)

Ответы [ 8 ]

4 голосов
/ 17 июня 2009

Возможно, вам придется использовать iframe со страницей, содержащей только тот HTML-код, который вы хотите оформить, и ссылку на таблицу стилей. Это будет означать, что общие стили не будут применяться к содержащей странице, но звучит так, будто вы этого хотите.

1 голос
/ 17 июня 2009

Я предполагаю, что любое решение на стороне клиента будет грязным.

Можете ли вы использовать серверное решение, где вы всасываете внешний CSS-файл и добавляете селектор класса в начало каждого правила? Я уверен, что это будет достаточно легко с регулярным выражением.

1 голос
/ 17 июня 2009

Вы можете перезаписать общие стили, которые не хотите применять к вашему HTML-документу. Это может быть хорошей идеей, если CSS, если не так обширный.

Для перезаписи стиля используется ключевое слово important!.

например:

оригинальная таблица стилей:

body {
    color: #000000;
}

Ваша таблица стилей:

body {
    color: #CCCCCC !important;
}

Вы можете найти больше информации здесь .

1 голос
/ 17 июня 2009

Любые классы или объявления стилей, прикрепленные к тегу, будут переопределять объявления в CSS-файле.

Просто добавьте свое собственное объявление стиля к тегу:

<div style="<your own declarations>">
...
</div>
0 голосов
/ 22 июня 2013

Вы можете применить стиль, используя "! Important" в кодах CSS.

взгляните на этот пример. http://www.craiglotter.co.za/2010/01/21/important-css-how-to-force-one-style-above-another/

0 голосов
/ 17 июня 2009

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

0 голосов
/ 17 июня 2009

Единственное, о чем я могу думать, - это перерисовать содержимое из вашего DIV в Iframe.

0 голосов
/ 17 июня 2009

Один из способов, который приходит на ум, - это иметь часть «HTML-стиля» вашего HTML в отдельном файле и затем извлекать его через iframe, который использует CSS из внешнего файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...