Guía de estilos

Sistema de grilla tipo Flexbox

Estructura basada en filas, columnas (12) y contenido.


                          <div class="row">
                              <div class="col-xs-12">
                                  <p>Contenido de 12 columnas</p>
                              </div>
                          </div>
                      

Responsivo.
Modificadores responsivos específicos para diferentes tamaños, alineamientos, columnas y distribución. En extra-small (xs), small (sm), medium (md) y large (lg).

Responsive

                          <div class="row">
                              <div class="col-xs-12
                                          col-sm-8
                                          col-md-6
                                          col-lg-4">
                                  <div>Responsive</div>
                              </div>
                          </div>
                      

Offset.

offset 11
offset 10
offset 9
offset 8
offset 7
offset 6
offset 5
offset 4
offset 3
offset 2
offset 1

                          <div class="row">
                              <div class="col-xs-offset-3 col-xs-9">
                                  <div>offset</div>
                              </div>
                          </div>
                      

Ancho automático.
Si no recibe un numero de columnas a ocupar, calcula automáticamente su ancho.

Contenido #1
Contenido #2
Contenido #3

                          <div class="row">
                              <div class="col-xs">
                                  <p>Contenido #1</p>
                              </div>
                              <div class="col-xs">
                                  <p>Contenido #2</p>
                              </div>
                              <div class="col-xs">
                                  <p>Contenido #3</p>
                              </div>
                          </div>
                      

Cuando llega al máximo de su contendor, las columnas pasan a formar otra fila.

Contenido #1
Contenido #2
Contenido #3
Contenido #4
Contenido #5
Contenido #6
Contenido #7
Contenido #8
Contenido #9
Contenido #10
Contenido #11
Contenido #12

Grilla anidada.

Contenido 3
Contenido 7

                          <div class="row">
                              <div class="col-xs">
                                  <div class="row">
                                      <div class="col-xs-3">
                                          <p>Contenido 3</p>
                                      </div>
                                      <div class="col-xs-7">
                                          <p>Contenido 7</p>
                                      </div>
                                  </div>
                              </div>
                          </div>
                      

Alineamiento.
Al agregar estas clases se puede alinear tanto verticalmente como horizontalmente.

.start-
start

                          <div class="row start-xs">
                              <div class="col-xs-6">
                                  <div class="sample-box">
                                      start
                                  </div>
                              </div>
                          </div>
                      
.center-
center

                          <div class="row center-xs">
                              <div class="col-xs-6">
                                  <div class="sample-box">
                                      center
                                  </div>
                              </div>
                          </div>
                      
.end-
end

                          <div class="row end-xs">
                              <div class="col-xs-6">
                                  <div class="sample-box">
                                      end
                                  </div>
                              </div>
                          </div>
                      

Responsivo

Responsivo

                          <div class="row center-xs end-sm start-lg">
                              <div class="col-xs-6">
                                  <div class="sample-box">
                                      Responsivo
                                  </div>
                              </div>
                          </div>
                      
.top-
top
top

                          <div class="row top-xs">
                              <div class="col-xs-6">
                                  <div class="sample-box">
                                      top
                                  </div>
                              </div>
                          </div>
                      
.middle-
middle
middle

                          <div class="row middle-xs">
                              <div class="col-xs-6">
                                  <div class="sample-box">
                                      middle
                                  </div>
                              </div>
                          </div>
                      
.bottom-
bottom
bottom

                          <div class="row bottom-xs">
                              <div class="col-xs-6">
                                  <div class="sample-box">
                                      bottom
                                  </div>
                              </div>
                          </div>
                      

Distribución.
Clases para distribuir el contenido

.around-
around
around
around

                          <div class="row around-xs">
                              <div class="col-xs-2">
                                  <div class="sample-box">
                                      around
                                  </div>
                              </div>
                              <div class="col-xs-2">
                                  <div class="sample-box">
                                      around
                                  </div>
                              </div>
                              <div class="col-xs-2">
                                  <div class="sample-box">
                                      around
                                  </div>
                              </div>
                          </div>
                      
.between-
between
between
between

                          <div class="row between-xs">
                              <div class="col-xs-2">
                                  <div class="sample-box">
                                      between
                                  </div>
                              </div>
                              <div class="col-xs-2">
                                  <div class="sample-box">
                                      between
                                  </div>
                              </div>
                              <div class="col-xs-2">
                                  <div class="sample-box">
                                      between
                                  </div>
                              </div>
                          </div>
                      

Reordenamiento.
Clases para reordenar columnas

.first-
1
2
3

                          <div class="row">
                              <div class="col-xs-2">
                                  <div class="sample-box">
                                      1
                                  </div>
                              </div>
                              <div class="col-xs-2">
                                  <div class="sample-box">
                                      2
                                  </div>
                              </div>
                              <div class="col-xs-2 first-xs">
                                  <div class="sample-box">
                                      3
                                  </div>
                              </div>
                          </div>
                      
.last-
1
2
3

                          <div class="row">
                              <div class="col-xs-2 last-xs">
                                  <div class="sample-box">
                                      1
                                  </div>
                              </div>
                              <div class="col-xs-2">
                                  <div class="sample-box">
                                      2
                                  </div>
                              </div>
                              <div class="col-xs-2">
                                  <div class="sample-box">
                                      3
                                  </div>
                              </div>
                          </div>
                      

Reversamiento

.resverse
1
2
3

                          <div class="row reverse">
                              <div class="col-xs-2">
                                  <div class="box">
                                      1
                                  </div>
                              </div>
                              <div class="col-xs-2">
                                  <div class="box">
                                      2
                                  </div>
                              </div>
                              <div class="col-xs-2">
                                  <div class="box">
                                      3
                                  </div>
                              </div>
                          </div>
                      
Sistema de grilla tipo Grid

Estructura basada en filas, cantidad de columnas configurables (hasta un límite por defecto de 16) y contenido.

Contenido de 1 columna 4 filas
Contenido de 1 columna 4 filas
Contenido de 1 columna 4 filas
Contenido de 1 columna 4 filas

                <div class="grid">  
                  <div>Contenido de 1 columna 4 filas</div>
                  <div>Contenido de 1 columna 4 filas</div>
                  <div>Contenido de 1 columna 4 filas</div>
                  <div>Contenido de 1 columna 4 filas</div>
                </div>
            

AUTO RESPONSIVIDAD
Las siguientes clases modificadoras permiten agrupar elementos uno al lado de otro especificando un tamaño mínimo por igual de cada elemento. Los elementos actuaran de manera responsiva según el tamaño en su ancho que adquiera el elemento contenedor padre, ajustandose a diferentes columnas y filas según corresponda. Su ventaja principal radica en que permite no tener que pensar en cada breakpoint en el que debe colocarse cada elemento, lo que permite un rápido maquetado.

El tamaño mínimo es definido a través de una propiedad personalizable ('variable' CSS) que debe ser modificada en el atributo style.

Anotaciones:
1. Si no se especifica el tamaño mínimo este será de 300px.
2. Las propiedades perzonalizables (variables css) son solo compatibles con las últimas versiones de los navegadores actuales.

Para probarlo y ver sus diferencias se recomienda reducir/aumentar el tamaño del viewport.

