Per esempio:
p + p {
/* Some declarations */
}
Non so che cosa +
significhi. Qual è la differenza tra questo e la definizione di uno stile p
senza + p
?
Per esempio:
p + p {
/* Some declarations */
}
Non so che cosa +
significhi. Qual è la differenza tra questo e la definizione di uno stile p
senza + p
?
Risposte:
Vedi selettori adiacenti su W3.org.
In questo caso, il selettore indica che lo stile si applica solo ai paragrafi che seguono direttamente un altro paragrafo.
Un semplice p
selettore applicherebbe lo stile a ogni paragrafo della pagina.
Funzionerà solo su IE7 o versioni successive. In IE6, lo stile non verrà applicato a nessun elemento. Questo vale anche per il >
combinatore, tra l'altro.
Vedi anche la panoramica di Microsoft per la compatibilità CSS in Internet Explorer .
visibility : hidden/visible
invece di display : none/block
. Vedi questo riferimento .
p > p
significa un nidificato p
, e qualsiasi p
che sia direttamente sotto un altro p
, come ad esempio <p><p>This paragraph</p></p>
.
È il selettore di fratelli adiacenti.
Per definire un selettore CSS adiacente, viene utilizzato il segno più.
h1+p {color:blue;}
Il codice CSS sopra formatterà il primo paragrafo dopo (non all'interno) le intestazioni h1 come blu.
h1>p
seleziona qualsiasi p
elemento che sia un figlio diretto (di prima generazione) (interno) di un h1
elemento.
h1>p
partite <h1>
<p></p>
</h1>
( <p>
dentro <h1>
)h1+p
selezionerà il primo p
elemento che è un fratello (allo stesso livello del dom) come h1
elemento.
h1+p
partite <h1></h1>
<p><p/>
( <p>
vicino a / dopo <h1>
)plus sign
e greater sign
. Se uso h1>p
invece di h1+p
, mi dà lo stesso risultato? Potresti spiegare un po 'quanto sono diversi tra loro?
h1>p
seleziona qualsiasi p
elemento che sia figlio diretto (di prima generazione) di un h1
elemento. h1+p
selezionerà il primo p
elemento che è un fratello (allo stesso livello del dom) come h1
elemento. h1>p
partite <h1><p><p></h1>
, h1+p
partite<h1></h1><p><p/>
Il +
segno significa selezionare un "fratello adiacente"
Ad esempio, questo stile verrà applicato dal secondo <p>
:
Guarda questo JSFiddle e lo capirai: http://jsfiddle.net/7c05m7tv/ (Un altro JSFiddle: http://jsfiddle.net/7c05m7tv/70/ )
I selettori di fratelli adiacenti sono supportati in tutti i browser moderni.
"+" è il selettore fratello adiacente. Selezionerà qualsiasi p DIRETTAMENTE DOPO ap (ma non un figlio o un genitore, un fratello).
+
viene chiamato il selettore Adjacent Sibling Selector
.
Ad esempio, il selettore p + p
seleziona gli p
elementi immediatamente successivi agli p
elementi
Può essere pensato come un looking outside
selettore che controlla l'elemento immediatamente successivo.
Ecco un frammento di esempio per rendere le cose più chiare:
body {
font-family: Tahoma;
font-size: 12px;
}
p + p {
margin-left: 10px;
}
<div>
<p>Header paragraph</p>
<p>This is a paragraph</p>
<p>This is another paragraph</p>
<p>This is yet another paragraph</p>
<hr>
<p>Footer paragraph</p>
</div>
Dato che siamo uno stesso argomento, vale la pena menzionare un altro selettore, ~
selettore, che èGeneral Sibling Selector
Ad esempio, p ~ p
seleziona tutto ciò p
che segue p
non importa dove si trova, ma entrambi p
dovrebbero avere lo stesso genitore.
Ecco come appare con lo stesso markup:
body {
font-family: Tahoma;
font-size: 12px;
}
p ~ p {
margin-left: 10px;
}
<div>
<p>Header paragraph</p>
<p>This is a paragraph</p>
<p>This is another paragraph</p>
<p>This is yet another paragraph</p>
<hr>
<p>Footer paragraph</p>
</div>
Si noti che anche l'ultimo p
è abbinato in questo esempio.
Corrisponderebbe a qualsiasi elemento p
immediatamente adiacente a un elemento 'p'. Vedi: http://www.w3.org/TR/CSS2/selector.html
+
presenta uno dei relativi selettori. Elenco di tutti i relativi selettori:
div p
- Tutti gli <p>
elementi all'interno degli <div>
elementi sono selezionati.
div > p
- Tutti gli <p>
elementi il cui genitore diretto è <div>
selezionato. Funziona anche al contrario ( p < div
)
div + p
- Tutti gli <p>
elementi vengono posizionati immediatamente dopo la <div>
selezione dell'elemento.
div ~ p
- Sono selezionati tutti gli <p>
elementi che sono preceduti da un <div>
elemento.
Maggiori informazioni sui selettori sono disponibili qui .
p+p{
//styling the code
}
p+p{
} simply mean find all the adjacent/sibling paragraphs with respect to first paragraph in DOM body.
<div>
<input type="text" placeholder="something">
<p>This is first paragraph</p>
<button>Button </button>
<p> This is second paragraph</p>
<p>This is third paragraph</p>
</div>
Styling part
<style type="text/css">
p+p{
color: red;
font-weight: bolder;
}
</style>
It will style all sibling paragraph with red color.
l'output finale è simile al seguente
Il Plus (+) selezionerà il primo elemento immediato. Quando usi + selettore devi dare due parametri. Questo sarà più chiaro con l'esempio: qui div e span sono parametri, quindi in questo caso solo il primo span dopo il div sarà disegnato.
div+ span{
color: green;
padding :100px;
}
<div>The top or first element </div>
<span >this is span immediately after div, this will be selected</span>
<span>This will not be selected</span>
Lo stile sopra si applica solo al primo intervallo dopo il div. È importante notare che il secondo intervallo non verrà selezionato.
Significa che corrisponde a ogni p
elemento che è immediatamente adiacente
www.snoopcode.com/css/examples/css-adjacent-sibling-selector