Re: [Web2.0] [CSS] ul ma perché...

Andrea Colanicchia andrea.colanicchia a gmail.com
Gio 4 Gen 2007 14:49:39 CET


On 1/4/07, Marcello Vezzelli <marcello a vezz.it> wrote:
> Ciao a tutti,
> premetto che il mio livello di competenza sui CSS è piuttosto basso,
> tant'è che mi trovo spesso con problemi surreali dei quali mi sfugge
> l'origine.
> Ho questo stralcio di CSS:
>
> p, ul, ol, dl, table {
>    font-size: 1em;
> }
> ul, ol {
>    margin: 0.5ex 0 1em;
>    padding: 0;
> }
> li {
>    padding: 0;
>    margin: 0 0 0.1em 30px;
> }
> ul li {
>    list-style: square;
> }
> ul.my {
>    list-style: none;
> }
> li.my {
>    list-style: none;
>    padding: 0;
>    margin: 0 0 0.1em 10px;
> }
>
> Mi interessano ul e li.
> Definisco il default per ul e li, poi definisco una classe 'my' con
> alcune variazioni.
>
> Io vorrei sapere perché sto czz%6£&%$& di str@#°ç°ç quando uso
> <ul class="my">
> <li>ciao</li>
> </ul>

Oltre a tutte le cose importanti che ti hanno scritto gli altri devi
considerarne anche un'altra.

Quando due regole si sovrappongono vale quella più specifica.

Per capire quale sia la + specifica devi leggere qui in cui c'è
scritto come fare il calcolo:

http://www.w3.org/TR/REC-CSS1#cascading-order

La dichiarazione "ul li" si sovrappone alla dichiarazione "ul.my", ma
"ul li" vince perché
 è + specifica.

"ul.my" dichara una proprietà su UL con classe "my" che poi si
dovrebbe ereditare negli LI interni, mentre "ul li" va direttamente a
settare la proprietà in ogni LI dentro una UL qualsiasi e vince :)

Per questo alla fine hai i quadrati.

Andrea.


Maggiori informazioni sulla lista Web2.0