Grid Auto-Fill
Contenido. Tamaño mínimo 150px
Contenido. Tamaño mínimo 150px
Contenido. Tamaño mínimo 150px
Contenido. Tamaño mínimo 150px

              <div class="grid grid--fill" style="--min-value-fill: 150px">  
                <div>Contenido. Tamaño mínimo 150px</div>
                <div>Contenido. Tamaño mínimo 150px</div>
                <div>Contenido. Tamaño mínimo 150px</div>
                <div>Contenido. Tamaño mínimo 150px</div>
              </div>
            

Grid Auto-Fit

Contenido. Tamaño mínimo 150px
Contenido. Tamaño mínimo 150px
Contenido. Tamaño mínimo 150px
Contenido. Tamaño mínimo 150px
Contenido. Tamaño mínimo 150px

              <div class="grid grid--fit" style="--min-value-fit: 150px">  
                <div>Contenido. Tamaño mínimo 150px</div>
                <div>Contenido. Tamaño mínimo 150px</div>
                <div>Contenido. Tamaño mínimo 150px</div>
                <div>Contenido. Tamaño mínimo 150px</div>
                <div>Contenido. Tamaño mínimo 150px</div>
              </div>
            

Configuración
Se puede determinar el número columnas que tendrá un elemento contenedor utilizandos clases modificadoras:

Tomando en cuenta los 5 brekpoints (xs, sm, md, lg y xl) y un máximo por defecto de 16 columnas, las posibles clases resultan de la siguiente combinación:
<div class="grid grid--cols-{breakpoint}-{número-de-columnas}"></div>

Ejemplo: Grilla de 9 columnas en "lg" (min: 992px) y 5 columnas en "md" (min: 768px)

Contenido.
Contenido.
Contenido.
Contenido.
Contenido.
Contenido.
Contenido.
Contenido.
Contenido.

              <div class="grid grid--cols-md-5 grid--cols-lg-9">
                <div>Contenido.</div>
                <div>Contenido.</div>
                <div>Contenido.</div>
                <div>Contenido.</div>
                <div>Contenido.</div>
                <div>Contenido.</div>
                <div>Contenido.</div>
                <div>Contenido.</div>
                <div>Contenido.</div>
              </div>
            

Para determinar la cantidad de columnas que ocupará un elemento dentro del contenedor, puede utilizarse las siguientes combinaciones de clases de bloque:

<div class="grid__column-start-{breakpoint}-{número-de-columna}"></div> : Define el número de columna desde el cual debe empezar a ubicarse un elemento.
<div class="grid__column-end-{breakpoint}-{número-de-columna}"></div> : Defien el número de columna desde el cual debe terminar de ubicarse un elemento.
<div class="grid__column-span-{breakpoint}-{número-de-columnas}"></div> : Define el número de columnas al cual debe expandirse un elemento desde su punto de origen.
<div class="grid__column-{breakpoint}-{número-de-columna-de-inicio}-ends"></div> : Define que un elemento se expanda hasta el último número de columna disponible.

IMPORTANTE: El número de columna corresonde a la línea/espacio que separa a cada elemento dentro de la grilla. Así, por ejemplo, los extremos del primer elemento serán la 'columna' 1 y 'columna' 2 respectivamente. Se refiere como columna por efectos prácticos.

Ejemplo: 16 columnas en "lg" y 8 columnas en "md"

md: columna 1 a 4. lg: columna 1 a 8.
md: columna 5 a 9. lg: columna 9 a 17.
Desde md en adelante: expandir desde columna 1 hasta columna 4.
Desde md en adelante: expandir desde columna 1 hasta columna 4.
Desde md en adelante: expandir desde columna 1 hasta columna 4.
Desde md en adelante: expandir desde columna 1 hasta columna 4.
Hasta la columna final desde md: columna 3, lg: columna 5

              <div class="grid grid--cols-md-8 grid--cols-lg-16">
                <div class="grid__column-span-md-4 grid__column-span-lg-8">md: columna 1 a 4. lg: columna 1 a 8.</div>
                <div class="grid__column-start-md-5 grid__column-end-md-9 grid__column-start-lg-9 grid__column-end-lg-17">md: columna 5 a 9. lg: columna 9 a 17.</div>
                <div class="grid__column-span-md-4">Desde md en adelante: expandir desde columna 1 hasta columna 4.</div>
                <div class="grid__column-span-md-4">Desde md en adelante: expandir desde columna 1 hasta columna 4.</div>
                <div class="grid__column-span-md-4">Desde md en adelante: expandir desde columna 1 hasta columna 4.</div>
                <div class="grid__column-span-md-4">Desde md en adelante: expandir desde columna 1 hasta columna 4.</div>
                <div class="grid__column-md-3-ends grid__column-lg-5-ends">Expandir hasta columna final desde md: columna 3, lg: columna 5</div>
              </div>
            

De la misma manera, se puede modificar el espacio en filas que ocupara un elemento dentro la grilla. De nuevo, la fila hace referencia la linea/espacio que hay bajo/encima de cada elemento.

Para modificar el espacio en filas se utiliza las siguientes clases de bloque:

<div class="grid__row-start-{breakpoint}-{número-de-fila}"></div> : Define el número de fila desde el cual debe empezar a ubicarse un elemento.
<div class="grid__row-end-{breakpoint}-{número-de-fila}"></div> : Defien el número de fila desde el cual debe terminar de ubicarse un elemento.
<div class="grid__row-span-{breakpoint}-{número-de-filas}"></div> : Define el número de filas al cual debe expandirse un elemento desde su punto de origen. Funciona correctamente con elementos con número de columnas definidas (start y end)

IMPORTANTE: el número de filas es generado automáticamente a partir de la distribución general de los elementos en la grilla. Esta implementación no cuenta con una forma de crear un número fijo de filas.

Ejemplo: 12 columnas en "md"

Tamaño de 4 columnas y 3 filas.
Tamaño de 4 columnas y 2 filas.
Desde columna 9 hasta la 13 y desde fila 1 hasta la 6.
Tamaño de 4 columnas.
Tamaño de 4 columnas.
Tamaño de 4 columnas.
Tamaño de 4 columnas.

              <div class="grid grid--cols-md-12">
                <div class="sample-box grid__column-span-md-4 grid__row-span-md-3">Tamaño de 4 columnas y 3 filas.</div>
                <div class="sample-box grid__column-span-md-4 grid__row-span-md-2">Tamaño de 4 columnas y 2 filas.</div>
                <div class="sample-box grid__column-start-md-9 grid__column-end-md-13 grid__row-start-md-1 grid__row-end-md-6">Desde columna 9 hasta la 13 y desde fila 1 hasta la 6.</div>
                <div class="sample-box grid__column-span-md-4">Tamaño de 4 columnas.</div>
                <div class="sample-box grid__column-span-md-4">Tamaño de 4 columnas.</div>
                <div class="sample-box grid__column-span-md-4">Tamaño de 4 columnas.</div>
                <div class="sample-box grid__column-span-md-4">Tamaño de 4 columnas.</div>
              </div>
            

Por defecto, el espacio que existe entre los elementos de una grilla es de 1rem (16px)

Para controlar el espacio que existe entre los elementos dentro de la grilla se debe utilizar las siguientes clases modificadores:

