elementos-interactivos.rst 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. .. 4.11
  2. ======================
  3. Elementos interactivos
  4. ======================
  5. El elemento ``details``
  6. =======================
  7. El elemento de ``<details>`` representa un widget de revelación desde el cual el
  8. usuario puede obtener información adicional o controles.
  9. Dentro de ``<details>`` lo primero que tenemos que poner es el elemento
  10. ``<summary>`` (resumen de los detalles) opcionalmente.
  11. El elemento de ``<details>`` no es apropiado para las notas a pie de página.
  12. El resto del contenido del elemento representa la información adicional o
  13. los controles.
  14. Si el atributo booleano ``open`` está presente, indica que tanto el resumen
  15. como la información adicional se mostrarán al usuario. Si el atributo está
  16. ausente, sólo se mostrará el resumen.
  17. El ejemplo siguiente muestra el elemento de ``<details>`` que se utiliza para
  18. ocultar detalles técnicos en un informe de progreso.
  19. .. code-block:: html
  20. <section class="ventana progreso">
  21. <h1>Copiando 'Realmente logrando sus sueños infantiles'</h1>
  22. <details>
  23. <summary>Copiando... <progress max="375505392" value="97543282"></progress> 25%</summary>
  24. <dl>
  25. <dt>Rango de transferencia:</dt> <dd>452KB/s</dd>
  26. <dt>Nombre de archivo local:</dt> <dd>/home/rpausch/raycd.m4v</dd>
  27. <dt>Nombre de archivo remoto:</dt> <dd>/var/www/lectures/raycd.m4v</dd>
  28. <dt>Duracion:</dt> <dd>01:16:27</dd>
  29. <dt>Color del perfil:</dt> <dd>SD (6-1-6)</dd>
  30. <dt>Dimensiones:</dt> <dd>320×240</dd>
  31. </dl>
  32. </details>
  33. </section>
  34. A continuación se muestra cómo se puede utilizar un elemento ``<details>``
  35. para ocultar algunos controles de forma predeterminada:
  36. .. code-block:: html
  37. <details>
  38. <summary><label for=fn>Nombre &amp; Extensión:</label></summary>
  39. <p><input type=text id=fn name=fn value="Pilar Magazine.pdf">
  40. <p><label><input type=checkbox name=ext checked>Hide extension</label>
  41. </details>
  42. Uno podría usar esto en conjunción con otros ``<details>`` en una lista para permitir
  43. al usuario colapsar un conjunto de campos hasta un pequeño conjunto de encabezados,
  44. con la capacidad de abrir cada uno.
  45. .. image:: imagenes/details1.png
  46. .. image:: imagenes/details2.png
  47. En estos ejemplos, el elemento ``<summary>`` resume realmente lo que los
  48. controles pueden cambiar, y no los valores reales.
  49. Debido a que el atributo ``open`` se agrega y se elimina automáticamente cuando
  50. el usuario interactúa con el control, puede utilizarse en CSS para diseñar el
  51. elemento de forma diferente en función de su estado. Aquí se utiliza una hoja
  52. de estilo para animar el color del resumen cuando se abre o se cierra el elemento:
  53. .. code-block:: html
  54. <head>
  55. <style>
  56. details > summary { transition: color 1s; color: black; }
  57. details[open] > summary { color: red; }
  58. </style>
  59. </head>
  60. <body>
  61. <details>
  62. <summary>Automated Status: Operational</summary>
  63. <p>Velocity: 12m/s</p>
  64. <p>Direction: North</p>
  65. </details>
  66. </body>
  67. El elemento ``summary``
  68. =======================
  69. El elemento de ``<summary>`` representa un resumen, un título o una leyenda
  70. del elemento ``<details>``, si lo hay. Este elemento suele ser el primer hijo
  71. de un elemento ``<details>``.
  72. El elemento ``menu``
  73. ====================
  74. El elemento de ``<menu>`` representa un grupo de comandos que el usuario
  75. puede realizar o activar. Esto incluye tanto listas de menús como
  76. menús contextuales, como los que pueden aparecer debajo de un botón
  77. después de que se ha pulsado.
  78. Se puede utilizar con los siguientes atributos:
  79. - ``label``. El nombre del menú.
  80. - ``type``. Indica el tipo de menú. Puede tener dos valores:
  81. - ``context``. Indica un estado de *menu popup* que representa un grupo
  82. de comandos activados a partir de otro elemento.
  83. - ``toolbar``. Indica el estado de barra de herramientas (*toolbar*) que
  84. consiste una serie de comandos para la interacción con el usuario.
  85. El elemento ``menuitem``
  86. ========================
  87. El elemento ``<menuitem>`` representa un comando que el usuario puede invocar
  88. desde un menú emergente (un menú contextual).
  89. Puede utilizarse con los siguientes atributos:
  90. - ``type``. El tipo de comando. Hay tres:
  91. - ``Command``. El elemento representa un comando normal con una acción asociada.
  92. - ``Checkbox``. El elemento representa un estado o una opción que se puede alternar.
  93. - ``Radio``. El elemento representa una selección de un elemento de una lista de elementos.
  94. - ``label``. El nombre del comando, como se muestra al usuario.
  95. - ``icon``. El icono del comando.
  96. - ``disable``. Indica si el comando o control está deshabilitado.
  97. - ``checked``. Comprueba si el comando o control está seleccionado.
  98. - ``radiogroup``. Nombre o grupo de comandos que tratar como un grupo
  99. de botones de opción (*radio button*).
  100. - ``default``. Indica que es el comando por defecto.
  101. .. code-block:: html
  102. <div contextmenu="popup-menu">
  103. Right-click to see the adjusted context menu
  104. </div>
  105. <menu type="context" id="popup-menu">
  106. <menuitem type="checkbox" onclick="toggleOption()"
  107. checked="true">Checkbox</menuitem>
  108. <menuitem type="command" label="Command" icon="icon.png"
  109. onclick="doSomething()">Checkbox</menuitem>
  110. <menuitem type="radio" name="group1" onclick="option()"
  111. checked="true">Radio button 1</menuitem>
  112. <menuitem type="radio" name="group1"
  113. onclick="option()">Radio button 2</menuitem>
  114. </menu>