Question

J'ai cherché haut et bas pour une réponse satisfaisante à cette et a échoué. J'espère que StackOverflow peut offrir pour moi!

J'utilise SharePoint Foundation 2010 (ma première tentative réelle de plongée profonde dans SharePoint), avec (entre autres) une partie Web personnalisée; la page principale du site utilise un fichier CSS fourni par le client et auquel je dois respecter. La question que j'ai est que SharePoint, en ajoutant plusieurs classes CSS spécifiques de SharePoint à la structure de partie Web HTML, est en conflit avec le style du client. Après quelques recherches, j'ai trouvé que la classe ms-WPBody et ses différents sélecteurs d'éléments sont les principaux coupables.

Je pourrais ajouter !important à tout dans la feuille de style du client, mais qui est verboten. Je pourrais ajouter un peu de style très salissant dans le contenu de l'enfant de la partie Web pour tenter de passer outre le style de SharePoint, qui est le cours que j'ai poursuis la fin, mais il a été faire désordre. Ou, je pourrais essayer de supprimer la classe de la partie Web, ce qui me amène à ma question:

Comment puis-je supprimer ou autrement remplacer les noms de classe CSS insérés dans la structure HTML pour une partie Web SharePoint? Je ne connais pas assez le fonctionnement interne de SharePoint pour savoir quoi crochet pour faire ce changement, et mon google-fu est échouer sur le sujet. CssClass sur le balisage de contrôle Web ASP.NET est évidemment ignoré, probablement une certaine durée d'efficacité héritée de WebControl.

Aidez-moi StackOverflow! Tu es mon seul espoir!

Modifier Je présente mes excuses pour ne pas faire clairement, mais je voudrais dire que je Grok CSS et je ne cherche pas à l'aide avec un style. Ce que je cherche est comment supprimer la classe CSS émis par SharePoint. Quelqu'un peut-il aider là-bas? Je vais supprimer la balise CSS, car qui semble embrouiller les gens. Cette question n'est pas vraiment CSS, il est sur SharePoint.

Était-ce utile?

La solution

CSS doit correspondre au html qu'il est appliqué à - avec le langage HTML généré comme celui produit par SharePoint (ou webforms standard asp.net pour cette question), il est généralement beaucoup plus facile de modifier le css. En cas d'ajout important n'est pas une option que vous pouvez généralement faire quelque chose en utilisant les sélecteurs plus spécifiques - à savoir un style défini comme « la table td » remplacera un pour « td » mais ils choisissent effectivement tous les mêmes éléments. Vous pouvez utiliser cette approche pour défaire les morceaux de style sharepoint qui sont des questions causign.

Si vous voulez vraiment modifier les classes de les met sur la page, l'utilisation jquery - en essayant de le faire côté serveur est vraiment pas quelque chose que vous voulez entrer dans votre premier projet sharepoint

.

Autres conseils

Je ne suis pas sûr que je suis, mais pourquoi ne pas envelopper votre webpart dans un conteneur div et le style au contenu de votre coeur:

<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>

En 2007, nous avons eu à vous soucier de vous assurer que votre feuille de style a été nommé dernier par ordre alphabétique afin qu'il a été appliqué correctement. Préfixer votre fichier css avec z pour voir si elle aide.

Voici un article de référence sur la question: http: // singchan.com/2009/12/29/branding-sharepoint-2010-collaboration-sites-part-2-in-a-series/

Voici quelques WebPart HTML typique:

<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>

L'astuce est que la partie Web lui-même est la DIV intérieure (et tous ses enfants). La DIV extérieure (celle avec la classe ms-WPBody) est le sont pour le rendu de la table-moins, vous pouvez écrire un qui maintient la structure existante, mais supprime les classes.

Pour moi, coder tout cela, puis l'enregistrer dans le compat.browser de App_Browsers pour l'application Web semble exagéré, donc je serais probablement aller avec jQuery (mais si vous faites l'adaptateur, j'aimerais voir il).

Ou tout simplement ajouter un composant Web Content Editor et remplacer l'élément de style CSS dans le code HTML:

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

- Paix

comment vous chargez votre fichier CSS? Si vous le chargez dans une partie de la tête de votre page maître, ou par la mise en juste un custom.css, vous pouvez le charger à l'extérieur de la tête. Cela devrait l'amener à charger après core.css et donc vous permettre de passer outre les classes standard selon les besoins.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top