<div class="grid grid--gap-{breakpoint}-{nivel-de-espaciado}"></div> : Define el nivel de espacio por igual en vertical y horizontal.
<div class="grid grid--gap-row-{breakpoint}-{nivel-de-espaciado}"></div> : Define el nivel de espacio en horizontal.
<div class="grid grid--gap-column-{breakpoint}-{nivel-de-espaciado}"></div> : Define el nivel de espacio en vertical.

Existen 5 niveles de espaciado:

  • 0: 0
  • 1: .75rem
  • 2: 1rem
  • 3: 1.25rem
  • 4: 1.5rem

Contenido.
Contenido.
Contenido.
Contenido.
Contenido.
Contenido.

              <div class="grid grid--cols-md-6 grid--cols-lg-12 grid--gap-row-md-4 grid--gap-row-lg-0">
                <div class="grid__column-span-md-3">Contenido.</div>
                <div class="grid__column-span-md-3">Contenido.</div>
                <div class="grid__column-span-md-3">Contenido.</div>
                <div class="grid__column-span-md-3">Contenido.</div>
                <div class="grid__column-span-md-3">Contenido.</div>
                <div class="grid__column-span-md-3">Contenido.</div>
              </div>
            
Tipografía

Cabecera.
Todas los elementos HTML <h1> hasta <h6> están habilitados.

HTML Ejemplo
<h1> Cabecera h1
<h2> Cabecera h2
<h3> Cabecera h3
<h4> Cabecera h4
<h5> Cabecera h5
<h6> Cabecera h6

                            <h1>Cabecera h1</h1>
                            <h2>Cabecera h2</h2>
                            <h3>Cabecera h3</h3>
                            <h4>Cabecera h4</h4>
                            <h5>Cabecera h5</h5>
                            <h6>Cabecera h6</h6>
                        

Además, están habilitadas clases para colocar el estilo de las cabeceras sobre cualquier elemento. Desde .h1 hasta .h6

Cabecera h1

Cabecera h2

Cabecera h3

Cabecera h4

Cabecera h5

Cabecera h6


                            <p class="h1">Cabecera h1</p>
                            <p class="h2">Cabecera h2</p>
                            <p class="h3">Cabecera h3</p>
                            <p class="h4">Cabecera h4</p>
                            <p class="h5">Cabecera h5</p>
                            <p class="h6">Cabecera h6</p>
                        

Elementos de texto en linea.

Se puede utilizar la etiqueta mark para resaltar texto.

Linea de texto que es interpretada como texto eliminado.

Linea de texto que es interpretada como texto que dejó de ser correcto.

Linea de texto que es interpretada como texto agregado.

Linea de texto que se renderizará subrayada

Linea de texto que es interpretada como letra pequeña de un documento.

Linea de texto que se renderizará como texto en negrita.

Linea que se renderizará como texto en cursiva.


                            <p>Se puede utilizar la etiqueta mark para <mark>resaltar</mark> texto.</p>
                            <p><del>Linea de texto que es interpretada como texto eliminado.</del></p>
                            <p><s>Linea de texto que es interpretada como texto que dejó de ser correcto.</s></p>
                            <p><ins>Linea de texto que es interpretada como texto agregado.</ins></p>
                            <p><u>Linea de texto que se renderizará subrayada</u></p>
                            <p><small>Linea de texto que es interpretada como letra pequeña de un documento.</small></p>
                            <p><strong>Linea de texto que se renderizará como texto en negrita.</strong></p>
                            <p><em>Linea que se renderizará como texto en cursiva.</em></p>
                        

Nota: Para lograr el mismo efecto que las etiquetas <mark> y <small>, se puede utilizar las clases .mark {} y .small {} respectivamente.

Blockquotes

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.


                            <blockquote class="blockquote">
                                <p class="mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
                            </blockquote>
                        

Con fuente

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

Nombre importante en Fuente

                            <blockquote class="blockquote">
                                <p class="mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
                                <footer class="blockquote-footer">Nombre importante en <cite title="Fuente">Fuente</cite></footer>
                            </blockquote>
                        

Alineado

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

Nombre importante en Fuente

                            <blockquote class="blockquote text-center">
                                <p class="mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
                                <footer class="blockquote-footer">Nombre importante en <cite title="Fuente">Fuente</cite></footer>
                            </blockquote>
                        

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

Nombre importante en Fuente

                            <blockquote class="blockquote text-right">
                                <p class="mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
                                <footer class="blockquote-footer">Nombre importante en <cite title="Fuente">Fuente</cite></footer>
                            </blockquote>
                        

Listas

Ninguno

  • Lorem ipsum dolor sit amet
  • Consectetur adipiscing elit
  • Integer molestie lorem at massa
  • Facilisis in pretium nisl aliquet
  • Nulla volutpat aliquam velit
    • Phasellus iaculis neque
    • Purus sodales ultricies
    • Vestibulum laoreet porttitor sem
    • Ac tristique libero volutpat at
  • Faucibus porta lacus fringilla vel
  • Aenean sit amet erat nunc
  • Eget porttitor lorem

                            <ul class="list-unstyled">
                                <li>Lorem ipsum dolor sit amet</li>
                                <li>Consectetur adipiscing elit</li>
                                <li>Integer molestie lorem at massa</li>
                                <li>Facilisis in pretium nisl aliquet</li>
                                <li>Nulla volutpat aliquam velit
                                    <ul>
                                        <li>Phasellus iaculis neque</li>
                                        <li>Purus sodales ultricies</li>
                                        <li>Vestibulum laoreet porttitor sem</li>
                                        <li>Ac tristique libero volutpat at</li>
                                    </ul>
                                </li>
                                <li>Faucibus porta lacus fringilla vel</li>
                                <li>Aenean sit amet erat nunc</li>
                                <li>Eget porttitor lorem</li>
                            </ul>
                        

En linea

  • Lorem, ipsum.
  • Dolor sit.
  • Adipiscing elit.

                            <ul class="list-inline">
                                <li class="list-inline__item">Lorem, ipsum.</li>
                                <li class="list-inline__item">Dolor sit.</li>
                                <li class="list-inline__item">Adipiscing elit.</li>
                            </ul>
                        
Imagenes

Responsiva
Imagen que ocupará todo el ancho y alto de su contenido.

Imagen ejemplo

                            <img src="..." alt="..." class="img-fill">
                        

Thumbnail
Agrega un enmarcado a una imagen. En el ejemplo, una imagen de 200x200

200x200

                            <img src="..." alt="..." class="img-thumb">
                        

Nota: la imágenes en los ejemplos están redimensionadas. Las clases de CSS no alteran o influyen en el tamaño de la imagen.

Tablas

Estilo de tabla por defecto

# First Last Handle
1 Mark Otto @mdo
2 Jacob Thornton @fat
3 Larry the Bird @twitter

                            <table>
                                <thead>
                                    <tr>
                                        <th scope="col">#</th>
                                        <th scope="col">First</th>
                                        <th scope="col">Last</th>
                                        <th scope="col">Handle</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <tr>
                                        <th scope="row">1</th>
                                        <td>Mark</td>
                                        <td>Otto</td>
                                        <td>@mdo</td>
                                    </tr>
                                    <tr>
                                        <th scope="row">2</th>
                                        <td>Jacob</td>
                                        <td>Thornton</td>
                                        <td>@fat</td>
                                    </tr>
                                    <tr>
                                        <th scope="row">3</th>
                                        <td>Larry</td>
                                        <td>the Bird</td>
                                        <td>@twitter</td>
                                    </tr>
                                </tbody>
                            </table>
                        

