Saltar al contenido principal Saltar a la navegación de la documentación
¡Hay una versión más nueva de Bootstrap!
Ver en GitHub

Reboot

Reboot, una colección de cambios CSS específicos por elemento en un solo archivo, inicia Bootstrap para proporcionar una base elegante, consistente y simple sobre la que construir.

Enfoque

Reboot se basa en Normalize, proporcionando a muchos elementos HTML estilos algo opinados usando solo selectores de elementos. El estilo adicional se aplica solo con clases. Por ejemplo, reiniciamos algunos estilos de <table> para una base más simple y luego proporcionamos .table, .table-bordered, y más.

Aquí están nuestras directrices y razones para elegir qué sobrescribir en Reboot:

  • Actualizamos algunos valores predeterminados del navegador para usar rems en lugar de ems para un espaciado escalable de componentes.
  • Evita margin-top. Los márgenes verticales pueden colapsar, produciendo resultados inesperados. Más importante aún, una sola dirección de margin es un modelo mental más simple.
  • Para un escalado más fácil entre diferentes tamaños de dispositivo, los elementos de bloque deben usar rems para los margins.
  • Mantén las declaraciones de propiedades relacionadas con font al mínimo, usando inherit siempre que sea posible.

Valores predeterminados de página

Los elementos <html> y <body> se actualizan para proporcionar mejores valores predeterminados para toda la página. Más específicamente:

  • The box-sizing is globally set on every element—including *::before and *::after, to border-box. This ensures that the declared width of element is never exceeded due to padding or border.
    • No se declara un font-size base en el <html>, pero se asume 16px (el valor predeterminado del navegador). Se aplica font-size: 1rem en el <body> para un escalado tipográfico responsivo fácil mediante media queries, respetando las preferencias del usuario y asegurando un enfoque más accesible. Este valor predeterminado del navegador se puede sobrescribir modificando la variable $font-size-root.
  • El <body> también establece un font-family, font-weight, line-height y color globales. Esto es heredado más adelante por algunos elementos de formulario para prevenir inconsistencias de fuentes.
  • Por seguridad, el <body> tiene un background-color declarado, con un valor predeterminado de #fff.

Pila de fuentes nativa

Bootstrap utiliza una “pila de fuentes nativa” o “pila de fuentes del sistema” para una renderización óptima del texto en cada dispositivo y sistema operativo. Estas fuentes del sistema han sido diseñadas específicamente pensando en los dispositivos actuales, con una renderización mejorada en pantallas, soporte de fuentes variables y más. Lee más sobre las pilas de fuentes nativas en este artículo de Smashing Magazine.

$font-family-sans-serif:
  // Cross-platform generic font family (default user interface font)
  system-ui,
  // Safari for macOS and iOS (San Francisco)
  -apple-system,
  // Windows
  "Segoe UI",
  // Android
  Roboto,
  // Basic web fallback
  "Helvetica Neue", Arial,
  // Linux
  "Noto Sans",
  "Liberation Sans",
  // Sans serif fallback
  sans-serif,
  // Emoji fonts
  "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;

Ten en cuenta que debido a que la pila de fuentes incluye fuentes de emoji, muchos caracteres unicode de símbolos/dingbats comunes se renderizarán como pictogramas multicolores. Su apariencia variará dependiendo del estilo utilizado en la fuente de emoji nativa del navegador/plataforma, y no se verán afectados por ningún estilo CSS de color.

Este font-family se aplica al <body> y se hereda automáticamente de forma global en todo Bootstrap. Para cambiar el font-family global, actualiza $font-family-base y recompila Bootstrap.

Encabezados y párrafos

Todos los elementos de encabezado—p. ej., <h1>—y <p> se reinician para eliminar su margin-top. Los encabezados tienen margin-bottom: .5rem añadido y los párrafos margin-bottom: 1rem para un espaciado fácil.

Encabezado Ejemplo
<h1></h1> h1. Encabezado de Bootstrap
<h2></h2> h2. Encabezado de Bootstrap
<h3></h3> h3. Encabezado de Bootstrap
<h4></h4> h4. Encabezado de Bootstrap
<h5></h5> h5. Encabezado de Bootstrap
<h6></h6> h6. Encabezado de Bootstrap

Listas

Todas las listas—<ul>, <ol>, y <dl>—tienen su margin-top eliminado y un margin-bottom: 1rem. Las listas anidadas no tienen margin-bottom. También hemos reiniciado el padding-left en los elementos <ul> y <ol>.

  • Todas las listas tienen su margen superior eliminado
  • Y su margen inferior normalizado
  • Nested lists have no bottom margin
    • Así tienen una apariencia más uniforme
    • Particularmente cuando van seguidas de más elementos de lista
  • El padding izquierdo también ha sido reiniciado
  1. Aquí hay una lista ordenada
  2. Con algunos elementos de lista
  3. Tiene el mismo aspecto general
  4. Que la lista desordenada anterior

Para un estilo más simple, jerarquía clara y mejor espaciado, las listas de descripción tienen margins actualizados. Los <dd> reinician margin-left a 0 y añaden margin-bottom: .5rem. Los <dt> están en negrita.

Listas de descripción
Una lista de descripción es perfecta para definir términos.
Término
Definición del término.
Una segunda definición para el mismo término.
Otro término
Definición de este otro término.

Código en línea

Envuelve fragmentos de código en línea con <code>. Asegúrate de escapar los corchetes angulares de HTML.

Por ejemplo, <section> debe envolverse en línea.
For example, <code>&lt;section&gt;</code> should be wrapped as inline.

