CSS
Configuraciones globales de CSS, elementos HTML fundamentales diseñados y mejorados con clases extensibles y un sistema de cuadrícula avanzado.
Configuraciones globales de CSS, elementos HTML fundamentales diseñados y mejorados con clases extensibles y un sistema de cuadrícula avanzado.
Obtenga información sobre las piezas clave de la infraestructura de Bootstrap, incluido nuestro enfoque para un desarrollo web mejor, más rápido y más sólido.
Bootstrap hace uso de ciertos elementos HTML y propiedades CSS que requieren el uso del tipo de documento HTML5. Inclúyelo al principio de todos tus proyectos.
Con Bootstrap 2, agregamos estilos compatibles con dispositivos móviles opcionales para aspectos clave del marco. Con Bootstrap 3, hemos reescrito el proyecto para que sea apto para dispositivos móviles desde el principio. En lugar de agregar estilos móviles opcionales, se integran directamente en el núcleo. De hecho, Bootstrap es móvil primero . Los primeros estilos móviles se pueden encontrar en toda la biblioteca en lugar de en archivos separados.
Para garantizar una representación adecuada y el zoom táctil, agregue la etiqueta meta de la ventana gráfica a su archivo <head>
.
Puede deshabilitar las capacidades de zoom en dispositivos móviles agregando user-scalable=no
a la metaetiqueta de la ventana gráfica. Esto deshabilita el zoom, lo que significa que los usuarios solo pueden desplazarse y hace que su sitio se sienta un poco más como una aplicación nativa. En general, no recomendamos esto en todos los sitios, ¡así que tenga cuidado!
Bootstrap establece estilos básicos de visualización, tipografía y enlaces globales. Específicamente, nosotros:
background-color: #fff;
en elbody
@font-family-base
, @font-size-base
y @line-height-base
como nuestra base tipográfica@link-color
y aplique subrayados de enlace solo en:hover
Estos estilos se pueden encontrar dentro de scaffolding.less
.
Para mejorar la representación entre navegadores, usamos Normalize.css , un proyecto de Nicolas Gallagher y Jonathan Neal .
Bootstrap requiere un elemento contenedor para envolver el contenido del sitio y albergar nuestro sistema de cuadrícula. Puede elegir uno de los dos contenedores para usar en sus proyectos. Tenga en cuenta que, debido a padding
y más, ninguno de los contenedores es anidable.
Úselo .container
para un contenedor de ancho fijo con capacidad de respuesta.
Úselo .container-fluid
para un contenedor de ancho completo, que abarque todo el ancho de su ventana gráfica.
Bootstrap incluye un primer sistema de cuadrícula fluida móvil con capacidad de respuesta que escala adecuadamente hasta 12 columnas a medida que aumenta el tamaño del dispositivo o de la ventana gráfica. Incluye clases predefinidas para opciones de diseño sencillas, así como poderosos mixins para generar diseños más semánticos .
Los sistemas de cuadrícula se utilizan para crear diseños de página a través de una serie de filas y columnas que albergan su contenido. Así es como funciona el sistema de cuadrícula Bootstrap:
.container
(ancho fijo) o .container-fluid
(ancho completo) para una alineación y relleno adecuados..row
y .col-xs-4
están disponibles para crear rápidamente diseños de cuadrícula. También se pueden usar menos mixins para diseños más semánticos.padding
. Ese relleno se compensa en filas para la primera y la última columna a través de un margen negativo en .row
s..col-xs-4
..col-md-*
clase a un elemento no solo afectará su estilo en dispositivos medianos sino también en dispositivos grandes si una .col-lg-*
clase no está presente.Mire los ejemplos para aplicar estos principios a su código.
Usamos las siguientes consultas de medios en nuestros archivos Less para crear los puntos de interrupción clave en nuestro sistema de cuadrícula.
Ocasionalmente, ampliamos estas consultas de medios para incluir una max-width
para limitar el CSS a un conjunto más limitado de dispositivos.
Vea cómo funcionan los aspectos del sistema de cuadrícula Bootstrap en múltiples dispositivos con una tabla práctica.
Dispositivos extrapequeños Teléfonos (<768px) | Dispositivos pequeños Tabletas (≥768px) | Dispositivos medianos Escritorios (≥992px) | Dispositivos grandes Escritorios (≥1200px) | |
---|---|---|---|---|
Comportamiento de la cuadrícula | Horizontales en todo momento | Contraído al inicio, horizontal sobre los puntos de interrupción | ||
Ancho del contenedor | Ninguno (automático) | 750px | 970px | 1170px |
Prefijo de clase | .col-xs- |
.col-sm- |
.col-md- |
.col-lg- |
# de columnas | 12 | |||
Ancho de columna | Auto | ~62 píxeles | ~81 píxeles | ~97 píxeles |
Ancho del canalón | 30px (15px en cada lado de una columna) | |||
encajable | Sí | |||
Compensaciones | Sí | |||
Ordenación de columnas | Sí |
Con un solo conjunto de .col-md-*
clases de cuadrícula, puede crear un sistema de cuadrícula básico que comienza apilado en dispositivos móviles y tabletas (el rango extra pequeño a pequeño) antes de volverse horizontal en dispositivos de escritorio (medianos). Coloque columnas de cuadrícula en cualquier archivo .row
.
Convierta cualquier diseño de cuadrícula de ancho fijo en un diseño de ancho completo cambiando su exterior .container
a .container-fluid
.
¿No quiere que sus columnas simplemente se apilen en dispositivos más pequeños? Use las clases de cuadrícula de dispositivos extra pequeños y medianos agregándolas .col-xs-*
.col-md-*
a sus columnas. Vea el ejemplo a continuación para tener una mejor idea de cómo funciona todo.
Aproveche el ejemplo anterior creando diseños aún más dinámicos y potentes con .col-sm-*
clases de tableta.
Si se colocan más de 12 columnas dentro de una sola fila, cada grupo de columnas adicionales se ajustará, como una unidad, a una nueva línea.
Con los cuatro niveles de cuadrículas disponibles, es probable que se encuentre con problemas en los que, en ciertos puntos de interrupción, sus columnas no se borran del todo bien ya que una es más alta que la otra. Para arreglar eso, use una combinación de a .clearfix
y nuestras clases de utilidad receptivas .
Además de borrar las columnas en los puntos de interrupción de respuesta, es posible que deba restablecer las compensaciones, los empujones o los tirones . Vea esto en acción en el ejemplo de cuadrícula .
Mover columnas a la derecha usando .col-md-offset-*
clases. Estas clases aumentan el margen izquierdo de una columna por *
columnas. Por ejemplo, .col-md-offset-4
se mueve .col-md-4
sobre cuatro columnas.
También puede anular las compensaciones de los niveles de cuadrícula inferiores con .col-*-offset-0
clases.
Para anidar su contenido con la cuadrícula predeterminada, agregue un nuevo .row
conjunto de .col-sm-*
columnas dentro de una .col-sm-*
columna existente. Las filas anidadas deben incluir un conjunto de columnas que suman 12 o menos (no es necesario que use las 12 columnas disponibles).
Cambie fácilmente el orden de nuestras columnas de cuadrícula integradas con clases de modificadores .col-md-push-*
..col-md-pull-*
Además de las clases de cuadrícula preconstruidas para diseños rápidos, Bootstrap incluye Less variables y mixins para generar rápidamente sus propios diseños semánticos simples.
Las variables determinan el número de columnas, el ancho de medianil y el punto de consulta de medios en el que comienzan las columnas flotantes. Los usamos para generar las clases de cuadrícula predefinidas documentadas anteriormente, así como para los mixins personalizados que se enumeran a continuación.
Los mixins se utilizan junto con las variables de cuadrícula para generar CSS semántico para columnas de cuadrícula individuales.
Puede modificar las variables a sus propios valores personalizados, o simplemente usar los mixins con sus valores predeterminados. Este es un ejemplo del uso de la configuración predeterminada para crear un diseño de dos columnas con un espacio entre ellas.
Todos los encabezados HTML, <h1>
hasta <h6>
, están disponibles. .h1
Las .h6
clases directas también están disponibles, para cuando desea hacer coincidir el estilo de fuente de un encabezado pero aún desea que su texto se muestre en línea.
h1. Encabezado de arranque |
Seminegrita 36px |
h2. Encabezado de arranque |
Seminegrita 30px |
h3. Encabezado de arranque |
Seminegrita 24px |
h4. Encabezado de arranque |
Seminegrita 18px |
h5. Encabezado de arranque |
Seminegrita 14px |
h6. Encabezado de arranque |
Seminegrita 12px |
Cree texto secundario más claro en cualquier encabezado con una <small>
etiqueta genérica o la .small
clase.
h1. Encabezado Bootstrap Texto secundario |
h2. Encabezado Bootstrap Texto secundario |
h3. Encabezado Bootstrap Texto secundario |
h4. Encabezado Bootstrap Texto secundario |
h5. Encabezado Bootstrap Texto secundario |
h6. Encabezado Bootstrap Texto secundario |
El valor predeterminado global de Bootstrap font-size
es 14px , con un valor line-height
de 1.428 . Esto se aplica a los <body>
y todos los párrafos. Además, <p>
(los párrafos) reciben un margen inferior de la mitad de su altura de línea calculada (10 px por defecto).
Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula.
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec ullamcorper nulla non metus auctor fringilla. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla.
Mecenas sed diam eget risus varius blandit sit amet non magna. Donec id elit non mi porta gravida at eget metus. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.
Haga que un párrafo se destaque agregando .lead
.
Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus.
La escala tipográfica se basa en dos Less variables en variables.less : @font-size-base
y @line-height-base
. El primero es el tamaño de fuente base utilizado en todo el texto y el segundo es la altura de línea base. Usamos esas variables y algunas matemáticas simples para crear los márgenes, rellenos y alturas de línea de todo nuestro tipo y más. Personalízalos y Bootstrap se adapta.
Para resaltar una secuencia de texto debido a su relevancia en otro contexto, use la <mark>
etiqueta.
Puede utilizar la etiqueta de marca paradestacartexto.
Para indicar bloques de texto que se han eliminado, utilice la <del>
etiqueta.
Esta línea de texto debe tratarse como texto eliminado.
Para indicar bloques de texto que ya no son relevantes, use la <s>
etiqueta.
Ésta línea de texto se debe de considerar no correcta.
Para indicar adiciones al documento, use la <ins>
etiqueta.
Esta línea de texto debe tratarse como una adición al documento.
Para subrayar el texto utilice la <u>
etiqueta.
Esta línea de texto aparecerá como subrayada
Utilice las etiquetas de énfasis predeterminadas de HTML con estilos ligeros.
Para restar énfasis a líneas o bloques de texto, use la <small>
etiqueta para establecer el texto en un 85 % del tamaño del principal. Los elementos de encabezado reciben los suyos propios font-size
para los elementos anidados <small>
.
Alternativamente, puede usar un elemento en línea con .small
en lugar de cualquier <small>
.
Esta línea de texto debe tratarse como letra pequeña.
Para enfatizar un fragmento de texto con una fuente de mayor peso.
El siguiente fragmento de texto se muestra en negrita .
Para enfatizar un fragmento de texto con cursiva.
El siguiente fragmento de texto se muestra en cursiva .
Siéntase libre de usar <b>
y <i>
en HTML5. <b>
está destinado a resaltar palabras o frases sin transmitir una importancia adicional, mientras que <i>
es principalmente para voz, términos técnicos, etc.
Realinee fácilmente el texto a los componentes con clases de alineación de texto.
Texto alineado a la izquierda.
Texto alineado al centro.
Texto alineado a la derecha.
Texto justificado.
Sin texto de ajuste.
Transforme texto en componentes con clases de capitalización de texto.
Texto en minúsculas.
Texto en mayúsculas.
Texto en mayúsculas.
Implementación estilizada del <abbr>
elemento HTML para abreviaturas y acrónimos para mostrar la versión ampliada al pasar el mouse. Las abreviaturas con un title
atributo tienen un borde inferior de puntos claros y un cursor de ayuda al pasar el mouse, lo que brinda contexto adicional al pasar el mouse y a los usuarios de tecnologías de asistencia.
Una abreviatura de la palabra atributo es attr .
Agregue .initialism
a una abreviatura para un tamaño de fuente ligeramente más pequeño.
HTML es lo mejor desde el pan rebanado.
Presente la información de contacto del antepasado más cercano o de todo el trabajo. Preserve el formato terminando todas las líneas con <br>
.
Para citar bloques de contenido de otra fuente dentro de su documento.
Envuelva <blockquote>
cualquier HTML como la cita. Para citas directas, recomendamos un <p>
.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Entero posuere erat a ante.
Cambios de estilo y contenido para variaciones simples en un estándar <blockquote>
.
Agregue un <footer>
para identificar la fuente. Envuelva el nombre del trabajo fuente en <cite>
.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Entero posuere erat a ante.
Agregue .blockquote-reverse
para una cita en bloque con contenido alineado a la derecha.
Una lista de artículos en los que el orden no importa explícitamente.
Una lista de elementos en los que el orden sí importa explícitamente.
Elimine el margen predeterminado list-style
e izquierdo en los elementos de la lista (solo elementos secundarios inmediatos). Esto solo se aplica a los elementos de la lista de elementos secundarios inmediatos , lo que significa que también deberá agregar la clase para cualquier lista anidada.
Coloque todos los elementos de la lista en una sola línea con display: inline-block;
un ligero relleno.
Una lista de términos con sus descripciones asociadas.
Haga términos y descripciones <dl>
alineados uno al lado del otro. Comienza apilado como los correos electrónicos predeterminados <dl>
, pero cuando la barra de navegación se expande, también lo hacen estos.
Las listas de descripción horizontal truncarán los términos que sean demasiado largos para caber en la columna de la izquierda con text-overflow
. En ventanas gráficas más estrechas, cambiarán al diseño apilado predeterminado.
Envuelva fragmentos de código en línea con <code>
.
<section>
debe envolverse como en línea.
Use <kbd>
para indicar la entrada que normalmente se ingresa a través del teclado.
Úselo <pre>
para varias líneas de código. Asegúrese de escapar de los corchetes angulares en el código para una representación adecuada.
<p>Texto de muestra aquí...</p>
Opcionalmente, puede agregar la .pre-scrollable
clase, que establecerá una altura máxima de 350 px y proporcionará una barra de desplazamiento en el eje y.
Para indicar variables utilice la <var>
etiqueta.
y = metro x + segundo
Para indicar la salida de muestra de bloques de un programa, use la <samp>
etiqueta.
Este texto está destinado a ser tratado como resultado de muestra de un programa de computadora.
Para un estilo básico (relleno ligero y solo divisores horizontales), agregue la clase base .table
a cualquier archivo <table>
. Puede parecer súper redundante, pero dado el uso generalizado de tablas para otros complementos como calendarios y selectores de fechas, hemos optado por aislar nuestros estilos de tabla personalizados.
# | Primer nombre | Apellido | Nombre de usuario |
---|---|---|---|
1 | Marca | Otón | @mdo |
2 | jacob | Thornton | @grasa |
3 | larry | el pájaro | @gorjeo |
Úselo .table-striped
para agregar rayas de cebra a cualquier fila de la tabla dentro del archivo <tbody>
.
Las tablas rayadas se diseñan a través del :nth-child
selector CSS, que no está disponible en Internet Explorer 8.
# | Primer nombre | Apellido | Nombre de usuario |
---|---|---|---|
1 | Marca | Otón | @mdo |
2 | jacob | Thornton | @grasa |
3 | larry | el pájaro | @gorjeo |
Agregue .table-bordered
bordes en todos los lados de la tabla y las celdas.
# | Primer nombre | Apellido | Nombre de usuario |
---|---|---|---|
1 | Marca | Otón | @mdo |
2 | jacob | Thornton | @grasa |
3 | larry | el pájaro | @gorjeo |
Agregue .table-hover
para habilitar un estado de desplazamiento en las filas de la tabla dentro de un archivo <tbody>
.
# | Primer nombre | Apellido | Nombre de usuario |
---|---|---|---|
1 | Marca | Otón | @mdo |
2 | jacob | Thornton | @grasa |
3 | larry | el pájaro | @gorjeo |
Agregue .table-condensed
para hacer que las mesas sean más compactas cortando el relleno de celdas por la mitad.
# | Primer nombre | Apellido | Nombre de usuario |
---|---|---|---|
1 | Marca | Otón | @mdo |
2 | jacob | Thornton | @grasa |
3 | larry el pájaro | @gorjeo |
Use clases contextuales para colorear filas de tablas o celdas individuales.
Clase | Descripción |
---|---|
.active |
Aplica el color flotante a una fila o celda en particular |
.success |
Indica una acción exitosa o positiva. |
.info |
Indica un cambio o acción informativo neutral |
.warning |
Indica una advertencia que podría necesitar atención. |
.danger |
Indica una acción peligrosa o potencialmente negativa |
# | Encabezado de columna | Encabezado de columna | Encabezado de columna |
---|---|---|---|
1 | contenido de la columna | contenido de la columna | contenido de la columna |
2 | contenido de la columna | contenido de la columna | contenido de la columna |
3 | contenido de la columna | contenido de la columna | contenido de la columna |
4 | contenido de la columna | contenido de la columna | contenido de la columna |
5 | contenido de la columna | contenido de la columna | contenido de la columna |
6 | contenido de la columna | contenido de la columna | contenido de la columna |
7 | contenido de la columna | contenido de la columna | contenido de la columna |
8 | contenido de la columna | contenido de la columna | contenido de la columna |
9 | contenido de la columna | contenido de la columna | contenido de la columna |
El uso de colores para agregar significado a una fila de la tabla o una celda individual solo proporciona una indicación visual, que no se transmitirá a los usuarios de tecnologías de asistencia, como los lectores de pantalla. Asegúrese de que la información indicada por el color sea obvia a partir del contenido mismo (el texto visible en la fila/celda de la tabla correspondiente) o se incluya a través de medios alternativos, como texto adicional oculto con la .sr-only
clase.
Cree tablas receptivas envolviendo cualquiera .table
para .table-responsive
hacer que se desplacen horizontalmente en dispositivos pequeños (menos de 768 px). Cuando vea algo de más de 768 px de ancho, no verá ninguna diferencia en estas tablas.
Las tablas receptivas utilizan overflow-y: hidden
, que recorta cualquier contenido que vaya más allá de los bordes inferior o superior de la tabla. En particular, esto puede recortar menús desplegables y otros widgets de terceros.
Firefox tiene un estilo de conjunto de campos incómodo width
que interfiere con la tabla receptiva. Esto no se puede anular sin un truco específico de Firefox que no proporcionamos en Bootstrap:
Para obtener más información, lea esta respuesta de desbordamiento de pila .
# | Encabezado de tabla | Encabezado de tabla | Encabezado de tabla | Encabezado de tabla | Encabezado de tabla | Encabezado de tabla |
---|---|---|---|---|---|---|
1 | Celda de tabla | Celda de tabla | Celda de tabla | Celda de tabla | Celda de tabla | Celda de tabla |
2 | Celda de tabla | Celda de tabla | Celda de tabla | Celda de tabla | Celda de tabla | Celda de tabla |
3 | Celda de tabla | Celda de tabla | Celda de tabla | Celda de tabla | Celda de tabla | Celda de tabla |
# | Encabezado de tabla | Encabezado de tabla | Encabezado de tabla | Encabezado de tabla | Encabezado de tabla | Encabezado de tabla |
---|---|---|---|---|---|---|
1 | Celda de tabla | Celda de tabla | Celda de tabla | Celda de tabla | Celda de tabla | Celda de tabla |
2 | Celda de tabla | Celda de tabla | Celda de tabla | Celda de tabla | Celda de tabla | Celda de tabla |
3 | Celda de tabla | Celda de tabla | Celda de tabla | Celda de tabla | Celda de tabla | Celda de tabla |
Los controles de formulario individuales reciben automáticamente un estilo global. Todos los elementos textuales <input>
, <textarea>
y <select>
con .form-control
están configurados width: 100%;
de forma predeterminada. Envuelva las etiquetas y los controles .form-group
para lograr un espaciado óptimo.
No mezcle grupos de formularios directamente con grupos de entrada . En su lugar, anide el grupo de entrada dentro del grupo de formulario.
Agregue .form-inline
a su formulario (que no tiene que ser un <form>
) para controles alineados a la izquierda y de bloque en línea. Esto solo se aplica a los formularios dentro de las ventanas gráficas que tienen al menos 768 px de ancho.
Las entradas y selecciones se han width: 100%;
aplicado de forma predeterminada en Bootstrap. Dentro de los formularios en línea, lo restablecemos para width: auto;
que varios controles puedan residir en la misma línea. Dependiendo de su diseño, es posible que se requieran anchos personalizados adicionales.
Los lectores de pantalla tendrán problemas con sus formularios si no incluye una etiqueta para cada entrada. Para estos formularios en línea, puede ocultar las etiquetas usando la .sr-only
clase. Existen otros métodos alternativos para proporcionar una etiqueta para las tecnologías de asistencia, como el aria-label
atributo o aria-labelledby
. title
Si ninguno de estos está presente, los lectores de pantalla pueden recurrir al uso del placeholder
atributo, si está presente, pero tenga en cuenta que placeholder
no se recomienda el uso de como reemplazo de otros métodos de etiquetado.
Use las clases de cuadrícula predefinidas de Bootstrap para alinear etiquetas y grupos de controles de formulario en un diseño horizontal agregando .form-horizontal
al formulario (que no tiene que ser un <form>
). Al hacerlo, .form-group
s cambia para comportarse como filas de cuadrícula, por lo que no es necesario .row
.
Ejemplos de controles de formulario estándar admitidos en un diseño de formulario de ejemplo.
Control de formulario más común, campos de entrada basados en texto. Incluye compatibilidad con todos los tipos de HTML5: text
, password
, datetime
, datetime-local
, date
, month
, time
, week
, number
, email
, url
, search
, tel
y color
.
Las entradas solo tendrán un estilo completo si type
se declaran correctamente.
Para agregar texto o botones integrados antes y/o después de cualquier elemento basado en texto <input>
, consulte el componente de grupo de entrada .
Control de formulario que admite varias líneas de texto. Cambie rows
el atributo según sea necesario.
Las casillas de verificación son para seleccionar una o varias opciones en una lista, mientras que las radios son para seleccionar una opción de muchas.
Las casillas de verificación y las radios deshabilitadas son compatibles, pero para proporcionar un cursor "no permitido" al pasar el mouse sobre el elemento principal <label>
, deberá agregar la .disabled
clase al elemento principal .radio
, .radio-inline
, .checkbox
o .checkbox-inline
.
Use las clases .checkbox-inline
o .radio-inline
en una serie de casillas de verificación o radios para los controles que aparecen en la misma línea.
Si no tiene texto dentro del <label>
, la entrada se coloca como cabría esperar. Actualmente solo funciona en radios y casillas de verificación que no están en línea. Recuerde proporcionar algún tipo de etiqueta para las tecnologías de asistencia (por ejemplo, usando aria-label
).
Tenga en cuenta que muchos menús de selección nativos, a saber, en Safari y Chrome, tienen esquinas redondeadas que no se pueden modificar a través de border-radius
propiedades.
Para <select>
los controles con el multiple
atributo, se muestran varias opciones de forma predeterminada.
Cuando necesite colocar texto sin formato junto a una etiqueta de formulario dentro de un formulario, use la .form-control-static
clase en un archivo <p>
.
Eliminamos los outline
estilos predeterminados en algunos controles de formulario y aplicamos un box-shadow
en su lugar para :focus
.
:focus
Estado deLa entrada de ejemplo anterior utiliza estilos personalizados en nuestra documentación para demostrar el :focus
estado en un archivo .form-control
.
Agregue el disabled
atributo booleano en una entrada para evitar las interacciones del usuario. Las entradas deshabilitadas aparecen más claras y agregan un not-allowed
cursor.
Agregue el disabled
atributo a <fieldset>
para deshabilitar todos los controles a la <fieldset>
vez.
<a>
De manera predeterminada, los navegadores tratarán todos los controles <input>
de formulario nativos ( <select>
y <button>
elementos) dentro de un <fieldset disabled>
como deshabilitados, lo que evitará las interacciones del teclado y el mouse en ellos. Sin embargo, si su formulario también incluye <a ... class="btn btn-*">
elementos, estos solo tendrán un estilo de pointer-events: none
. Como se indicó en la sección sobre el estado deshabilitado de los botones (y específicamente en la subsección de elementos de anclaje), esta propiedad CSS aún no está estandarizada y no es totalmente compatible con Opera 18 y versiones anteriores, o en Internet Explorer 11, y ganó No impide que los usuarios del teclado puedan enfocar o activar estos enlaces. Entonces, para estar seguro, use JavaScript personalizado para deshabilitar dichos enlaces.
Si bien Bootstrap aplicará estos estilos en todos los navegadores, Internet Explorer 11 y versiones anteriores no admiten completamente el disabled
atributo en un archivo <fieldset>
. Use JavaScript personalizado para deshabilitar el conjunto de campos en estos navegadores.
Agregue el readonly
atributo booleano en una entrada para evitar la modificación del valor de la entrada. Las entradas de solo lectura aparecen más claras (al igual que las entradas deshabilitadas), pero conservan el cursor estándar.
Texto de ayuda a nivel de bloque para controles de formulario.
El texto de ayuda debe asociarse explícitamente con el control de formulario con el que se relaciona el uso del aria-describedby
atributo. Esto asegurará que las tecnologías de asistencia, como los lectores de pantalla, anuncien este texto de ayuda cuando el usuario enfoca o ingresa el control.
Bootstrap incluye estilos de validación para estados de error, advertencia y éxito en los controles de formulario. Para usar, agregue .has-warning
, .has-error
o .has-success
al elemento principal. Cualquier .control-label
, .form-control
y .help-block
dentro de ese elemento recibirán los estilos de validación.
El uso de estos estilos de validación para indicar el estado de un control de formulario solo proporciona una indicación visual basada en colores, que no se transmitirá a los usuarios de tecnologías de asistencia, como lectores de pantalla, ni a los usuarios daltónicos.
Asegúrese de que también se proporcione una indicación de estado alternativa. Por ejemplo, puede incluir una sugerencia sobre el estado en el <label>
texto del control de formulario (como es el caso en el siguiente ejemplo de código), incluir un Glyphicon (con el texto alternativo apropiado usando la .sr-only
clase; consulte los ejemplos de Glyphicon ) o proporcionando un bloque de texto de ayuda adicional . Específicamente para las tecnologías de asistencia, también se puede asignar un aria-invalid="true"
atributo a los controles de formulario no válidos.
También puede agregar iconos de comentarios opcionales con la adición de .has-feedback
y el icono de la derecha.
Los iconos de comentarios solo funcionan con <input class="form-control">
elementos de texto.
Se requiere el posicionamiento manual de los iconos de retroalimentación para entradas sin etiqueta y para grupos de entrada con un complemento a la derecha. Le recomendamos encarecidamente que proporcione etiquetas para todas las entradas por motivos de accesibilidad. Si desea evitar que se muestren las etiquetas, escóndalas con la .sr-only
clase. Si debe prescindir de las etiquetas, ajuste el top
valor del icono de comentarios. Para grupos de entrada, ajuste el right
valor a un valor de píxel apropiado según el ancho de su complemento.
Para garantizar que las tecnologías de asistencia, como los lectores de pantalla, transmitan correctamente el significado de un ícono, se debe incluir texto oculto adicional con la .sr-only
clase y asociarlo explícitamente con el control de formulario relacionado con el uso aria-describedby
. Alternativamente, asegúrese de que el significado (por ejemplo, el hecho de que hay una advertencia para un campo de entrada de texto en particular) se transmita de alguna otra forma, como cambiar el texto real <label>
asociado con el control de formulario.
Aunque los siguientes ejemplos ya mencionan el estado de validación de sus respectivos controles de formulario en el <label>
propio texto, la técnica anterior (usando .sr-only
texto y aria-describedby
) se ha incluido con fines ilustrativos.
.sr-only
etiquetas ocultasSi usa la .sr-only
clase para ocultar un control de formulario <label>
(en lugar de usar otras opciones de etiquetado, como el aria-label
atributo), Bootstrap ajustará automáticamente la posición del icono una vez que se haya agregado.
Establezca alturas usando clases como .input-lg
, y establezca anchos usando clases de columna de cuadrícula como .col-lg-*
.
Cree controles de formulario más altos o más cortos que coincidan con los tamaños de los botones.
Cambie rápidamente el tamaño de las etiquetas y forme controles dentro .form-horizontal
agregando .form-group-lg
o .form-group-sm
.
Envuelva las entradas en columnas de cuadrícula, o en cualquier elemento principal personalizado, para imponer fácilmente los anchos deseados.
Utilice las clases de botones en un elemento <a>
, <button>
o <input>
.
Si bien las clases de botón se pueden usar en elementos <a>
y <button>
, solo <button>
los elementos son compatibles con nuestros componentes de navegación y barra de navegación.
Si los <a>
elementos se usan para actuar como botones, activando la funcionalidad en la página, en lugar de navegar a otro documento o sección dentro de la página actual, también se les debe dar un archivo role="button"
.
Como práctica recomendada, recomendamos encarecidamente usar el <button>
elemento siempre que sea posible para garantizar la representación coincidente entre navegadores.
Entre otras cosas, hay un error en Firefox <30 que nos impide configurar los botones basados line-height
en <input>
-, lo que hace que no coincidan exactamente con la altura de otros botones en Firefox.
Utilice cualquiera de las clases de botones disponibles para crear rápidamente un botón con estilo.
El uso de color para agregar significado a un botón solo proporciona una indicación visual, que no se transmitirá a los usuarios de tecnologías de asistencia, como los lectores de pantalla. Asegúrese de que la información indicada por el color sea obvia a partir del contenido mismo (el texto visible del botón) o se incluya a través de medios alternativos, como texto adicional oculto con la .sr-only
clase.
¿Te apetece botones más grandes o más pequeños? Agregue .btn-lg
, .btn-sm
o .btn-xs
para tamaños adicionales.
Cree botones de nivel de bloque, aquellos que abarcan todo el ancho de un padre, agregando .btn-block
.
Los botones aparecerán presionados (con un fondo más oscuro, un borde más oscuro y una sombra insertada) cuando estén activos. Para <button>
los elementos, esto se hace a través de :active
. Para <a>
los elementos, se hace con .active
. Sin embargo, puede usar .active
on <button>
s (e incluir el aria-pressed="true"
atributo) si necesita replicar el estado activo mediante programación.
No es necesario agregar :active
, ya que es una pseudoclase, pero si necesita forzar la misma apariencia, continúe y agregue .active
.
Agregue la .active
clase a los <a>
botones.
Haga que los botones parezcan imposibles de hacer clic desvaneciéndolos con opacity
.
Agregue el disabled
atributo a los <button>
botones.
Si agrega el disabled
atributo a un <button>
, Internet Explorer 9 y versiones anteriores mostrarán el texto gris con una sombra de texto desagradable que no podemos corregir.
Agregue la .disabled
clase a los <a>
botones.
Usamos .disabled
como una clase de utilidad aquí, similar a la .active
clase común, por lo que no se requiere prefijo.
Esta clase se usa pointer-events: none
para intentar deshabilitar la funcionalidad de enlace de <a>
s, pero esa propiedad CSS aún no está estandarizada y no es totalmente compatible con Opera 18 y versiones anteriores, o en Internet Explorer 11. Además, incluso en navegadores que admiten pointer-events: none
, teclado la navegación no se ve afectada, lo que significa que los usuarios de teclados videntes y los usuarios de tecnologías de asistencia aún podrán activar estos enlaces. Entonces, para estar seguro, use JavaScript personalizado para deshabilitar dichos enlaces.
Las imágenes en Bootstrap 3 se pueden hacer receptivas mediante la adición de la .img-responsive
clase. max-width: 100%;
Esto se aplica height: auto;
a display: block;
la imagen para que se adapte bien al elemento principal.
Para centrar imágenes que usan la .img-responsive
clase, use .center-block
en lugar de .text-center
. Consulte la sección de clases auxiliares para obtener más detalles sobre .center-block
el uso.
En Internet Explorer 8-10, las imágenes SVG .img-responsive
tienen un tamaño desproporcionado. Para solucionar esto, agregue width: 100% \9;
donde sea necesario. Bootstrap no aplica esto automáticamente ya que causa complicaciones a otros formatos de imagen.
Agregue clases a un <img>
elemento para diseñar imágenes fácilmente en cualquier proyecto.
Tenga en cuenta que Internet Explorer 8 no admite esquinas redondeadas.
Transmita significado a través del color con un puñado de clases de utilidad de énfasis. Estos también se pueden aplicar a los enlaces y se oscurecerán al pasar el mouse, al igual que nuestros estilos de enlace predeterminados.
Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.
Nullam id dolor id nibh ultricies vehicula ut id elit.
Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
Mecenas sed diam eget risus varius blandit sit amet non magna.
Etiam porta sem malesuada magna mollis euismod.
Donec ullamcorper nulla non metus auctor fringilla.
A veces, las clases de énfasis no se pueden aplicar debido a la especificidad de otro selector. En la mayoría de los casos, una solución alternativa suficiente es envolver su texto en un <span>
con la clase.
El uso del color para agregar significado solo proporciona una indicación visual, que no se transmitirá a los usuarios de tecnologías de asistencia, como los lectores de pantalla. Asegúrese de que la información denotada por el color sea obvia a partir del contenido mismo (los colores contextuales solo se usan para reforzar el significado que ya está presente en el texto o el marcado), o se incluye a través de medios alternativos, como texto adicional oculto con la .sr-only
clase . .
Similar a las clases de color de texto contextual, establezca fácilmente el fondo de un elemento en cualquier clase contextual. Los componentes de anclaje se oscurecerán al pasar el mouse, al igual que las clases de texto.
Nullam id dolor id nibh ultricies vehicula ut id elit.
Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
Mecenas sed diam eget risus varius blandit sit amet non magna.
Etiam porta sem malesuada magna mollis euismod.
Donec ullamcorper nulla non metus auctor fringilla.
A veces, las clases de fondo contextuales no se pueden aplicar debido a la especificidad de otro selector. En algunos casos, una solución alternativa suficiente es envolver el contenido de su elemento en un <div>
con la clase.
Al igual que con los colores contextuales , asegúrese de que cualquier significado transmitido a través del color también se transmita en un formato que no sea puramente de presentación.
Utilice el icono de cierre genérico para descartar contenido como modales y alertas.
Use signos de intercalación para indicar la funcionalidad y la dirección del menú desplegable. Tenga en cuenta que el signo de intercalación predeterminado se invertirá automáticamente en los menús desplegables .
Haga flotar un elemento a la izquierda o a la derecha con una clase. !important
se incluye para evitar problemas de especificidad. Las clases también se pueden usar como mixins.
Establece un elemento display: block
y céntralo a través de margin
. Disponible como mezcla y clase.
Borre fácilmente float
s agregando .clearfix
al elemento principal . Utiliza el micro clearfix popularizado por Nicolas Gallagher. También se puede utilizar como mixin.
Obligue a que un elemento se muestre u oculte ( incluso para lectores de pantalla ) con el uso de .show
y .hidden
clases. Estas clases se utilizan !important
para evitar conflictos de especificidad, al igual que los flotantes rápidos . Solo están disponibles para alternar el nivel de bloque. También se pueden utilizar como mixins.
.hide
está disponible, pero no siempre afecta a los lectores de pantalla y está obsoleto a partir de la v3.0.1. Utilice .hidden
o .sr-only
en su lugar.
Además, .invisible
se puede usar para alternar solo la visibilidad de un elemento, lo que significa display
que no se modifica y el elemento aún puede afectar el flujo del documento.
Oculte un elemento para todos los dispositivos, excepto los lectores de pantalla con .sr-only
. Combine .sr-only
con .sr-only-focusable
para volver a mostrar el elemento cuando esté enfocado (por ejemplo, por un usuario que solo usa el teclado). Necesario para seguir las mejores prácticas de accesibilidad . También se puede utilizar como mixins.
Utilice la .text-hide
clase o el mixin para ayudar a reemplazar el contenido de texto de un elemento con una imagen de fondo.
Para un desarrollo optimizado para dispositivos móviles más rápido, use estas clases de utilidades para mostrar y ocultar contenido por dispositivo a través de una consulta de medios. También se incluyen clases de utilidad para alternar contenido cuando se imprime.
Trate de usarlos de forma limitada y evite crear versiones completamente diferentes del mismo sitio. En su lugar, utilícelos para complementar la presentación de cada dispositivo.
Use una sola clase o una combinación de las clases disponibles para alternar el contenido entre los puntos de interrupción de la ventana gráfica.
Dispositivos extrapequeñosTeléfonos (<768px) | Dispositivos pequeñosTabletas (≥768px) | Dispositivos medianosEscritorios (≥992px) | Dispositivos grandesEscritorios (≥1200px) | |
---|---|---|---|---|
.visible-xs-* |
Visible | Oculto | Oculto | Oculto |
.visible-sm-* |
Oculto | Visible | Oculto | Oculto |
.visible-md-* |
Oculto | Oculto | Visible | Oculto |
.visible-lg-* |
Oculto | Oculto | Oculto | Visible |
.hidden-xs |
Oculto | Visible | Visible | Visible |
.hidden-sm |
Visible | Oculto | Visible | Visible |
.hidden-md |
Visible | Visible | Oculto | Visible |
.hidden-lg |
Visible | Visible | Visible | Oculto |
A partir de la versión 3.2.0, las .visible-*-*
clases para cada punto de interrupción vienen en tres variaciones, una para cada display
valor de propiedad CSS que se detalla a continuación.
grupo de clases | CSSdisplay |
---|---|
.visible-*-block |
display: block; |
.visible-*-inline |
display: inline; |
.visible-*-inline-block |
display: inline-block; |
Entonces, para xs
pantallas extra pequeñas ( ), por ejemplo, las .visible-*-*
clases disponibles son: .visible-xs-block
, .visible-xs-inline
y .visible-xs-inline-block
.
Las clases .visible-xs
, .visible-sm
, .visible-md
y .visible-lg
también existen, pero están obsoletas a partir de la versión 3.2.0 . Son aproximadamente equivalentes a .visible-*-block
, excepto con casos especiales adicionales para alternar <table>
elementos relacionados.
Al igual que las clases receptivas regulares, utilícelas para alternar contenido para imprimir.
Clases | Navegador | Impresión |
---|---|---|
.visible-print-block .visible-print-inline .visible-print-inline-block |
Oculto | Visible |
.hidden-print |
Visible | Oculto |
La clase .visible-print
también existe pero está en desuso a partir de v3.2.0. Es aproximadamente equivalente a .visible-print-block
, excepto con casos especiales adicionales para <table>
elementos relacionados con -.
Cambie el tamaño de su navegador o cárguelo en diferentes dispositivos para probar las clases de utilidad receptivas.
Las marcas de verificación verdes indican que el elemento está visible en su ventana gráfica actual.
Aquí, las marcas de verificación verdes también indican que el elemento está oculto en su ventana gráfica actual.
El CSS de Bootstrap se basa en Less, un preprocesador con funcionalidad adicional como variables, mixins y funciones para compilar CSS. Aquellos que buscan usar los archivos Less de origen en lugar de nuestros archivos CSS compilados pueden hacer uso de las numerosas variables y mixins que usamos en todo el marco.
Las variables de cuadrícula y los mixins se tratan en la sección Sistema de cuadrícula .
Bootstrap se puede usar al menos de dos maneras: con el CSS compilado o con los archivos Less de origen. Para compilar los archivos Less, consulte la sección Primeros pasos para saber cómo configurar su entorno de desarrollo para ejecutar los comandos necesarios.
Las herramientas de compilación de terceros pueden funcionar con Bootstrap, pero nuestro equipo central no las admite.
Las variables se utilizan a lo largo de todo el proyecto como una forma de centralizar y compartir valores de uso común como colores, espaciado o pilas de fuentes. Para obtener un desglose completo, consulte el Personalizador .
Utilice fácilmente dos esquemas de color: escala de grises y semántico. Los colores en escala de grises brindan acceso rápido a los tonos de negro de uso común, mientras que la semántica incluye varios colores asignados a valores contextuales significativos.
Utilice cualquiera de estas variables de color tal como están o reasignarlas a variables más significativas para su proyecto.
Un puñado de variables para personalizar rápidamente los elementos clave del esqueleto de su sitio.
Diseñe fácilmente sus enlaces con el color correcto con un solo valor.
Tenga en cuenta que @link-hover-color
utiliza una función, otra herramienta increíble de Less, para crear automáticamente el color de desplazamiento correcto. Puede utilizar darken
, lighten
, saturate
y desaturate
.
Configure fácilmente su tipo de letra, tamaño de texto, interlineado y más con algunas variables rápidas. Bootstrap también hace uso de estos para proporcionar combinaciones tipográficas fáciles.
Dos variables rápidas para personalizar la ubicación y el nombre de archivo de sus iconos.
Los componentes de Bootstrap utilizan algunas variables predeterminadas para establecer valores comunes. Aquí están los más utilizados.
Los mixins de proveedores son mixins para ayudar a admitir múltiples navegadores al incluir todos los prefijos de proveedores relevantes en su CSS compilado.
Restablezca el modelo de caja de sus componentes con una sola mezcla. Para obtener más información, consulte este útil artículo de Mozilla .
El mixin está obsoleto a partir de v3.2.0, con la introducción de Autoprefixer. Para preservar la compatibilidad con versiones anteriores, Bootstrap continuará usando el mixin internamente hasta Bootstrap v4.
Hoy en día, todos los navegadores modernos admiten la border-radius
propiedad sin prefijo. Como tal, no hay .border-radius()
mezcla, pero Bootstrap incluye atajos para redondear rápidamente dos esquinas en un lado particular de un objeto.
Si su público objetivo utiliza los mejores y más recientes navegadores y dispositivos, asegúrese de utilizar la box-shadow
propiedad por su cuenta. Si necesita soporte para dispositivos Android anteriores (anteriores a v4) e iOS (anteriores a iOS 5), use el mixin obsoleto-webkit
para seleccionar el prefijo requerido.
El mixin está obsoleto a partir de la versión 3.1.0, ya que Bootstrap no admite oficialmente las plataformas obsoletas que no admiten la propiedad estándar. Para preservar la compatibilidad con versiones anteriores, Bootstrap continuará usando el mixin internamente hasta Bootstrap v4.
Asegúrese de usar rgba()
colores en las sombras de su cuadro para que se mezclen de la mejor manera posible con los fondos.
Mezclas múltiples para mayor flexibilidad. Establezca toda la información de transición con uno, o especifique un retraso y una duración por separado, según sea necesario.
Los mixins están en desuso a partir de v3.2.0, con la introducción de Autoprefixer. Para preservar la compatibilidad con versiones anteriores, Bootstrap continuará usando los mixins internamente hasta Bootstrap v4.
Gire, escale, traslade (mover) o sesgue cualquier objeto.
Los mixins están en desuso a partir de v3.2.0, con la introducción de Autoprefixer. Para preservar la compatibilidad con versiones anteriores, Bootstrap continuará usando los mixins internamente hasta Bootstrap v4.
Un solo mixin para usar todas las propiedades de animación de CSS3 en una declaración y otros mixins para propiedades individuales.
Los mixins están en desuso a partir de v3.2.0, con la introducción de Autoprefixer. Para preservar la compatibilidad con versiones anteriores, Bootstrap continuará usando los mixins internamente hasta Bootstrap v4.
Establezca la opacidad para todos los navegadores y proporcione una filter
alternativa para IE8.
Proporcione contexto para los controles de formulario dentro de cada campo.
Genere columnas a través de CSS dentro de un solo elemento.
Convierta fácilmente dos colores en un degradado de fondo. Avanza más y establece una dirección, usa tres colores o usa un degradado radial. Con una sola mezcla obtienes todas las sintaxis prefijadas que necesitarás.
También puede especificar el ángulo de un degradado lineal estándar de dos colores:
Si necesita un degradado de estilo de rayas de barbero, también es fácil. Simplemente especifique un solo color y superpondremos una franja blanca translúcida.
Sube la apuesta y usa tres colores en su lugar. Establezca el primer color, el segundo color, la parada de color del segundo color (un valor porcentual como 25%) y el tercer color con estos mixins:
¡Aviso! Si alguna vez necesita eliminar un degradado, asegúrese de eliminar cualquier elemento específico de IE filter
que haya agregado. Puede hacerlo usando el .reset-filter()
mixin junto con background-image: none;
.
Los mixins de utilidad son mixins que combinan propiedades de CSS que de otro modo no estarían relacionadas para lograr un objetivo o tarea específicos.
Olvídese de agregar class="clearfix"
a cualquier elemento y, en su lugar, agregue el .clearfix()
mixin donde corresponda. Utiliza el micro clearfix de Nicolas Gallagher .
Centre rápidamente cualquier elemento dentro de su padre. Requiere width
o max-width
por configurar.
Especifique las dimensiones de un objeto más fácilmente.
Configure fácilmente las opciones de cambio de tamaño para cualquier área de texto o cualquier otro elemento. El comportamiento predeterminado del navegador es normal ( both
).
Trunca fácilmente el texto con puntos suspensivos con una sola mezcla. Requiere que el elemento sea block
o inline-block
nivel.
Especifique dos rutas de imagen y las dimensiones de la imagen @1x, y Bootstrap proporcionará una consulta de medios @2x. Si tiene muchas imágenes para servir, considere escribir su imagen de retina CSS manualmente en una sola consulta de medios.
Si bien Bootstrap se basa en Less, también tiene un puerto Sass oficial . Lo mantenemos en un repositorio GitHub separado y manejamos las actualizaciones con un script de conversión.
Dado que el puerto de Sass tiene un repositorio separado y atiende a una audiencia ligeramente diferente, el contenido del proyecto difiere mucho del proyecto principal de Bootstrap. Esto garantiza que el puerto de Sass sea lo más compatible posible con tantos sistemas basados en Sass.
Sendero | Descripción |
---|---|
lib/ |
Código de gemas de Ruby (configuración de Sass, integraciones de Rails y Compass) |
tasks/ |
Scripts de conversión (cambiando ascendente Less a Sass) |
test/ |
Pruebas de compilación |
templates/ |
Manifiesto del paquete Compass |
vendor/assets/ |
Sass, JavaScript y archivos de fuentes |
Rakefile |
Tareas internas, como rake y convert |
Visite el repositorio de GitHub del puerto de Sass para ver estos archivos en acción.
Para obtener información sobre cómo instalar y usar Bootstrap para Sass, consulte el archivo Léame del repositorio de GitHub . Es la fuente más actualizada e incluye información para usar con proyectos Rails, Compass y Sass estándar.