Bordeado

# First Last Handle
1 Mark Otto @mdo
2 Jacob Thornton @fat
3 Larry the Bird @twitter

                            <table class="table--bordered">
                                <thead>
                                    <tr>
                                        <th scope="col">#</th>
                                        <th scope="col">First</th>
                                        <th scope="col">Last</th>
                                        <th scope="col">Handle</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <tr>
                                        <th scope="row">1</th>
                                        <td>Mark</td>
                                        <td>Otto</td>
                                        <td>@mdo</td>
                                    </tr>
                                    <tr>
                                        <th scope="row">2</th>
                                        <td>Jacob</td>
                                        <td>Thornton</td>
                                        <td>@fat</td>
                                    </tr>
                                    <tr>
                                        <th scope="row">3</th>
                                        <td colspan="2">Larry the Bird</td>
                                        <td>@twitter</td>
                                    </tr>
                                </tbody>
                            </table>
                        
Notificaciones

Tipos de notificaciones.

Notificación de tipo 'primary'
Notificación de tipo 'secondary'
Notificación de tipo 'success'
Notificación de tipo 'danger'
Notificación de tipo 'warning'
Notificación de tipo 'info'

                            <div class="noti-primary">
                                Notificación de tipo 'primary'
                            </div>
                            <div class="noti-secondary">
                                Notificación de tipo 'secondary'
                            </div>
                            <div class="noti-success">
                                Notificación de tipo 'success'
                            </div>
                            <div class="noti-danger">
                                Notificación de tipo 'danger'
                            </div>
                            <div class="noti-warning">
                                Notificación de tipo 'warning'
                            </div>
                            <div class="noti-info">
                                Notificación de tipo 'info'
                            </div>
                        

Componente.
Permite cerrar la notificación.

Notificación componente 'success' Notificación componente 'info'

                            <notification class="noti-success">
                                Notificación componente 'success'
                            </notification>
                        
Etiquetas

Se adaptan al tamaño de elemento padre cercano.

Ejemplo cabecera Nuevo

Ejemplo cabecera Nuevo

Ejemplo cabecera Nuevo

Ejemplo cabecera Nuevo

Ejemplo cabecera Nuevo
Ejemplo cabecera Nuevo

                            <h1>Ejemplo cabecera <span class="badge-secondary">Nuevo</span></h1>
                            <h2>Ejemplo cabecera <span class="badge-secondary">Nuevo</span></h2>
                            <h3>Ejemplo cabecera <span class="badge-secondary">Nuevo</span></h3>
                            <h4>Ejemplo cabecera <span class="badge-secondary">Nuevo</span></h4>
                            <h5>Ejemplo cabecera <span class="badge-secondary">Nuevo</span></h5>
                            <h6>Ejemplo cabecera <span class="badge-secondary">Nuevo</span></h6>
                        

En botones.


                            <button type="button" class="btn btn-primary">
                                Notificaciones <span class="badge-secondary">3</span>
                            </button>
                        

Elementos.
Como en etiquetas <span> o <a>

Primary Secondary Success Danger Warning Info Light Dark

                            <span class="badge-primary">Primary</span>
                            <span class="badge-secondary">Secondary</span>
                            <span class="badge-success">Success</span>
                            <span class="badge-danger">Danger</span>
                            <span class="badge-warning">Warning</span>
                            <span class="badge-info">Info</span>
                            <span class="badge-light">Light</span>
                            <span class="badge-dark">Dark</span>
                        
Inputs

Componente que recibe como atributos mínimos type y id. El label es dado por un <span></span>

Input de texto
Input de correo electrónico
Solo lectura
Deshabilitado
Textarea

                            <input-field
                                type="text"
                                id="texto">
                                <span>Input de texto</span>
                            </input-field>
                            <input-field
                                type="email"
                                id="email">
                                <span>Input de correo electrónico</span>
                            </input-field>
                            <input-field
                                type="text"
                                id="readonlyout"
                                readonly="readonly">
                                <span>Solo lectura</span>
                            </input-field>
                            <input-field
                                type="text"
                                id="disabledout"
                                disabled>
                                <span>Deshabilitado</span>
                            </input-field>
                            <textarea-field name="unique" id="someid">
                                <span>Textarea</span>
                            </textarea-field>
                            <div class="datepicker-field">
                              <date-picker id="date"></date-picker>
                              <label for="date">Fecha</label>
                            </div>
                        

En linea.
Colocando los input dentro de <div class="form-inline"></div>

Texto aquí:

Inline 1 Inline 2

              <div class="form-inline">
                  <p>Texto aquí:</p>
                  <input-field
                      type="text"
                      id="inline1">
                      <span>Inline 1</span>
                  </input-field>
                  <input-field
                      type="text"
                      id="inline2">
                      <span>Inline 2</span>
                  </input-field>
                  <button type="button" class="btn-secondary">Boton</button>
                  <label>
                      <input type="checkbox"> 
                      <span>Checkbox</span>
                  </label>
              </div>
            

Input stretch o 'pegado al label'
Por defecto, el tamaño de ancho del label, en cualquier componente tipo Input, es de 130px. Si se desea que se calcule automáticamente al ancho respectivo del texto debe colocarse el atributo stretch

Input de texto
Textarea

                <input-field stretch type="text" id="textstretch">
                  <span>Input de texto</span>
                </input-field>
                <textarea-field stretch name="uniquestretch" id="textareastretch">
                  <span>Textarea</span>
                </textarea-field>
            

Para obtener el mismo efecto en los componentes Select2 y Datepicker, se debe colocar una clase css modificadora:


                <div class="datepicker-field datepicker-field--stretch">
                  <date-picker id="datestretch"></date-picker>
                  <label for="datestrech">Fecha</label>
                </div>
                <div class="select2-field select2-field--stretch">
                  <v-select id="tipo_comprobante" placeholder="Seleccione"></v-select>
                  <label for="select2stretch">Select stretch</label>
                </div>
            
DatetimePicker

Documentación de opciones: Props-api


Maquetado

Fecha


              <div class="datepicker-field">
                <VueCtkDateTimePicker
                    id="datePicker"
                    v-model="07-04-2020"
                    locale="es"
                    no-label
                    only-date
                    auto-close
                    button-now-translation="Ahora"
                    format="DD-MM-YYYY"
                    formatted="ll" // momentjs format
                  />
                  <label for="datePicker">Selecipon fecha</label>
              </div>
            

Fecha y Hora


              <div class="datepicker-field">
                <VueCtkDateTimePicker
                    id="dateTimePicker"
                    v-model="07-04-2020 11:33"
                    locale="es"
                    no-label
                    only-date
                    button-now-translation="Ahora"
                    format="DD-MM-YYYY HH:mm" // formato de 24 horas
                    formatted="lll" // momentjs format
                  />
                  <label for="datePicker">Selecipon fecha y hora</label>
              </div>
            

