Переопределение названий классов CAREPOINT CSS в веб-панели

StackOverflow https://stackoverflow.com/questions/3971624

Вопрос

Я искал высоко и низко для удовлетворительного ответа на это и не удалось. Я надеюсь, что Stackoverflow может доставить для меня!

Я использую Foundation SharePoint 2010 (моя первая реальная попытка глубокого погружения в SharePoint), с (среди прочего) пользовательскую веб-часть; Главная страница для сайта использует файл CSS, поставляемый клиентом, и к которому я должен прилипать. Вопрос I имею в том, что SharePoint, добавив несколько специальных классов CSS SharePoint CSS к структуре HTML веб-части, противоречит стилю клиента. После некоторого копания я обнаружил, что ms-WPBody Класс и его различные селекторы элементов являются главными виновниками.

Я мог бы добавить !important Для всего листа в стиле клиента, но это верботен. Я мог бы вставить очень грязный стиль в дочернее содержание в веб-части в попытке переопределить стиль SharePoint, который является курсом, который я преследовал в последнее время, но это становится грязным. Или я мог бы попытаться удалить класс из веб-части, что подводит меня к своему вопросу:

Как Могу ли я удалить или иным образом переопределить имена классов CSS, вставленные в структурирование HTML для веб-части SharePoint? Я не знаю достаточно внутренних работ SharePoint, чтобы узнать, что крючком, чтобы сделать это изменение, и мой Google-Fu потерпел неудачу по этому вопросу. CssClass на разметке веб-контроля ASP.NET, очевидно, игнорируется, вероятно, некоторые держатели унаследованы от WebControl.

Помоги мне Stackoverflow! Ты моя единственная надежда!

Редактировать
Я прошу прощения за то, что не добился понятно раньше, но я хотел бы заявить, что я GROK CSS и не ищу помощь в стиле. То, что я действительно ищу, так как убрать класс CSS, испускаемый SharePoint. Кто-нибудь может помочь там? Я собираюсь удалить тег CSS, поскольку это, кажется, запутает людей. Этот вопрос на самом деле не о CSS, речь идет о SharePoint.

Это было полезно?

Решение

CSS должен соответствовать HTML, который применительно к - с генерируемым HTML, который производится SharePoint (или Standard ASP.NET WebForms для этого значение), это обычно гораздо легче модифицировать CSS. Если добавление важных не является вариантом, вы обычно можете сделать что-то, используя более конкретные селекторы - то есть стиль, определенный как «таблица TD», будет переопределить один для «TD», хотя они на самом деле выбирают все те же элементы. Вы можете использовать этот подход к отмене любых битов Styling SharePoint, которые являются вопросами котеста.

Если вы действительно хотите изменить классы SharePoint ставят на странице, используйте jQuery - пытаясь сделать эту сторону сервера на самом деле не то, что вы хотите войти в ваш первый проект SharePoint.

Другие советы

Я не уверен, что следую, но почему бы не обернуть свой веб-сайт в контейнере Div, а затем стиль до контента вашего сердца:

<style type="text/css">
.ms-WPBody {
background-color:red;
}

#myCustomCss p
{
    background-color:Blue;
}

</style>
<div class=ms-WPBody>
<div id=MyCustomCSS>
<p>Hello world</p>
</div>
</div>

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

Вот справочная статья о проблеме:http://singchan.com/2009/12/29/branding-sharepoint-2010-collabortion-sites-part--in-series/

Вот некоторые типичные веб-часть HTML:

<div style=""
    allowexport="false"
    allowdelete="false"
    class="ms-WPBody ms-wpContentDivSpace"
    width="100%"
    id="WebPartctl00_m_g_d0420a1c_44b7_4009_81c9_2bbcf9b325e9"
    haspers="false"
    webpartid="d0420a1c-44b7-4009-81c9-2bbcf9b325e9">
    <div id="ctl00_m_g_d0420a1c_44b7_4009_81c9_2bbcf9b325e9">
        Web Part Content goes here...
    </div>
</div>

Хитрость заключается в том, что сама веб-часть - это внутренняя Div (и все его дети). Внешний Div (тот, с классом MS-WPBody) является WebPartzone. Отказ Этот контроль запечатан, но вы можете написать адаптер, который будет отображать WebPartzone, однако вы хотите. Большинство из Примеры Для рендеринга меньше таблицы вы можете написать тот, который поддерживает существующую структуру, но удаляет классы.

Для меня, кодируя все это, а затем зарегистрировав его в Compat.Browser of app_browsers для веб-приложения, похоже на слове, поэтому я, вероятно, пошел с jQuery (но если вы сделаете адаптер, я бы хотел увидеть это).

Или просто добавьте веб-часть редактора контента и переопределите элемент стиля CSS в HTML:

<style type="text/css">
.ms-stylebox {
 border:o important;
}
</style>

-- Мир!

Как вы загружаете свой файл CSS? Если вы загружаете его в части головки своей главной страницы, или через просто установить Custom.css, вы можете попробовать загрузку его за пределами головы. Это должно заставить его загружать после Core.css и, следовательно, позвольте вам переопределить стандартные классы по мере необходимости.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top