mi piacerebbe utilizzare un elenco di definizioni di semplice come:stile un elenco definitition semplice valore della chiave impostato
<dl>
<dt>name:</dt>
<dd>Tomas</dd>
<dt>address:</dt>
<dd>this is a very long wrapping address</dd>
<dt>age:<dt>
<dd>29</dd>
<dl>
a rendere qualcosa di simile:
name: Tomas
address: this is a very long
wrapping address
age: 29
L'elenco definizione sembra semanticamente il migliore opzione qui.
Utilizzando il nuovo stile di visualizzazione di run-in farà il trucco:
<style> dt { display: run-in; } </style>
Ma questo non è ampiamente ancora supportato. Come posso modellare la mia lista di definizioni per un migliore supporto cross-browser (ie6 non necessario), senza modificare l'html (attualmente utilizzo la visualizzazione in linea e aggiungo brutti br)?
Modifica per chiarire:
dt { clear: left; }
dd { float: left; }
non funzionerà, perché avrebbe reso come:
name: Tomas
address: this is a very long
wrapping address
age: 29
La progettazione specifica che questi campi multi-linea dovrebbe avvolgere al punto di partenza della linea di preservare spazio.
La tua soluzione sembra funzionare bene con un avvertimento: se un dd è vuoto il dd sotto di esso si sposterà sul campo sbagliato! Tuttavia per la mia applicazione questo non è un problema dato che non si verificheranno linee vuote. Grazie! – Tomas
Se non lo sapevi, puoi avere più elementi 'dt' per' dd' e viceversa (l'idea di essere un "termine" può avere più definizioni e la stessa definizione può essere usata per più termini). Il problema che hai menzionato si verifica perché un 'dd' vuoto viene ignorato, quindi il' dt' per questo è raggruppato con il successivo 'dt' ed entrambi associati a quest'ultimo' dd'. – DisgruntledGoat
Ooh, ho trovato una soluzione: rimuovere 'clear: left' su' dt' e aggiungerla come una regola separata: 'dd: after {content:". "; visibilità: nascosta; chiaro: a sinistra; } ' – DisgruntledGoat