Hora


              <div class="datepicker-field">
                <VueCtkDateTimePicker
                    id="timne"
                    v-model="11:33"
                    locale="es"
                    no-label
                    only-time
                    auto-close
                    button-now-translation="Ahora"
                    format="HH:mm" // formato de 24 horas
                    formatted="LT" // momentjs format
                  />
                  <label for="datePicker">Selecipon hora</label>
              </div>
            

Rango de fechas


              <div class="datepicker-field">
                <VueCtkDateTimePicker
                    id="dateRangePicker"
                    v-model="{
                      'start': '07-04-2020',
                      'end': '17-04-2020'
                    }"
                    locale="es"
                    no-label
                    range
                    button-now-translation="Ahora"
                    format="DD-MM-YYYY"
                    formatted="ll" // momentjs format
                    custom-shortcuts="[
                      { key: 'thisWeek', label: 'Esta semana', value: 'isoWeek' },
                      { key: 'lastWeek', label: 'Última semana', value: '-isoWeek' },
                      { key: 'last7Days', label: 'Últimos 7 días', value: 7 },
                      { key: 'last30Days', label: 'Últimos 30 días', value: 30 },
                      { key: 'thisMonth', label: 'Este mes', value: 'month' },
                      { key: 'lastMonth', label: 'Último mes', value: '-month' },
                      { key: 'thisYear', label: 'Este año', value: 'year' },
                      { key: 'lastYear', label: 'Último año', value: '-year' }
                    ]"
                  />
                  <label for="datePicker">Selecipon rango de fecha</label>
              </div>
            
Select2
Maquetado

Básico:
Etiquetas mímimas para colocar el componente


                <div class="select2-field">
                  <v-select v-model="modelo" :options="opciones" placeholder="Selecciona..." label="label"></v-select>
                  <label>Label</label>
                </div>
            

Completo:
Etiquetas recomendadas. Permite el manejo de estado de habilitado/deshabilitado del componente.


              <div class="form-field select2">
                <div class="select2-field">
                  <v-select v-model="modelo" :options="opciones" placeholder="Selecciona..." label="label"></v-select>
                  <label>Label</label>
                </div>
              </div>
            

              <div class="form-field select2 select2--disabled">
                <div class="select2-field">
                  <v-select v-model="modelo" :options="opciones" placeholder="Selecciona..." label="label"></v-select>
                  <label>Label</label>
                </div>
              </div>
            

Desplieque de opciones hacia arriba


              <div class="form-field select2">
                <div class="select2-field select2-field--dropdown-top">
                  <v-select v-model="modelo" :options="opciones" placeholder="Selecciona..." label="label"></v-select>
                  <label>Label</label>
                </div>
              </div>
            

Documentación completa: https://sagalbot.github.io/vue-select/docs/

Vue-good-table

Pintar una fila
Segun la documentación de vue-good-table, puede conseguirse pintar una fila a través del prop :row-style-class, el cual recibe una función que debe ser invocada en methods.

Clases de los colores posibles:
.vgtr--pending
.vgtr--issued
.vgtr--canceled
.vgtr--authorized

Ejemplo: Pintar en verde los mayores de 20 años, en rojo el resto.


              <template>
                <div>
                  <vue-good-table
                    :columns="columns"
                    :rows="rows"
                    :search-options="{
                      enabled: true,
                      placeholder: 'Buscar...'
                    }"
                    :row-style-class="pintarFilaFn"
                    styleClass="vgt-table"/>
                </div>
              </template>

              <script>
              export default {
                data(){
                  return {
                    columns: [
                      {
                        label: 'Name',
                        field: 'name',
                      },
                      ...
                    ],
                    rows: [
                      { id:1, name:"John", age: 20, createdAt: '201-10-31:9: 35 am',score: 0.03343 },
                      { id:2, name:"Jane", age: 24, createdAt: '2011-10-31', score: 0.03343 },
                      ...
                    ],
                  };
                },
                methods: {
                  pintarFilaFn(row) {
                    return row.age > 20 ? 'vgtr--authorized' : 'vgtr--canceled';
                  },
                }
              };
              </script>
            

Tamaño de altura máximo (con scroll)
Referencia: https://xaksis.github.io/vue-good-table...

Ejemplo: Altura máxima de 150px.


              <template>
                <div>
                  <vue-good-table
                    :columns="columns"
                    :rows="rows"
                    :search-options="{
                      enabled: true,
                      placeholder: 'Buscar...'
                    }"
                    :max-height="150px"
                    :fixed-header="true"
                    styleClass="vgt-table"/>
                </div>
              </template>
            
Table VueSax
Tooltip-Select

Componente tipo input que despliega un tooltip que contiene un componente select2.

Funciona enviando los valores a los atributos (props) internos de su componente Select2 a través de :opciones y, de ser necesario, :label. Además, si se encuentra en una tabla con filas dinámicas, puede recibir su índice de fila a través de :rowIndex.

El item seleccionado es capturado en @check.


              <template>
                  <div class="form-group form-group--on-input">
                      <input-field id="tooltip-select" type="text" placeholder="Ejemplo" v-model="texto">
                      </input-field>
                      <tooltip-select :opciones="example" :label="'countryName'" @check="itemSeleccionado"></tooltip-select>
                  </div>
              </template>
              <script>
                export default {
                    data() {
                        return {
                            example: [
                                { countryCode: "AU", countryName: "Australia" },
                                { countryCode: "CA", countryName: "Canada" },
                                { countryCode: "CN", countryName: "China" },
                                { countryCode: "DE", countryName: "Germany" },
                                { countryCode: "JP", countryName: "Japan" },
                                { countryCode: "MX", countryName: "Mexico" },
                                { countryCode: "CH", countryName: "Switzerland" },
                                { countryCode: "US", countryName: "United States" }
                            ],
                            texto: null
                        }
                    },
                    methods: {
                        itemSeleccionado (item, index) {
                            if(item != null && item != undefined) {
                                this.texto = item.countryName
                            }
                        }
                    }
                }
              </script>
            
Multiselect

Documentación del componente: https://vue-multiselect.js.org/#sub-getting-started

Maquetado
Para colocarlo correctamente debe estar dentro de un div con la clase .multiselect-field, seguido, y opcionalmente, se coloca un label para describir el select.

Nota: como en otros componentes, para colocar el label y el multiselect unidos (sin el espacio de 130px de ancho por defecto del label), colocar la clase modificadora .multiselect-field--stretch.


              <div class="multiselect-field">
                  <multiselect 
                      v-model="value" 
                      :options="options" 
                      :searchable="false" 
                      :show-labels="false" 
                      placeholder="Seleccione..."
                      :taggable="true"></multiselect>
                  <label for="label">Label</label>
              </div>
            

Más ejemplos de implementación: https://vue-multiselect.js.org/#examples

Botones

                            <button type="button" class="btn">Default</button>
                            <button type="button" class="btn-primary">Primary</button>
                            <button type="button" class="btn-secondary">Secondary</button>
                            <button type="button" class="btn-success">Success</button>
                            <button type="button" class="btn-danger">Danger</button>
                            <button type="button" class="btn-warning">Warning</button>
                            <button type="button" class="btn-info">Info</button>
                            <button type="button" class="btn-light">Light</button>
                            <button type="button" class="btn-dark">Dark</button>
                        

La clase .btn {} está diseñada para funcionar sobre cualquiera de estos elementos.

