Ho il seguente codice CSS e HTML:CSS/HTML: ul: Selettore vuoto non corrisponderà un elenco vuoto
<ul id="actions" class="frame frame-yellowglow">
</ul>
CSS
ul#actions {
clear: left;
width: calc(60% - 2px);
margin: 5px auto;
padding: 10px 0px;
text-align: center;
}
ul#actions:empty {
margin: 0;
padding: 0;
}
ul#actions li {
display: inline;
margin: 0px 3px;
}
.frame {
border-radius: 5px;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
border: 1px #dddddd solid;
}
.frame:empty {
border: none;
box-shadow: none;
}
.frame-yellowglow {
border: 1px #D4B700 solid;
box-shadow: 0 0 4px #D4B700;
}
Il ul
è popolato con le icone per alcuni azioni che possono essere eseguite. Tuttavia, lo ul
non corrisponde al: selettore vuoto quando vuoto e come tale esegue ancora il rendering; confine, imbottitura, ombra e tutto.
[EDIT: Per chiarire, sto parlando di quando gli elementi non sono stati ancora aggiunti. Anche quando non c'è nulla dentro, non corrisponde ancora al: selettore vuoto. ]
Perché è così?
In che modo è popolato? Se l'oggetto DOM ha figli, non conterà come vuoto. Se questi elementi sono presenti a causa di markup o Javascript è irrilevante. – lonesomeday
Quando dici "vuoto" vuoi dire che è solo "
"? Inoltre, a quale browser stai lavorando (': empty' potrebbe non essere supportato)? – ASGM
@lonesomeday tramite PHP ogni volta che la pagina viene generata e può cambiare tramite javascript. – Jake