2017-01-10 3 views
0

У меня есть главная страница с ссылками на таблицу стилей CSS в ее теге заголовка. У меня также есть держатель содержимого в главном теге главной страницы. На дочерней странице, использующей эту главную страницу, я разместил ссылку на таблицу стилей CSS, относящуюся к этой странице в держателе содержимого на голове.Таблица стилей CSS в держателе содержимого содержимого ребенка не применяется

Таблица стилей CSS на дочерней странице имеет стили, которые должны переопределять некоторые стили в таблицах стилей CSS на главной странице. Предполагается, что некоторые из стилей главной страницы должны быть переопределены не всеми.

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

Как получить таблицу стилей на дочерней странице, чтобы получить приоритет над таблицами стилей на главной странице?

Может кто-нибудь объяснить, почему это происходит?

+0

Возможно, какой-то способ asp.net визуализировать объекты. У вас есть конкретный контейнер с классом, где вы хотите его стиль на дочерней странице? –

ответ

0

Я нашел ответ на мой вопрос here.

Моя ссылка стилей выглядел как этот

<link href="~/Styles/PopForms.css" rel="stylesheet" /> 

и как объяснено there~ не понята браузером в этом контексте.

Я изменил ссылку на

<link href="../Styles/PopForms.css" rel="stylesheet" /> 

и теперь он работает нормально.

1

Если у вас есть одно и то же имя класса на двух разных страницах, и вы хотите изменить значение по умолчанию, просто используйте «! Important» сразу после объявления.

.red-background { background-color: red; } /* MASTER */ 
.red-background { background-color: green !important; } /* CHILD PAGE */ 
+0

1. Я читал, что использование! Важно не хорошая практика. 2. Я использую ссылки на таблицы стилей для таблиц стилей, которые используются и на других страницах, где я не привык! Важно. 3. Можно ли использовать! Важно для ссылки на таблицу стилей? –

+0

1. Что удивительно в программировании, что существует так много решений для каждого вопроса/мешка/проблемы. Вы можете проверить через JS название страницы и решить, какие стили удалить, но это долгий путь. 2. Ваш код не будет работать, изменив расположение css в этом случае. 3. Я использую! Важно, и для меня это очень хорошее решение для многих ситуаций. он объявляется для подобных случаев. – Idoshhh

+1

вы можете попытаться создать класс контейнера на дочерней странице - например, назовем его «дочерним контейнером», а в css вывести такой контейнер, как -> .child-container> .red-background {background-color : зеленый; } – Idoshhh

1

Если вы не хотите использовать !important происходит с ребенком страницы контейнера/мишени с определенным классом является путь

.some-class { 
    background-color: deepskyblue; 
} 

.child-container .some-class { 
    background-color: deeppink; 
} 
+0

В заголовке html дочерней страницы я должен будет предоставить каждому тегу этот класс, или этого будет достаточно, чтобы передать его div, содержащему всю страницу? –

+1

@DovMiller контейнер, который хранит всю страницу. Хорошо, что вы разобрались. –

+0

Спасибо! В любом случае вы были полезны! –