Bloques de código

Usa <pre> para múltiples líneas de código. Una vez más, asegúrate de escapar cualquier corchete angular en el código para una renderización adecuada. El elemento <pre> se reinicia para eliminar su margin-top y usar unidades rem para su margin-bottom.

<p>Sample text here...</p>
<p>And another line of sample text here...</p>
<pre><code>&lt;p&gt;Sample text here...&lt;/p&gt;
&lt;p&gt;And another line of sample text here...&lt;/p&gt;
</code></pre>

Variables

Para indicar variables usa la etiqueta <var>.

y = mx + b
<var>y</var> = <var>m</var><var>x</var> + <var>b</var>

Entrada del usuario

Usa <kbd> para indicar entradas que normalmente se introducen mediante el teclado.

Para cambiar de directorio, escribe cd seguido del nombre del directorio.
Para editar los ajustes, presiona ctrl + ,
To switch directories, type <kbd>cd</kbd> followed by the name of the directory.<br>
To edit settings, press <kbd><kbd>ctrl</kbd> + <kbd>,</kbd></kbd>

Salida de ejemplo

Para indicar la salida de ejemplo de un programa usa la etiqueta <samp>.

Este texto está destinado a ser tratado como salida de ejemplo de un programa informático.
<samp>This text is meant to be treated as sample output from a computer program.</samp>

Tablas

Las tablas se ajustan ligeramente para dar estilo a los <caption>, colapsar los bordes y asegurar un text-align consistente en toda la tabla. Los cambios adicionales para bordes, padding y más vienen con la clase .table.

Esta es una tabla de ejemplo, y esta es su leyenda para describir el contenido.
Encabezado de tabla Encabezado de tabla Encabezado de tabla Encabezado de tabla
Celda de tabla Celda de tabla Celda de tabla Celda de tabla
Celda de tabla Celda de tabla Celda de tabla Celda de tabla
Celda de tabla Celda de tabla Celda de tabla Celda de tabla

Formularios

Varios elementos de formulario han sido reiniciados para estilos base más simples. Aquí están algunos de los cambios más destacados:

  • Los <fieldset> no tienen bordes, padding ni margin, por lo que pueden usarse fácilmente como contenedores para entradas individuales o grupos de entradas.
  • Los <legend>, al igual que los fieldsets, también han sido rediseñados para mostrarse como una especie de encabezado.
  • Los <label> se configuran con display: inline-block para permitir aplicar margin.
  • Los <input>, <select>, <textarea>, y <button> son manejados principalmente por Normalize, pero Reboot elimina su margin y también establece line-height: inherit.
  • Los <textarea> se modifican para que solo sean redimensionables verticalmente, ya que el redimensionamiento horizontal a menudo “rompe” el diseño de la página.
  • Los elementos <button> y los botones <input> tienen cursor: pointer cuando :not(:disabled).

Estos cambios, y más, se demuestran a continuación.

Leyenda de ejemplo

100

Soporte de entrada de fecha y color

Ten en cuenta que las entradas de fecha no son totalmente compatibles con todos los navegadores, concretamente Safari.

Punteros en botones

Reboot incluye una mejora para role="button" para cambiar el cursor predeterminado a pointer. Añade este atributo a los elementos para ayudar a indicar que son interactivos. Este role no es necesario para los elementos <button>, que obtienen su propio cambio de cursor.

Botón de elemento no-button
<span role="button" tabindex="0">Non-button element button</span>

Elementos varios

Dirección

El elemento <address> se actualiza para reiniciar el font-style predeterminado del navegador de italic a normal. Ahora line-height también se hereda, y se ha añadido margin-bottom: 1rem. Los <address> sirven para presentar información de contacto del ancestro más cercano (o de todo un cuerpo de trabajo). Conserva el formato terminando las líneas con <br>.

Twitter, Inc.
1355 Market St, Suite 900
San Francisco, CA 94103
P: (123) 456-7890
Full Name
first.last@example.com

Cita en bloque

El margin predeterminado en las citas en bloque es 1em 40px, así que lo reiniciamos a 0 0 1rem para algo más consistente con otros elementos.

Una cita conocida, contenida en un elemento blockquote.

Alguien famoso en Título de la fuente

Elementos en línea

El elemento <abbr> recibe un estilo básico para que destaque entre el texto del párrafo.

Nulla attr vitae elit libero, a pharetra augue.

Resumen

El cursor predeterminado en summary es text, así que lo reiniciamos a pointer para transmitir que el elemento puede interactuarse haciendo clic en él.

Algunos detalles

Más información sobre los detalles.

Aún más detalles

Aquí hay aún más detalles sobre los detalles.

Atributo [hidden] de HTML5

HTML5 añade un nuevo atributo global llamado [hidden], que se estila como display: none por defecto. Tomando una idea de PureCSS, mejoramos este valor predeterminado haciendo [hidden] { display: none !important; } para ayudar a prevenir que su display se sobrescriba accidentalmente.

<input type="text" hidden>
Incompatibilidad con jQuery

[hidden] no es compatible con los métodos $(...).hide() y $(...).show() de jQuery. Por lo tanto, actualmente no recomendamos especialmente [hidden] sobre otras técnicas para gestionar el display de los elementos.

Para simplemente alternar la visibilidad de un elemento, lo que significa que su display no se modifica y el elemento aún puede afectar el flujo del documento, usa la clase .invisible en su lugar.

Traducción mantenida por Esdocu. Visita esdocu.com para ver más documentaciones traducidas.