Domanda

Ho cercato di alta e bassa per una risposta soddisfacente a questa e non è riuscito. Spero StackOverflow in grado di fornire per me!

Sto utilizzando SharePoint Foundation 2010 (il mio primo vero tentativo di immersione profonda in SharePoint), con (tra le altre cose) un web personalizzato parte; la pagina master per il sito utilizza un file CSS fornito dal cliente e al quale devo rispettare. Il problema che sto avendo è che SharePoint, con l'aggiunta di diverse classi CSS SharePoint specifici alla struttura HTML parte web, è in conflitto con lo stile del cliente. Dopo un po 'di scavo, ho scoperto che la classe ms-WPBody e le sue varie selettori elementi sono i principali colpevoli.

Potrei aggiungere !important a tutto ciò nel foglio di stile cliente, ma che è verboten. Potrei inserire qualche styling molto disordinato nel contenuto figlio della parte web, nel tentativo di ignorare lo stile di SharePoint, che è il corso che ho portato avanti negli ultimi tempi, ma è stato ottenere disordinato. Oppure, potrei provare a rimuovere la classe dalla parte web, che mi porta alla mia domanda:

Come Posso rimuovere o altrimenti sostituire i nomi delle classi CSS inseriti nella strutturazione HTML per una parte di SharePoint web? Io non ne so abbastanza del funzionamento interno di SharePoint per sapere cosa il ricevitore per effettuare questo cambiamento, e il mio google-fu è fail sull'argomento. CssClass sul markup controllo web ASP.NET è ovviamente ignorato, probabilmente qualche retaggio ereditato da WebControl.

Aiuto mi StackOverflow! Sei la mia unica speranza!

Modifica
Mi scuso per non aver precisato prima, ma mi piacerebbe stato che io Grok CSS e non sono alla ricerca di aiuto con lo styling. Quello che veramente sto cercando è come rimuovere la classe CSS emessa da SharePoint. Chiunque può aiutare lì? Ho intenzione di rimuovere il tag CSS, dal momento che sembra essere fonte di confusione persone. Questa domanda non è davvero di CSS, si tratta di SharePoint.

È stato utile?

Soluzione

CSS deve corrispondere il codice html che viene applicata a - con l'HTML generato come quella prodotta da SharePoint (o ASP.NET WebForms standard per quella materia) di solito è molto più facile per modificare il CSS. Se l'aggiunta di importante non è un'opzione di solito si può fare qualcosa utilizzando selettori più specifici - cioè uno stile definito come "table td" sarà ignorare uno per "td" anche se in realtà selezionare tutti gli stessi elementi. È possibile utilizzare questo metodo per annullare qualsiasi bit di SharePoint styling che sono le questioni causign.

Se si vuole veramente cambiare le classi di SharePoint mette sulla pagina, utilizzare jQuery - cercando di fare che lato server in realtà non è qualcosa che si desidera entrare in sul primo progetto di SharePoint

.

Altri suggerimenti

Non sono sicuro che io seguo, ma perché non avvolgere il vostro webpart in un div contenitore e poi lo stile al contenuto del vostro cuore:

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

Nel 2007, abbiamo dovuto preoccuparsi di rendere sicuro il vostro foglio di stile è stato chiamato ultima in ordine alfabetico in modo che esso è stato applicato correttamente. Prefisso il file CSS con z per vedere se aiuta.

Ecco un articolo di riferimento in merito alla questione: http: // singchan.com/2009/12/29/branding-sharepoint-2010-collaboration-sites-part-2-in-a-series/

Ecco alcuni tipici Web Part 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>

Il trucco è che il Web Part stesso è il DIV interno (e tutti i suoi figli). Il DIV esterno (quello con la classe ms-WPBody) è WebPartZone . Questo controllo è sigillato, ma è possibile scrivere un adattatore che renderà il WebPartZone tuttavia si desidera. La maggior parte dei esempi sono per il rendering table-less, si potrebbe scrivere uno che mantiene la struttura esistente, ma rimuove le classi.

Per me, la codifica tutto questo e poi registrarlo nella Compat.Browser di App_Browsers per l'applicazione Web sembra eccessivo, così probabilmente sarei andare con jQuery (ma se si fa l'adattatore, mi piacerebbe vedere esso).

O semplicemente aggiungere un contenuto web part Editor e ignorare l'elemento di stile CSS nel codice HTML:

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

-! Pace

come stai caricando il file CSS? Se si sta caricando nella parte della testa della vostra pagina master, o solo attraverso la fissazione di un custom.css, si può provare a caricare al di fuori della testa. Questo dovrebbe causare a carico dopo core.css e consentono pertanto di ignorare le classi standard, se necessario.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top