2009-06-10 8 views
15

la mia domanda è se è possibile reimpostare gli stili css (molto diversi da loro) per un singolo div e tutti gli elementi contenuti in tale div.reimposta più stili css per un elemento div singolo

Sto chiedendo, perché ho trovato questo tutorial per un jquery shoutbox che ha il proprio file css . Non riesco a copiare gli stili nel mio file css, perché rovinerà il resto della pagina in cui gli stili sono già impostati.

Ho pensato di utilizzare un divwrapper e applicare tutti quei reset solo a quello. io non sono solo sicuro se è possibile

So solo in questo modo

#divwrapper td{ set styles } 

@CHARSET "UTF-8"; 
/******* GENERAL RESET *******/ 
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, 
font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, 
tfoot, thead, tr, th, td { 
border:0pt none; 
font-family:inherit; 
font-size: 100%; 
font-style:inherit; 
font-weight:inherit; 
margin:0pt; 
padding:0pt; 
vertical-align:baseline; 
} 

grazie, Richard

+0

possibile duplicato di [Reimposta/rimuovi stili CSS per solo elemento] (http://stackoverflow.com/questions/15901030/reset-remove-css-styles-for-element-only) –

+0

Non è un duplicato, ma è sicuramente correlato . – Shog9

risposta

4

se pratico si potrebbe mettere tutti i contenuti ad essere 'reset' in un iframe. I contenuti iframe non erediteranno nulla.

+0

Come ?? E nel css ... # shoutbox {} Ripristina stili diresti se pratico, v'è uno svantaggio fuori facendo così –

+0

no, iframe deve utilizzare un href e puntare su un'altra pagina html (con la propria testa, il corpo ecc. Il contenuto tra i tag è un contenuto alternativo per i browser che non supportano i frame (praticamente nessuno ora) – SpliFF

+0

Lo svantaggio degli iframe è che tutto è veramente in un altro documento e non è possibile spostare alcun contenuto iframe fuori dal frame.Google può trattare il contenuto iframe come una pagina indipendente.Il vantaggio è che i tuoi stili JS/CSS non entrano in conflitto – SpliFF

12

Prova questo:

div.foo, div.foo * 
{ 
    // your styles 
} 

che si applicherà gli stili al div con classe "pippo" e tutti i suoi discendenti. La stella (*) è nota come universal selector e, non a caso, seleziona elementi di qualsiasi tipo.

o solo per i bambini immediati:

div.foo, div.foo > * 
{ 
    // your styles 
} 
+0

Credo che stia selezionando tutti i discendenti [o figli] più il contenuto del div – tschaible

+0

oh, la virgola separa i selettori, capito. Proverò a quello –

+1

lo spazio dopo la virgola conta – SpliFF

2

Come accennato in precedenza @Noldorin, si desidera un selettore che seleziona tutti i discendenti (o bambini) utilizzando il selettore universale.

Per ulteriori informazioni sui selettori, consultare la documentazione di W3C. Informazioni selettore CSS2 è here

codice di esempio (ho scelto di utilizzare un selettore per ID al contrario di classe) per illustrare:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
"http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
<title>CSS Reset</title> 

<style> 
.red{ 
    color: red; 
} 
.blue{ 
    color: blue; 
} 
.green{ 
    color: green; 
} 

#reset *{ 
    color: black; 
} 

#resetc > *{ 
    color: black; 
} 

</style> 
</head> 
<body> 
<h1>With Descendant Reset Style</h1> 
<div id="reset"> 
    <div class="red">Red</div> 
    <p class="green">Green<span class="blue">Blue</span></p> 
</div> 

<h1>With Child Reset Style</h1> 
<div id="resetc"> 
    <div class="red">Red</div> 
    <p class="green">Green<span class="blue">Blue</span></p> 
</div> 

<h1>Without Reset Style</h1> 
<div> 
    <div class="red">Red</div> 
    <p class="green">Green<span class="blue">Blue</span></p> 
</div> 
</body> 
</html> 
+0

+1 grazie mille! –