Domanda

Se ho nomi di classe come " left " ;, " right " ;, " clear " e xhtml come

<a href="index.php" class="right continueLink">Continue</a>

Con CSS come

.right {
float: right;
}

So che non è un nome semantico, ma a volte rende le cose molto più facili.

In ogni caso, quali sono i tuoi pensieri?

È stato utile?

Soluzione

Non credo sia un'ottima idea. Ora quando tu (o un futuro manutentore) vai a cambiare il layout del tuo sito web, dovrai cambiare .right in {float: left;} (ovviamente un male idea) o scorrere tutti i file HTML e cambiare right in left .

Perché vuoi che quel particolare link sia spostato correttamente, e l'altro .continueLink non lo è? Usa la risposta a quella domanda per scegliere un nome di classe più descrittivo per quel link.

Altri suggerimenti

css riguarda la presentazione della struttura della tua pagina html.

Significa che le sue classi dovrebbero rappresentare la struttura del documento ('articolo', 'extra-links', 'glossario', 'introduzione', 'conclusione', ...).

Dovresti evitare qualsiasi classe collegata a una rappresentazione fisica ('left', 'right', 'footnotes', 'sidenotes', ...), perché, come Zen Garden illustra così chiaramente che puoi decidere di posizionare qualsiasi div in modi molto diversi e diversi.

I puristi diranno di non farlo, e i pragmatici diranno che va bene. Ma i puristi definirebbero .right come float: left ?

Potrebbe essere consigliabile evitare nomi uguali ai valori nelle specifiche CSS per evitare confusione. Soprattutto nelle situazioni in cui più sviluppatori lavorano sulla stessa applicazione.

A parte questo, non vedo alcun problema. Qualificherei il nome destro o sinistro in questo modo: menuleft, menuright ecc.

Essendo un purista, dico di no, non farlo. Per i motivi menzionati in precedenza.

Essendo un pragmatico, volevo solo dire che non ho mai visto rielaborazioni di siti Web che comportavano modifiche html pure senza CSS o CSS puro senza HTML, semplicemente perché entrambe le parti sono state sviluppate pensando alle altre. Quindi, in realtà, se qualcun altro dovesse MAI cambiare pagina, scommetto che il mio stipendio cambierà sia in html che in css.

Quanto sopra è qualcosa che i puristi del collega spesso tendono ad ignorare, anche se è la realtà. Ma linea di fondo; no, evita di usare un className come " right " ;. : -)

.right e altre classi come questa, sicuramente rendono veloce la scrittura di creare un tag con una regola float: right , ma penso che questo metodo abbia più svantaggi che vantaggi:

Spesso uno stile di classe con un singolo float: right; in esso mancherà qualcosa, il tuo esempio galleggerà correttamente solo se l'altra regola di classe contiene un display : block in esso, poiché un " a " tag non è un elemento a livello di blocco. Inoltre, gli elementi mobili il più delle volte devono avere una larghezza e un'altezza attaccate. Ciò significa che il codice nel tuo esempio ha bisogno di un codice aggiuntivo per fare ciò che dice, e devi cercare in due posti quando devi cambiare il tuo CSS.

Tendo a modellare il mio html dividendo la pagina in diversi div-tag con ID univoci, e quindi disegnando elementi in questi div in eredità come questo.

div#sidebar { float:right; width:200px; }
div#sidebar ul { list-style-type:none; }

Questo rende possibile partizionare i miei file CSS, in modo che sia facile trovare il codice CSS che modella un particolare tag, ma se si introducono .right e altre classi si inizia a disperdere le regole in diverse aree di il file css, rendendo il sito più difficile da mantenere.

Penso che l'idea di avere classi molto generiche sia nata dal desiderio di rendere possibile cambiare l'intero layout del sito cambiando un paio di regole in un foglio di stile, ma devo dire che nei miei 8 anni di sviluppo di siti Web con oltre 30 siti diversi, non ho cambiato una volta il layout di un sito Web e riutilizzato l'HTML.

Ciò che ho fatto innumerevoli volte è apportare piccole modifiche alle aree delle pagine, a causa di piccoli cambiamenti nel design o dell'introduzione di nuovi browser. Quindi sono tutto per mantenere i miei css divisi in blocchi ordinati che rendono facile trovare le regole che sto cercando e non mettere il codice in luoghi diversi per ottenere un foglio di stile più corto.

Saluti Jesper Hauge

Sì, semanticamente parlando è sbagliato, ma, ad esempio, ci sono momenti in cui sto posizionando le immagini all'interno di un blocco di body copy e darò loro la classe "giusto".

Forse " alt " è un nome di classe più adatto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top