Primordial Sharepoint noms de classe CSS dans une webpart
J'ai été à la recherche haute et basse pour une réponse satisfaisante à ce qui a échoué. J'espère que StackOverflow peut fournir pour moi!
Je suis à l'aide de SharePoint Foundation 2010 (ma première véritable tentative de plongée profonde dans SharePoint), avec (entre autres choses) un composant webpart personnalisé; le maître de la page pour le site utilise un fichier CSS fourni par le client, et à qui je dois les respecter. La question que je vais avoir, c'est que SharePoint, par l'ajout de plusieurs SharePoint des classes CSS pour la partie web de la structure HTML, est en conflit avec le client du style. Après quelques recherches, j'ai trouvé que la ms-WPBody
de la classe et de ses divers élément sélecteurs sont les principaux coupables.
Je pourrais ajouter !important
à tout dans le client de feuille de style, mais c'est verboten. J'ai pu insérer quelques très salissant style dans l'enfant le contenu de la partie web dans une tentative pour remplacer le SharePoint style, qui est le cours que j'ai été la poursuite de la fin, mais ça a été de se salir. Ou, je pourrais essayer de supprimer la classe à partir de la partie web, ce qui m'amène à ma question:
Comment puis-je retirer ou de remplacer les noms de classe CSS inséré dans le code HTML de structuration pour un webpart SharePoint? Je ne connais pas assez bien les rouages de SharePoint pour savoir quoi crochet à faire ce changement, et mon google-fu est l'échec sur le sujet. CssClass
sur le ASP.NET web balisage de contrôle est évidemment ignorés, probablement un vestige hérité de WebControl
.
M'aider StackOverflow! Vous êtes mon seul espoir!
Modifier
Je m'excuse de n'avoir pas clair avant, mais je tiens à préciser que je grok CSS et je ne suis pas à la recherche pour obtenir de l'aide avec style. Vraiment ce que je cherche, c'est comment faire pour supprimer la classe CSS émis par SharePoint. Quelqu'un peut-il aider? Je vais enlever le CSS de la balise, puisque cela semble être embrouiller les gens. Cette question n'est pas vraiment à propos de CSS, c'est sur SharePoint.
OriginalL'auteur Randolpho | 2010-10-19
Vous devez vous connecter pour publier un commentaire.
CSS est de faire correspondre le code html qu'il est appliqué à avec html généré comme celui produit par SharePoint (ou standard asp.net webforms que ce soit), il est généralement beaucoup plus facile de modifier la css. Si l'ajout de l'important n'est pas une option que vous pouvez généralement faire quelque chose à l'aide plus spécifique sélecteurs - c'est à dire un style défini comme "table td" remplace celui de "td" même s'ils ont pour effet de sélectionner tous les éléments. Vous pouvez utiliser cette approche pour annuler tous les bits de sharepoint style qui sont causign questions.
Si vous voulez vraiment changer les classes sharepoint met sur la page, utilisez jquery - en essayant de le faire côté serveur est vraiment pas quelque chose que vous voulez obtenir dans votre premier projet sharepoint.
utilisation de jquery pour modifier une classe parce que vous ne voulez pas modifier votre css est vraiment une mauvaise idée. Vous devez vous rappeler que jquery sera exécuté après le dom est chargé, et, par conséquent, la page se rendre dans un sens et puis changer pour la rendre d'une autre manière, de tous de faire quelque chose que le navigateur doit rendre naturellement. Vous devriez vraiment regarder soit l'habillage de votre site web en partie ou en utilisant des CSS spécifiques. Une clé à pipe peut être utilisé pour mettre un clou dans le mur, mais n'est-il pas beaucoup plus efficace d'utiliser un marteau?
brinley: comme je l'ai mentionné avant, plus spécifique, CSS est très salissant à cause de ma plutôt les contraintes unique. Même si je suis d'accord avec vous, en principe, à ce que j'ai vraiment besoin de faire est de supprimer la classe. Je préfère le faire dans SharePoint, mais personne ne semble savoir comment faire. JQuery est une idée qui vaut la peine de regarder, pas quelque chose que je peut nécessairement le poursuivre.
Vous êtes à la recherche d'enlever le ms-wpbody classe juste pour tout le singulier web partie ou pour l'ensemble de votre site?
un site à l'échelle solution est de charger votre fichier CSS après le cœur.css est chargé. Le noyau.css est chargé dernier dans le fichier principal de votre page principale. Dans votre fichier css, vous pouvez simplement remplacer le ms-wpbody avec toutes les infos que vous souhaitez remplacer de base.css. ou vous pouvez même tout simplement écrire le css définition après la balise head si vous ne voulez pas le code dans votre fichier css spécifique. j'.e.. .ms-wpbody { background-color: purple; }
OriginalL'auteur Tom Clarkson
Je ne suis pas sûr de suivre, mais pourquoi ne pas envelopper votre webpart dans un div conteneur et puis le style au contenu de votre coeur:
En 2007, nous avons eu à se soucier de s'assurer que votre feuille de style a été nommé en dernier dans l'ordre alphabétique, de sorte qu'il a été appliqué correctement. Préfixe votre fichier css avec z pour voir si ça 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/
Le point est que si vous utilisez DIV id (ou mieux de la classe dans le cas où vous pouvez avoir plusieurs composants webpart sur une page) MyCustomCSS ensuite, vous pouvez appliquer le style à la juste votre propre site web de partie à l'aide de "DIV.ms-WPBody DIV.myCustomCss P" - P à l'intérieur de DIV avec la classe myCustomCss à l'intérieur de DIV avec classs ms-WPBody.
Je m'excuse, je pensais que j'avais expliqué que je comprends que, plus spécifique, CSS, c'est une approche que je peux utiliser, c'est mon approche actuelle, mais c'est de se salir. Ma question n'est pas "comment puis-je utiliser les CSS?", c'est "comment puis-je supprimer cette classe CSS à partir du HTML émis par SharePoint?"
OK je t'ai eu! dois dire cependant que je pense que la modification de la CSS émis (soit côté client jquery foo ou côté serveur adaptateurs) sonne comme plus de travail que d'impérieuses css. Bonne chance!
OriginalL'auteur Peter Walke
Voici quelques exemples de Web HTML:
Le truc, c'est que le Web lui-même, est l'intérieur du DIV (et tous ses enfants). La DIV extérieure (l'un avec le ms-WPBody classe) est le WebPartZone. Ce contrôle est scellé, mais vous pouvez écrire un Adaptateur qui va rendre le WebPartZone toutefois vous le souhaitez. La plupart des exemples sont pour la table-moins de rendu, vous pouvez en écrire un qui maintient la structure existante, mais supprime les classes.
Pour moi, le codage, tout ça, puis l'enregistrer dans le compat.navigateur de App_Browsers pour l'Application Web semble exagéré, donc je serais probablement aller avec jQuery (mais si vous ne l'Adaptateur, j'aimerais bien le voir).
Aussi, WRT overkill... Honnêtement, à ce point, je me sens comme une nouvelle carte peut être moins exagéré que les CSS de piratage, ce qui, je pense que je l'ai mentionné, est maintenant très salissant et pas encore le droit.
OriginalL'auteur Rich Bennema
Ou tout simplement ajouter un composant webpart Éditeur de Contenu et de remplacer le CSS de l'élément de style dans le HTML:
- La paix!
OriginalL'auteur Poodle
comment êtes-vous du chargement de votre fichier CSS? SI vous le chargez dans le cadre de l'en-tête de votre page principale, ou à travers la fixation d'un personnalisé.css, vous pouvez le charger à l'extérieur de la tête. Cela devrait faire en sorte qu'il se charge après de base.css et, par conséquent, vous permettent de remplacer les classes standard en tant que de besoin.
OriginalL'auteur brian brinley