Titular de Iain
¿Debería seguir usando tablas de todos modos?
El código de la tabla que estaría reemplazando es:
<table>
<tr>
<td>Name</td><td>Value</td>
</tr>
...
</table>
Por lo que he estado leyendo, debería tener algo como
<label class="name">Name</label><label class="value">Value</value><br />
...
Ideas y enlaces a muestras en línea muy apreciadas. Soy un desarrollador fuera de mi profundidad de diseño.
EDITAR: Mi necesidad es poder mostrar los datos a un usuario y editar los valores en una forma separada (pero casi idéntica).
macbirdie
Creo que las listas de definición son bastante parecidas semánticamente a los pares de nombre/valor.
<dl>
<dt>Name</dt>
<dd>Value</dd>
</dl>
-
Sangrará el valor y lo colocará en una nueva línea Nombre Valor
– Lancero de fuego
14 de septiembre de 2008 a las 14:22
-
Eso depende de la hoja de estilo. Eche un vistazo al enlace en mi respuesta y compruébelo usted mismo.
– Espo
14 de septiembre de 2008 a las 14:24
-
Como dijo Espo, las listas de definiciones se pueden diseñar de la forma que desee. Puede anular fácilmente el estilo de sangría/nueva línea predeterminado.
– macbirdie
14 de septiembre de 2008 a las 14:26
-
Creo que su respuesta se beneficiaría enormemente al agregar el CSS para que se vea como una tabla.
– Noche
31 de enero de 2017 a las 1:22
Donal
Las listas de definiciones horizontales funcionan bastante bien, es decir
<dl class="dl-horizontal">
<dt>ID</dt>
<dd>25</dd>
<dt>Username</dt>
<dd>Bob</dd>
</dl>
los dl-horizontal
La clase es proporcionada por el marco Bootstrap CSS.
De Bootstrap4:
<dl class="row">
<dt class="col">ID</dt>
<dd class="col">25</dd>
</dl>
<dl class="row">
<dt class="col">Username</dt>
<dd class="col">Bob</dd>
</dl>
-
Esto funciona bien si tiene el marco CSS de arranque.
– Alex Beynenson
4 de agosto de 2017 a las 13:03
-
Solo una actualización
dl-horizontal
se deja caer en el arranque 4; pero hay una alternativa (getbootstrap.com/docs/4.0/migration/#typography)– mumair
6 de agosto de 2019 a las 5:52
-
Además, no son necesarios varios elementos dl, consulte getbootstrap.com/docs/5.2/content/typography/… para un ejemplo.
– Joao Costa
29 de mayo a las 19:53
Espo
Creo que las tablas se usan mejor para datos tabulares, que parece que tienes allí.
Si no quieres usar tablas, lo mejor sería usar listas de definiciones (<dl> and <dt>
). Aquí se explica cómo diseñarlos para que se vean como su viejo <td>
diseño.
http://maxdesign.com.au/articles/definition/
Es perfectamente razonable usar tablas para lo que parecen ser datos tabulares.
Si estoy escribiendo un formulario, generalmente uso esto:
<form ... class="editing">
<div class="field">
<label>Label</label>
<span class="edit"><input type="text" value="Value" ... /></span>
<span class="view">Value</span>
</div>
...
</form>
Luego en mi css:
.editing .view, .viewing .edit { display: none }
.editing .edit, .editing .view { display: inline }
Luego, con un poco de JavaScript, puedo cambiar la clase del formulario de edición a visualización.
Menciono este enfoque porque quería mostrar y editar los datos con casi el mismo diseño y esta es una forma de hacerlo.
Al igual que macbirdie, me inclinaría a marcar datos como este como una lista de definiciones a menos que se pueda juzgar que el contenido de la tabla existente realmente ser contenido tabular.
Evitaría usar la etiqueta de la etiqueta en la forma que propones. Eche un vistazo a la explicación de la etiqueta de la etiqueta @ https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label – realmente tiene la intención de permitirle concentrarse en su control asociado. También evite usar divs y spans genéricos ya que desde un punto de vista semántico son débiles.
Si muestra varios pares de nombre y valor en una pantalla, pero edita solo uno en una pantalla de edición, usaría una tabla en la primera pantalla y una lista de definiciones en la última.
gracias: D
use la propiedad float: por ejemplo: css:
.left {
float:left;
padding-right:20px
}
html:
<div class="left">
Name<br/>
AnotherName
</div>
<div>
Value<br />
AnotherValue
</div>
-
Este enfoque contiene poca accesibilidad ya que los nombres/valores no están juntos. También es un problema si se produce el ajuste de palabras, ya que los nombres y los valores se desalinearán.
– Chris Walsh
18 de agosto de 2017 a las 9:36
¿Puedes explicar qué tipo de página es esa? Por ejemplo, ¿es un formulario o tiene datos que deben mostrarse en una “tabla”? 😉
– Hasta
14 de septiembre de 2008 a las 14:18
El título principal es engañoso, sería bueno que alguien pudiera editarlo para reflejar el hecho de que IainMH estaba hablando sobre el diseño de los campos de formulario.
– andyuk
14 de septiembre de 2008 a las 22:13