Poiché un ID deve essere univoco in HTML, perché a volte vedo i selettori Css formattati come (div # nav-blue), poiché è ovvio che non ci saranno altri elementi che hanno questo ID eccetto per quel div, quindi non scriverò # blu nav ha più senso?Se gli ID in HTML devono essere unici, perché a volte vedo in Css qualcosa di simile a div # nav-blue?
7
A
risposta
5
Non cambia o un po '.
È possibile farlo per qualche motivo: maggiore visibilità quando si mantiene il codice. Più facile da trovare e ricordare per ogni tipo di elemento è lo stile.
Il secondo motivo è la priorità del selettore.
V'è una certa diverso ordine di priorità:
!important > #id > .class > element
si può considerare che
element = 1
.class = 10
#id = 100
!important= 1000
E poi div#id
= 101>#id
= 100
div#myid{
color:red;
}
#myid{
color:blue;
}
.myclass{
color:yellow;
}
div{
color:green;
}
<div class="myclass" id="myid">
Some text
</div>
+0
Abbastanza chiaro, grazie mille. – Hassan
Chi lo sa? Potrebbe essere qualcuno che non capisce che gli ID sono pensati per essere unici, potrebbe essere che l'ID possa essere assegnato a elementi di tipi diversi su altre pagine e l'autore vuole solo bersagliarlo se è assegnato a un div su una determinata pagina , potrebbe essere un attacco di specificità ... o potrebbe essere interamente stilistico (per quell'autore). – BoltClock
Non si può presumere che # nav-blue sarà sempre assegnato ad un div, per esempio. Puoi fare una tale ipotesi se hai il controllo del markup e le tue regole dicono che sarà sempre assegnato a un div, nel qual caso yes div # nav-blue è ridondante, ma in un altro progetto l'ID potrebbe essere assegnabile ad altri tipi di elementi - distinguere il tipo può essere utile all'autore. – BoltClock
Secondo me, non ha alcun senso, aggiunge inutilmente alla specificità del selettore. ci sono persone che hanno l'abitudine di scrivere in quel modo. –