Enlance

                            <a class="btn-primary" href="#" role="button">Enlance</a>
                            <button class="btn-primary" type="submit">Boton</button>
                            <input class="btn-primary" type="button" value="Input">
                            <input class="btn-primary" type="submit" value="Submit">
                            <input class="btn-primary" type="reset" value="Reset">
                        

Botones sin relleno.


                            <button type="button" class="btn--outline btn-primary">Primary</button>
                            <button type="button" class="btn--outline btn-secondary">Secondary</button>
                            <button type="button" class="btn--outline btn-success">Success</button>
                            <button type="button" class="btn--outline btn-danger">Danger</button>
                            <button type="button" class="btn--outline btn-warning">Warning</button>
                            <button type="button" class="btn--outline btn-info">Info</button>
                            <button type="button" class="btn--outline btn-light">Light</button>
                            <button type="button" class="btn--outline btn-dark">Dark</button>
                        

Tamaños.


                            <button type="button" class="btn--small btn-info">Small</button>
                            <button type="button" class="btn-success">Normal</buttton>
                            <button type="button" class="btn--medium btn-primary">Medium</button>
                            <button type="button" class="btn--large btn-secondary">Large</button>
                        

                            <button type="button" class="btn--block btn--large btn-primary">Todo el ancho (large)</button>
                            <button type="button" class="btn--block btn--small btn-info">Todo el ancho (small)</button>
                        

Grupo de botones.
Horizontal


                            <div class="btn-group">
                                <button type="button" class="btn-secondary">Boton #1</button>
                                <button type="button" class="btn-secondary">Boton #2</button>
                                <button type="button" class="btn-secondary">Boton #3</button>
                            </div>
                        

Vertical


                            <div class="btn-group--vertical">
                                <button type="button" class="btn-secondary">Boton #1</button>
                                <button type="button" class="btn-secondary">Boton #2</button>
                                <button type="button" class="btn-secondary">Boton #3</button>
                                <button type="button" class="btn-secondary">Boton #4</button>
                                <button type="button" class="btn-secondary">Boton #5</button>
                            </div>
                        

Botones con iconos.


                            <button type="button" class="btn-danger"><i class="fa fa-trash"></i></button>
                            <button type="button" class="btn-info"><i class="fa fa-edit"></i></button>
                            <button type="button" class="btn-success"><i class="fa fa-user"></i></button>
                            <button type="button" class="btn-primary"><i class="fa fa-building"></i></button>
                            <button type="button" class="btn-warning"><i class="fa fa-bell"></i></button>
                            <button type="button" class="btn-secondary"><i class="fa fa-file"></i><span>Texto</span></button>
                        

IMPORTANTE: Cuando se coloca un icono acompañado de texto, el texto debe ir entre las etiquetas <span></span>

Button Card
ACTIVOS ACTIVOS ACTIVOS ACTIVOS

Propiedades del componente:

  • btn-color: tipo de botón
  • fa-name: tipo de ícono
  • counter: contador


              <div class="grid grid--fit">
                <button-card btn-color="btn-success" fa-name="fa-ban" counter="1">ACTIVOS</button-card>
                <button-card btn-color="btn-info" fa-name="fa-edit" counter="12">ACTIVOS</button-card>
                <button-card btn-color="btn-danger" fa-name="fa-eye" counter="123">ACTIVOS</button-card>
                <button-card btn-color="btn-secondary" fa-name="fa-trash" counter="4">ACTIVOS</button-card>
              </div>
            
Checkbox


                            <form action="#">
                                <p>
                                    <label>
                                        <input type="checkbox" name="remember"> 
                                        <span>Checkbox</span>
                                    </label>
                                </p>
                                <p>
                                    <label>
                                        <input type="checkbox" class="is-filled" name="remember"> 
                                        <span>Checkbox de relleno</span>
                                    </label>
                                </p>
                            </form>
                        
Radio Buttons


                            <form action="#">
                                <p>
                                    <label>
                                        <input type="radio" name="radio1"> 
                                        <span>Radio 1</span>
                                    </label>
                                </p>
                                <p>
                                    <label>
                                        <input type="radio" name="radio1"> 
                                        <span>Radio 2</span>
                                    </label>
                                </p>
                                <p>
                                    <label>
                                        <input type="radio" name="radio1"> 
                                        <span>Radio 3</span>
                                    </label>
                                </p>
                            </form>
                        
Loaders

Componente pensado para funcionar con axios


                        <loader :loading="loading"></loader> 

                        data () {
                            return {
                            loading : true
                            }
                        },
                        methods: {
                            getSomething () {
                            axios.get(url + '/api').then(res => {
                                if(res.data) {
                                ...
                                this.loading = false
                                }
                                }).catch(err => {
                                if(err.msg) {
                                    ...
                                    this.loading = false
                                }
                                })
                            }
                        }
                        
Card

Estructura simple.

Un título cualquiera Un subtítulo

Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur sint, sit perferendis eveniet accusantium id praesentium. Ipsam quidem, iure vitae fugiat, consequatur nemo neque ab accusantium dicta nam excepturi temporibus.


                            <div class="card">
                                <div class="card__title">
                                    <span>Un título cualquiera
                                        <span class="subtitle">Un subtítulo</span>
                                    </span>
                                </div>
                                <div class="card__content">
                                    <p>
                                    Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur sint, sit perferendis eveniet accusantium id praesentium. Ipsam quidem, iure vitae fugiat, consequatur nemo neque ab accusantium dicta nam excepturi temporibus.
                                    </p>
                                </div>
                            </div>
                        

Con imagen, enlaces y botones.

...

Un título cualquiera Un subtítulo

Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur sint, sit perferendis eveniet accusantium id praesentium. Ipsam quidem, iure vitae fugiat, consequatur nemo neque ab accusantium dicta nam excepturi temporibus.

Enlace

                            <div class="card">
                                <div class="card__image">
                                    <img src="https://www.docs2.kimerasoft-ec.com/images/bg-sidepanel.png" alt="...">
                                </div>
                                <div class="card__title">
                                    <h3>Un título cualquiera
                                        <span class="subtitle">Un subtítulo</span>
                                    </h3>
                                </div>
                                <div class="card__content">
                                    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. 
                                        Consectetur sint, sit perferendis eveniet accusantium id praesentium. 
                                        Ipsam quidem, iure vitae fugiat, consequatur nemo neque ab accusantium 
                                        dicta nam excepturi temporibus.</p>
                                </div>
                                <div class="card__buttons">
                                    <button class="btn-info">Boton</button>
                                    <button class="btn-primary">Boton</button>
                                    <a href="#">Enlace</a>
                                </div>
                            </div>
                        

Alineamiento

Un título cualquiera Un subtítulo

Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur sint, sit perferendis eveniet accusantium id praesentium. Ipsam quidem, iure vitae fugiat, consequatur nemo neque ab accusantium dicta nam excepturi temporibus.

Enlace

                            <div class="card">
                                <div class="card__title">
                                    <h3>Un título cualquiera
                                        <span class="subtitle">Un subtítulo</span>
                                    </h3>
                                </div>
                                <div class="card__content text-right">
                                    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. 
                                        Consectetur sint, sit perferendis eveniet accusantium id praesentium. 
                                        Ipsam quidem, iure vitae fugiat, consequatur nemo neque ab accusantium 
                                        dicta nam excepturi temporibus.</p>
                                    </div>
                                    <div class="card__buttons--right">
                                        <button class="btn-info">Boton</button>
                                        <button class="btn-primary">Boton</button>
                                        <a href="#">Enlace</a>
                                    </div>
                                </div>
                            </div>
                        

