Übergeordnete Sharepoint CSS-Klassennamen in einem webpart
Ich habe lange gesucht hoch und niedrig für eine zufriedenstellende Antwort auf diese und scheiterte. Ich hoffe, dass StackOverflow liefern kann, für mich!
Ich bin mit SharePoint Foundation 2010 (mein Erster richtiger Versuch, "deep dive" in SharePoint), mit (unter anderem) eine benutzerdefinierte web-Teil; die Masterseite für die Website verwendet eine CSS-Datei durch den Kunden geliefert und auf die ich einhalten muss. Das Problem, das ich habe, ist, dass SharePoint, indem Sie mehrere SharePoint-spezifische CSS-Klassen, auf der web-Teil der HTML-Struktur, die im Konflikt mit der client-styling. Nach einigem Graben fand ich, dass die ms-WPBody
Klasse und seinen verschiedenen element-Selektoren sind die hauptsächlichen übeltäter.
Konnte ich hinzufügen !important
um alles in der client-Stylesheet, aber das ist verboten. Ich konnte fügen Sie einige sehr chaotisch styling in das Kind den Inhalt der web-Teil in einem Versuch, überschreiben Sie die SharePoint-styling, das ist der Kurs, den ich habe wurde die Verfolgung der spät, aber es wurde immer chaotisch. Oder ich könnte versuchen, entfernen der Klasse aus dem web-Teil, das bringt mich zu meiner Frage:
Wie kann ich diese entfernen oder sonst überschreiben die CSS-Klassennamen eingefügt in die HTML-Strukturierung für ein SharePoint-Webpart? Ich weiß nicht genug über das Innenleben der SharePoint-wissen, was hook, dies zu ändern, und mein google-fu ist nicht auf das Thema. CssClass
auf die ASP.NET web-control-markup wird offensichtlich ignoriert, wahrscheinlich einige überbleibsel geerbt von WebControl
.
Mir helfen StackOverflow! Du bist meine einzige Hoffnung!
Bearbeiten
Ich entschuldige mich für die nicht so dass es vorher klar, aber ich möchte behaupten, dass ich grok CSS und bin nicht auf der Suche nach Hilfe mit dem styling. Was ich wirklich Suche, ist, wie Sie die CSS-Klasse emittiert, die von SharePoint. Kann mir jemand helfen? Ich werde zu entfernen CSS Tags, da erscheint verwirrend Menschen. Diese Frage ist nicht wirklich über CSS, es geht um SharePoint.
Du musst angemeldet sein, um einen Kommentar abzugeben.
CSS hat, um den html-Code, der es verwendet wird, um - mit den generierten html-wie die produziert von SharePoint (oder standard asp.net webforms für diese Angelegenheit), ist es normalerweise viel einfacher zu ändern, die css. Wenn das hinzufügen wichtig ist nicht eine option, können Sie in der Regel tun Sie etwas mit spezifischeren Selektoren - also ein Stil definiert als "Tabelle " td" - überschreiben eines für "td", obwohl Sie tatsächlich wählen alle die gleichen Elemente. Mithilfe dieses Ansatzes können Sie rückgängig machen, alle bits des sharepoint-styling, sind causign Probleme.
Wenn Sie wirklich wollen, ändern Sie die Klassen sharepoint setzt auf der Seite, verwenden Sie die jquery - zu tun versuchen, die server-Seite ist wirklich nicht etwas, was Sie wollen, in zu erhalten auf Ihre erste sharepoint-Projekt.
Ich bin mir nicht sicher, ob ich Folgen, aber warum nicht wickeln Sie Ihre webpart in einem div-container, und dann wird Stil zu Ihrem Herzen s Inhalt:
2007 hatten wir uns sorgen darüber machen, dass Ihr stylesheet benannt wurde Letzte alphabetisch, so dass es richtig angewandt worden. Präfix Ihre css-Datei mit dem z zu sehen, ob es hilft.
Hier ist ein Referenz-Artikel über das Thema:
http://singchan.com/2009/12/29/branding-sharepoint-2010-collaboration-sites-part-2-in-a-series/
Hier einige typische Web-Teil HTML:
Der trick ist, dass das Webpart selbst ist der innere DIV-Element (und alle seine Kinder). Das äußere DIV (das mit dem ms-WPBody Klasse) ist die WebPartZone. Diese Kontrolle ist versiegelt, aber Sie können schreiben, ein Adapter, machen die WebPartZone, aber Sie wollen. Die meisten der Beispiele sind für die Tabelle-weniger rendering, könnte man schreiben, dass hält die bestehende Struktur, sondern entfernt auch die Klassen.
Mir, codieren alle, und registrieren Sie es anschließend in der compat.browser App_Browsers für die Web-Anwendung scheint wie overkill, so würde ich wahrscheinlich gehen mit jQuery (aber wenn Sie die Adapter, ich würde gerne sehen).
Oder einfach fügen Sie einen Inhalts-Editor-Webpart, und überschreiben die CSS-style-element in der HTML:
-- Frieden!
wie sind Sie das laden der CSS-Datei? WENN Sie laden Sie es in einem Teil der Kopf Ihres master-Seite, oder durch eine benutzerdefinierte Einstellung.css, können Sie versuchen, laden Sie es außerhalb des Kopfes. Dies sollte dazu führen, dass es zu laden, nach Kern.css und daher erlauben Sie das überschreiben der standard-Klassen, wie gebraucht.