Desidero rendere "grammaticalmente corretto" gli elenchi utilizzando i CSS. Questo è quello che ho finora:Combinazione di pseudo-elementi CSS, ": after" the ": last-child"
I tag <li>
vengono visualizzati in orizzontale con una virgola dopo di essi.
li { display: inline; list-style-type: none; }
li:after { content: ", "; }
che funziona, ma voglio che il "last-child" per avere un periodo, invece di una virgola. E, se possibile, mi piacerebbe mettere "e" anche prima dell'ultimo bambino. Le liste che sto stilando sono generate dinamicamente, quindi non posso dare una classe agli "ultimi figli". Non è possibile combinare gli pseudo-elementi, ma questo è fondamentalmente l'effetto che voglio ottenere.
li:last-child li:before { content: "and "; }
li:last-child li:after { content: "."; }
Come faccio a fare questo lavoro?
davvero non dovresti usare css per questo. –
Sono d'accordo con Funky Dude un po '. Sarebbe meglio farlo in HTML (o codebehind se è più che semplice HTML). Il CSS è per la formattazione :) – Zyphrax
Io ... personalmente, tendo a sostenere che, in una lista, la formattazione è una cosa piacevole, non una necessità. In questo caso, l'utilizzo del CSS consente aggiunte o rimozioni più semplici dall'elenco, rispetto all'utilizzo della codifica html o lato server. Ma sono così stranamente, a volte, e onestamente ymmv, ecc ... =) –