Controles

Un título cualquiera Un subtítulo

Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur sint, sit perferendis eveniet accusantium id praesentium. Ipsam quidem, iure vitae fugiat, consequatur nemo neque ab accusantium dicta nam excepturi temporibus.


                            <div class="card">
                                <div class="card__title">
                                    <h3>Un título cualquiera
                                        <span class="subtitle">Un subtítulo</span>
                                    </h3>
                                    <div class="card__controls">
                                        <button type="button" class="btn-success">Boton</button>
                                        <button type="button" class="btn-info">Boton</button>
                                    </div>
                                </div>
                                <div class="card__content text-right">
                                    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. 
                                        Consectetur sint, sit perferendis eveniet accusantium id praesentium. 
                                        Ipsam quidem, iure vitae fugiat, consequatur nemo neque ab accusantium 
                                        dicta nam excepturi temporibus.</p>
                                </div>
                            </div>
                        

Colapsable

Un título cualqueira

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Consequatur voluptatum molestiae eos sequi ipsum dolores alias sit ullam sed officiis, suscipit quidem necessitatibus architecto vero odio vitae totam doloribus. Minus?

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Consequatur voluptatum molestiae eos sequi ipsum dolores alias sit ullam sed officiis, suscipit quidem necessitatibus architecto vero odio vitae totam doloribus. Minus?

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Consequatur voluptatum molestiae eos sequi ipsum dolores alias sit ullam sed officiis, suscipit quidem necessitatibus architecto vero odio vitae totam doloribus. Minus?

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Consequatur voluptatum molestiae eos sequi ipsum dolores alias sit ullam sed officiis, suscipit quidem necessitatibus architecto vero odio vitae totam doloribus. Minus?

Por defecto, el card estará contraído a menos que se coloque el atributo open en la etiqueta <detials>

Para colocar colores en el título utilizar la clase: .card__title--bg-{nombre del color}


              <details class="card card--collapsible" open>
                <summary class="card__title card__title--bg-primary">
                  <h4>Un título cualqueira</h4>
                </summary>
                <div class="card__content">
                  <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Consequatur voluptatum molestiae eos sequi
                  ipsum dolores alias sit ullam sed officiis, suscipit quidem necessitatibus architecto vero odio vitae
                  totam doloribus. Minus?</p>
                  <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Consequatur voluptatum molestiae eos sequi
                  ipsum dolores alias sit ullam sed officiis, suscipit quidem necessitatibus architecto vero odio vitae
                  totam doloribus. Minus?</p>
                  <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Consequatur voluptatum molestiae eos sequi
                  ipsum dolores alias sit ullam sed officiis, suscipit quidem necessitatibus architecto vero odio vitae
                  totam doloribus. Minus?</p>
                  <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Consequatur voluptatum molestiae eos sequi
                  ipsum dolores alias sit ullam sed officiis, suscipit quidem necessitatibus architecto vero odio vitae
                  totam doloribus. Minus?</p>
                </div>
              </details>
            
Dropdown

Por defecto.

Título de dropdown

                            <dropdown>
                                <span slot="title">Título de dropdown</span>
                                <ul slot="content">
                                    <li><a href="#">Enlace 1</a></li>
                                    <li><a href="#">Enlace 2</a></li>
                                    <li><a href="#">Enlace 3</a></li>
                                </ul>
                            </dropdown>
                        

Modo botón.
Agregando la clase de cualquier tipo de botón.

Dropdown button

                            <dropdown class="btn-secondary">
                                <span slot="title">Dropdown button</span>
                                <ul slot="content">
                                    <li><a href="#">Enlace 1</a></li>
                                    <li><a href="#">Enlace 2</a></li>
                                    <li><a href="#">Enlace 3</a></li>
                                </ul>
                            </dropdown>
                        

Con imagen.
Agrega el atributo data-image se habilitará la opción de colocar una imagen.

Dropdown image ...

                            <dropdown data-image>
                                <span slot="title">Dropdown image</span>
                                <ul slot="content">
                                    <li><a href="#">Enlace 1</a></li>
                                    <li><a href="#">Enlace 2</a></li>
                                    <li><a href="#">Enlace 3</a></li>
                                </ul>
                                <img src="" alt="..." slot="image">
                            </dropdown>
                        

Tamaños.
Agrega el atributo data-big para agrandar el tamaño del dropdown.

Dropdown grande

                            <dropdown data-big>
                                <span slot="title">Dropdown grande</span>
                                <ul slot="content">
                                    <li><a href="#">Enlace 1</a></li>
                                    <li><a href="#">Enlace 2</a></li>
                                    <li><a href="#">Enlace 3</a></li>
                                </ul>
                            </dropdown>
                        

Desplique por encima.
Agregael atributo data-above para que la lista se despliegue por encima del título.


                            <dropdown display-above>
                                <span slot="title">Dropdown</span>
                                <ul slot="content">
                                    <li><a href="#">Enlace 1</a></li>
                                    <li><a href="#">Enlace 2</a></li>
                                    <li><a href="#">Enlace 3</a></li>
                                </ul>
                            </dropdown>
                        

Desplique alineado hacia la derecha.
Por defecto se alinea hacia la izquierda. Agregando el atributo display-right el contenido desplegable se alineará hacia la derecha.


                            <dropdown display-right>
                                <span slot="title">Dropdown</span>
                                <ul slot="content">
                                    <li><a href="#">Enlace 1</a></li>
                                    <li><a href="#">Enlace 2</a></li>
                                    <li><a href="#">Enlace 3</a></li>
                                </ul>
                            </dropdown>
                        
Texto

Clases de utilidad para aplicar a todo texto en cualquier contendor HTML

Esto es un texto 'mudo'.

Esto es un texto 'nowrap' intencionalmente largo para demostrar la aplicación de la clase aquí especificada, que me permitirá que el texto aquí presente no haga un salto línea.

Esto es un texto en negrita.

Esto es un texto todo en mayúsculas.

Texto oculto

< Aquí hay un texto oculto.

Texto truncado que mostrará puntos suspensivos cuando se acabe el espacio de su contenedor.

Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado.

Texto alineado a la derecha.

Texto alineado a la izquierda.

Texto alineado al centro.


                            <p class="text-muted">Esto es un texto 'mudo'.</p>
                            <p class="text-nowrap">Esto es un texto 'nowrap' intencionalmente largo para demostrar la aplicación
                            de la clase aquí especificada, que me permitirá que el texto aquí presente no haga un salto
                            línea.</p>
                            <p class="text-bold">Esto es un texto en negrita.</p>
                            <p class="text-uppercase">Esto es un texto todo en mayúsculas.</p>
                            <p class="text-hide">Texto oculto</p><em>< Aquí hay un texto oculto.</em>
                            <p style="width: 180px" class="text-truncate">Texto truncado que mostrará puntos suspensivos
                            cuando se acabe el espacio de su contenedor.</p>
                            <p style="width: 280px" class="text-justify">
                            Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado
                            Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado
                            Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado Justificado.
                            </p>
                            <p class="text-right">Texto alineado a la derecha.</p>
                            <p class="text-left">Texto alineado a la izquierda.</p>
                            <p class="text-center">Texto alineado al centro.</p>
                        

Colores

Texto del color de negocio 100

Texto del color de negocio 200

Texto del color de negocio 300

Texto del color de negocio 400

Texto color 'primary'

Texto color 'secondary'

Texto color 'info'

Texto color 'success'

Texto color 'waring'

Texto color 'danger'

Texto color 'light'

Texto color 'dark'


                            <p class="text-bus100">Texto del color de negocio 100</p>
                            <p class="text-bus200">Texto del color de negocio 200</p>
                            <p class="text-bus300">Texto del color de negocio 300</p>
                            <p class="text-bus400">Texto del color de negocio 400</p>
                            <p class="text-primary">Texto color 'primary'</p>
                            <p class="text-secondary">Texto color 'secondary'</p>
                            <p class="text-info">Texto color 'info'</p>
                            <p class="text-success">Texto color 'success'</p>
                            <p class="text-waring">Texto color 'waring'</p>
                            <p class="text-danger">Texto color 'danger'</p>
                            <p class="text-light">Texto color 'light'</p>
                            <p class="text-dark">Texto color 'dark'</p>
                        
Espaciados

Clases para colocar espaciado utilizando margin o padding.

Funciona de la siguiente manera:

  • {propiedad}{lado}-{tamaño} - Para aplicación general.
  • {propiedad}{lado}-{breakpoint}-{tamaño} - Para aplicación en distintos tamaños de pantalla.

Donde propiedad corresponde a:

  • m - Clase con la propiedad margin.
  • p - Clase con la propiedad padding.

Donde lado corresponde a:

  • t - Clase con la propiedad margin-top o padding-top.
  • r - Clase con la propiedad margin-right o padding-right.
  • b - Clase con la propiedad margin-bottom o padding-bottom.
  • l - Clase con la propiedad margin-left o padding-left.
  • x - Clases con las propiedades *-left y *-right (espaciado por igual en los costados).
  • y - Clases con las propiedades *-top y *-bottom (espaciado por igual arriba y abajo).
  • Vacío - Clase con la propiedad margin o padding aplicada a los cuatro lados.

Donde tamaño corresponde a:

  • 0 - Para eliminar el espaciado aplicando 0 a margin o padding.
  • 1 - Para aplicar espaciado de 0.25rem a margin o padding.
  • 2 - Para aplicar espaciado de 0.5rem a margin o padding.
  • 3 - Para aplicar espaciado de 1rem a margin o padding.
  • 4 - Para aplicar espaciado de 1.5rem a margin o padding.
  • 5 - Para aplicar espaciado de 3rem a margin o padding.

margin '2' hacia arriba
padding '5' hacia la izquierda
margin '4' hacia arriba en pantallas medianas en adelante

                            <div class="row">
                                <div class="col-xs-4 mt-2">
                                    <div class="sample-box"><em>margin</em> '2' hacia arriba</div>
                                </div>
                            </div>
                            <div class="row">
                                <div class="col-xs-6 pl-5">
                                    <div class="sample-box"><em>padding</em> '5' hacia la izquierda</div>
                                </div>
                            </div>
                            <div class="row">
                                <div class="col-xs-3 mt-md-4">
                                    <div class="sample-box"><em>margin</em> '4' hacia arriba en pantallas medianas en adelante</div>
                                </div>
                            </div>
                        

Importante: se recomienda un uso moderado de estas clases.

Overflow

Para determinar contendores con un límite fijo.


                            <div class="overflow-container">
                                <div class="btn-group">
                                    <button type="button" class="btn-secondary">Boton #1</button>
                                    <button type="button" class="btn-secondary">Boton #2</button>
                                    <button type="button" class="btn-secondary">Boton #3</button>
                                    <button type="button" class="btn-secondary">Boton #4</button>
                                    <button type="button" class="btn-secondary">Boton #5</button>
                                    ...
                                </div>
                            </div>
                        
Tooltip

Para describir un elemento en la interfaz de usuario que no queda lo suficientemente claro se puede utilizar Tooltips. Esta utilidad está implementad para que pueda mostrarse en cualquier elemento a través del artibuto tooltip


                <div class="select2-field select2-field--stretch">
                  <v-select tooltip="Esto es un componente Select2" placeholder="Selecciona..."></v-select>
                  <label for="tipo">Select2:</label>
                </div>
                <div class="select2-field select2-field--stretch">
                  <v-select tooltip="Esto es un componente Select2" tooltip-position='left' placeholder="Selecciona..."></v-select>
                  <label for="tipo">Select2:</label>
                </div>
                <div class="select2-field select2-field--stretch">
                  <v-select tooltip="Esto es un componente Select2" tooltip-position='bottom' placeholder="Selecciona..."></v-select>
                  <label for="tipo">Select2:</label>
                </div>
                <div class="select2-field select2-field--stretch">
                  <v-select tooltip="Esto es un componente Select2" tooltip-position='bottom' placeholder="Selecciona..."></v-select>
                  <label for="tipo">Select2:</label>
                </div>
            

Para componentes en una celda de una tabla es recomendable colocarlo sobre la etiqueta <td>

Cabecera 1 Cabecera 2 Cabecera 3
Texto Texto

              <table>
                <thead>
                  <tr>
                    <th>Cabecera 1</th>
                    <th>Cabecera 2</th>
                    <th>Cabecera 3</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td tooltip="Esto es un componente Select2">
                      <v-select placeholder="Selecciona..."></v-select>
                    </td>
                    <td>Texto</td>
                    <td>Texto</td>
                  </tr>
                </tbody>
              </table>
            

Para mostrar mensajes de estados en una celda específico, se deben utilizar los siguientes atributos personalizables:

cell-message="Mensaje de estado" * : El texto que se mostrará en el tooltip.
cell-message-status='authorized' * : Estado del mensaje (color). Estados: Authorized, Pending, Issued, Canceled.
cell-message-dir='left' : Colocar indicador de estado a la izquierda.
*: Mínimo necesario

Nota: Los mensajes de estados se pueden mostrar en filas solo si estas están en una disposición en bloque (display: block;).

Cabecera 1 Cabecera 2 Cabecera 3 Cabecera 4
Texto Texto Texto Texto
Texto Texto Texto Texto
Texto Texto Texto Texto

              <table>
                <thead>
                  <tr>
                    <th>Cabecera 1</th>
                    <th>Cabecera 2</th>
                    <th>Cabecera 3</th>
                    <th>Cabecera 4</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td>Texto</td>
                    <td>Texto</td>
                    <td cell-message="Mensaje de estado de error" cell-message-status="canceled">Texto</td>
                    <td>Texto</td>
                  </tr>
                  <tr>
                    <td cell-message="Mensaje de estado pendiente en fila" cell-message-status="pending" cell-message-dir="left">Texto</td>
                    <td>Texto</td>
                    <td>Texto</td>
                    <td>Texto</td>
                  </tr>
                  <tr>
                    <td>Texto</td>
                    <td cell-message="Mensaje de estado autorizado" cell-message-status="authorized">Texto</td>
                    <td>Texto</td>
                    <td>Texto</td>
                  </tr>
                </tbody>
              </table>