[Tutorial] Bootstrap para principantes

sh31k

¿Qué es Bootstrap?

Bootstrap es un framework JS+HTML5+CSS3, desarrollado por twitter que permite crear interfaces web muy vistosas, y con diseño responsivo, es decir, conseguirás que tu página se adapte perfectamente a cualquier dispositivo en la que la abras.

¿Por qué Bootstrap?

Aunque bootstrap ofrece una gama de posibilidades bastante amplia, permitiéndote desarrollar interfaces web bastante elaboradas y complejas, destaca porque sus diseños son simples, limpios y sobretodo intuitivos, haciéndolos poco pesados lo cual reduce considerablemente el tiempo de carga y la adaptación a todos los dispositivos.

Además de esto, tienes muchísimas opciones customizables por defecto, que son simplemente perfectas para el diseño web. Botones, tablas, formularios, tipografías...

Otra gran ventaja es su sistema de cuadrículas (grid), el cual te facilitará muchísimo la distribución de tu página web (1 columna, 2 columnas, 3 columnas, etc...)

Aquí tenéis una web en la que recopilan shortcodes de las funciones de bootstrap para ir abriendo boca: http://strappress.com/demo/shortcodes/

¿Que necesito?

Lo ideal es tener algo de conocimiento de PHP, HTML5, JS, y CSS3 si vas a diseñar una web simple, y de mySQLi si vas a trabajar con una web dinámica en la que necesitemos integración de usuarios e interacción con estos. Pero, intentaré hacer una guía básica de como diseñar un frontal web paso a paso para los que estéis empezando en esos lenguajes.

De todas formas, cualquier persona con dos manos puede seguir este tutorial, sin necesidad de conocer profundamente como programar html,css,php, etc.

Algunos ejemplos de páginas diseñadas con bootstrap:

http://breezi.com/
http://stackideas.com/
http://www.iacquire.com/
http://www.audiomack.com/

¿Cómo empezar?

Antes de nada, si no disponéis de un hosting en el que hacer pruebas, os recomiendo instalaros un xAMPP, ya que bootstrap tira mucho de PHP y así trabajáis en local que es mucho más cómodo. Si tenéis alguna duda con el xampp podéis preguntarme por privado.

Nos dirigimos a su web: http://getbootstrap.com/ y descargamos el paquete de bootstrap.
NOTA: También puedes bajar una plantilla prediseñada de estas: http://examples.getbootstrap.com/ y trabajéis sobre una distribución predefinida.

Para esta guía empezaremos a pelo para ir conociendo las características básicas de bootstrap, así que vamos a preparar nuestro proyecto. Creamos un arbol de carpetas igual que este en nuestro localhost:

Creamos las carpetas y copiamos los archivos del zip (bootstrap.css, bootstrap.js ...) dentro de ellas.

NOTA: Las versiones .min.css son idénticas a las que no tienen el .min, lo que estas están editadas en una sola línea para facilitar el tiempo de carga, mi recomendación es trabajar con la versión sin el .min. y no tocar nada de esta para guiarnos en caso de duda que será más fácil de encontrar.

Una vez tengamos esto preparado, tendremos que crear nuestro INDEX. Creamos un fichero index.php en la carpeta raíz (bootstrap), y copiamos el siguiente código en el:

<!DOCTYPE html> 
<html> 
<head> 
<title>Probando bootstrap</title> 
<meta name="viewport" content="width=device-width, initial-scale=1.0"> 
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen"> 
</head> 
<body class="container"> <h1>HOLA MediaVida</h1>
<script src="http://code.jquery.com/jquery.js"></script> 
<script src="js/bootstrap.min.js"></script> 
</body> 
</html>

Comprobamos en la consola que no ha habido ningún error de carga de scripts y stylesheets (F12 en chrome) y ya tenemos todo lo que necesitamos para empezar a crear nuestra página con bootstrap.

IMPORTANTE: La clase "container" que se le agrega al body, es simplemente para centrar toda la página, aplicándole a toda la caja un max-width específico para cada dispositivo.

NAVBAR o Barra de navegación

Bootstrap tiene una gran cantidad de clases ya preparadas para que tu simplemente tengas que utilizarlas y la única dificultad es conocer esas clases o saber buscar en la documentación de la página como se llama.

Para crear una barra de navegación vistosa, simplemente tenemos que crear una caja (div), y aplicarle una clase predefinida en el .css de bootstrap con el nombre de navbar:

<div class="navbar navbar-inverse"> 
	<a class="navbar-brand" href="#">@MediaVida</a> 
	<ul class="nav navbar-nav"> 
		<li class="active"><a href="#">Inicio</a></li> 
		<li><a href="#">Porno</a></li> 
		<li><a href="#">Fotos mías desnudo</a></li> 
	</ul> 
</div>

Para este caso, hemos utilizado "navbar-inverse", simplemente por el estilo, hay otros predefinidos, y siempre nos podemos crear nuestro estilo propio de colores y demás, recomiendo no tocar el bootstrap.css sino crear un .css aparte con nuestras modificaciones.

Submenús

Para crear un submenú recurrimos nuevamente a una clase ya establecida llamada "dropdown", y la aplicamos a nuestro nuevo objeto de lista <li>, y luego creamos los elementos del submenú con etiquetas <ul>, algo así:

<li class="dropdown"> 
    <a class="dropdown-toggle" href="#" data-toggle="dropdown" >Submenu <b class="caret"></b></a> 
	<ul class="dropdown-menu"> 
		<li><a href="#">Mas porno</a></li> 
		<li><a href="#">Mucho mas</a></li> 
		<li class="divider"></li> 
		<li><a href="#">Porno Gay</a></li> 
	</ul> 
</li>

Carousel

Bootstrap incluye un slider JavaScript muy famoso llamado carousel.
Puedes agregar cualquier otro slider JavaScript, pero para este tutorial vamos a utilizar el propio de bootstrap que para algo lo trae. Buscamos una o dos imágenes que queramos colocar en el slider principal y las guardamos en una nueva carpeta con nombre "img" (recomiendo imágenes con buena resolución, podéis mirar en www.freepik.es. Luego vamos al código y creamos una nueva caja(div) para nuestro slider, y agregamos este código que luego detallo:

<div id="myCarousel" class=" carousel slide">
			<ol class=" carousel-indicators">
		    	<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
		    	<li data-target="#myCarousel" data-slide-to="1"></li>
		    </ol>
			<div class="carousel-inner">
			    <div class="item active">
				    <img src="img/test.jpg" alt="">
				    <div class="carousel-caption">
              			<h1>Probando BOOTSTRAP</h1>
              			<p>IZQUIERDA</p>
            		</div>
				</div>
			    <div class="item">
				    <img src="img/test.jpg" alt="">
				    <div class="carousel-caption">
              			<h1>Probando BOOTSTRAP</h1>
              			<p>DERECHA</p>
            		</div>
				</div>
			</div>
</div>	

Como podéis ver cada elemento del slide será una vez más un elemento de una lista ordenada (<ol>). necesitamos crear tantos <li data-target="#myCarousel" data-slide-to="X"> </li> como cantidad de imágenes queramos meter en nuestro slider. Y luego detallaremos cada item creando un div con clase item por cada imagen nueva del slider.

La clase "item active" es la clase que se mostrará al cargar la página, obviamente no puede haber dos clases "item active", ya que la que esté más abajo en el código machacará la anterior.

Dentro de la caja <div class="carousel-caption"> Tendremos la posibilidad de escribir texto si lo deseásemos dentro del slider.

Como ya dije anteriormente, hay muchísimos sliders en internet gratuitos o de pago mejores que este, pero eso ya lo investigáis vosotros o me preguntáis por privado, sin problema.

Cuadrícula (GRID)

A continuación vamos a decidir que distribución va a tener nuestra página, tenemos que tener en cuenta cuantas columnas vamos a utilizar en nuestra página, y de que tamaño las queremos. Bootstrap incluye un sistema responsivo de hasta 12 columnas, que viene a ser que si una columna no cabe en el tamaño de tu pantalla de movil, esta automáticamente pasará a estar debajo, siguiendo un orden de izquierda a derecha, esto es una gozada, ya que sin programar NADA, tenemos automáticamente un tipo de página para pc, otro para tablet y otro para smartphone.

Podemos decidir el tamaño de nuestras columnas de manera sencillísima. Para este ejemplo vamos a crear primero un título de la página sin tamaño definido, y le aplicamos la clase, también de bootstrap "text-center" para centrarla, y luego debajo 3 columnas de tamaño 3+6+3. De esta forma:

<h1 class="text-center">  Probando BOOTSTRAP</h1>
<div class="row"> 
	<div class="col-lg-3">3</div> 
	<div class="col-lg-6">6</div> 
	<div class="col-lg-3">3</div> 
</div>

Ya tenemos 3 columnas establecidas, en los siguientes pasos las iremos rellenando una a una.

Formularios + MODAL

Vamos a crear un formulario aprovechándonos de una función JS que utiliza bootstrap que se llama "modal", crearemos un botón en la columna lateral izquierda, que sea algo así como un botón para registrar usuarios o suscribirse a newsletter.

Para ello, nos vamos al primer col-lg-3 y colocamos el siguiente código:

<form class="form-horizontal">
	<div class="form-group">
		<label for="inputEmail" class="control-label">User</label>
		<input type="text" class="form-control" id="inputEmail" placeholder="Email">
	</div>
	<div class="form-group">
		<label for="inputPassword" class="control-label">Password</label>
		<input type="password" class="form-control" id="inputPassword" placeholder="Password">
	</div>
	<div class="form-group">
	  	<div class="checkbox">
		    	<label><input type="checkbox"> Recordarme</label>
		</div>
	</div>
	<div class="form-group">
		<button type="submit" class="btn btn-default">Log In</button>
		<a data-toggle="modal" href="#myModal" class="btn btn-primary btn-lg">Registrarse</a>
	</div>
</form>

Con esto colocaremos el típico formulario de email+password en la columna de la izquierda con 2 botones, uno de login y otro de registrarse. Al botón de registrarse le hemos añadido un link a una función modal.

La función "modal", lo que hace es simplemente un popup de un código específico dejando en segundo plano nuestra web y mostrando el formulario de registro:

<div class="modal fade" id="myModal">
	<div class="modal-dialog">
		<div class="modal-content">
			<div class="modal-header">
				<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
			       <h4 class="modal-title">Formulario de registro</h4>
			</div>
			<div class="modal-body">
			        	...
			 </div>
			 <div class="modal-footer">
			      <button type="button" class="btn btn-primary">Registrarme</button>
			      <button type="button" class="btn btn-default" data-dismiss="modal">Salir</button>
			 </div>
		</div>
	</div>
</div>

NOTA: Este código es indiferente donde lo coloquemos dentro del body, no tiene porque ir necesariamente debajo del div del form.

El formulario lo colocaremos en los puntos suspensivos con los campos que necesitemos.

Imágenes + paginación

Bootstrap tiene unas clases específicas para las imágenes, con efectos de redondeo, sombras y sobretodo re-escalado que están bastante curiosas, Vamos a utilizar cualquier imagen que queramos para colocarla en la columna central aplicándole uno de estos estilos:

<img src="img/test2.jpg" class="img-thumbnail">
<ul class="pagination">
			  <li><a href="#">&laquo;</a>
			  	<p><h5> <h3>En un lugar de la Mancha</h3>, de cuyo nombre no quiero acordarme, 
				no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, 
				adarga antigua, rocín flaco y galgo corredor. 
				Una olla de algo más vaca que carnero, salpicón 
				las más noches, duelos y quebrantos los sábados, 
				lentejas los viernes, algún palomino de añadidura los domingos, 
				consumían las tres partes de su hacienda. 
				El resto della concluían sayo de velarte, calzas de velludo para 
				las fiestas con sus pantuflos de lo mismo, los días de entre semana 
				se honraba con su vellori de lo más fino. Tenía en su casa una ama 
				que pasaba de los cuarenta, y una sobrina que no llegaba a los veinte, 
				y un mozo de campo y plaza, que así ensillaba el rocín como tomaba la podadera. 
				Frisaba la edad de nuestro hidalgo con los cincuenta años, era de complexión recia, 
				seco de carnes, enjuto de rostro; gran madrugador y amigo de la caza.</p>
			</h5>
			  </li>
			  <li><a href="#">1</a></li>
			  <li><a href="#">2</a></li>
			  <li><a href="#">3</a></li>
			  <li><a href="#">4</a></li>
			  <li><a href="#">5</a></li>
			  <li><a href="#">&raquo;</a></li>
</ul>

La paginación también es sencillísima de aplicar como podéis ver en el ejemplo anterior, una vez más bootstrap estructura las páginas como listas (<li>). Con conocimientos de PHP podríais cargar los últimos 5 artículos de una BD en el primer <li>, los siguientes 5 en el siguiente, etc.

TABS:

Bootstrap tiene muchísimas pijadas que intentaré ir añadiendo con el tiempo, pero voy a usar un par de ellas simplemente para que veáis como se implementan. Vamos a utilizar un sistema de información dividida en pestañas en la columna de la izquierda de nuestra página. Para ello nos apoyaremos una vez más en una clase predefinida de Bootstrap, la cual se ayuda de JavaScript aunque también está implementada en la libreria js de bootstrap así que solo tenemos que copiar y pegar, una vez más xD

Dentro de nuestra columna de la derecha (el último <div class="col-lg-3">) añadiremos una lista no ordenada de elementos con 3 pestañas en este caso:

<ul class="nav nav-tabs">
	<li><a href="#tab1" data-toggle="tab">tab1</a></li>
	<li><a href="#tab2" data-toggle="tab">tab2</a></li>
	<li><a href="#tab3" data-toggle="tab">tab3</a></li>
</ul> 

Esta clase lo que hará será mostrarte algo así:

Ahora, para editar el contenido de cada una de las pestañas y que solo se muestre al cambiar, tenemos que crear un div con clase "tab-content" y dentro añadiremos lo que queramos, podemos personalizar esta columna de la izquierda para lo que prefiramos:

<div class="tab-content">
	<div class="tab-pane active" id="tab1">Texto tab 1</div>
	<div class="tab-pane" id="tab2">Texto tab 2</div>
	<div class="tab-pane" id="tab3">Texto tab 3</div>
</div>

Al igual que el Modal, es indiferente donde coloquemos esta caja dentro del body.

Clases de ayuda:

Antes utilizamos la clase center-text para centrar un texto, pues bien, hay una serie de clases para la colocación de los elementos que necesitemos:

Alineación:

.pull-left : Alinea a la izquierda
.pull-right: Alinea a la derecha
.clearfix: Resetea el atributo float de cualquier elemento.
text-left: Texto a la izquierda
text-center: Centra texto
text-right: Texto a la derecha

Colores:

Templates

Webs con varios templates ya elaborados, tanto gratuitos como de pago, gracias a ju4n4k4.

http://bootswatch.com/
https://wrapbootstrap.com/
http://themeforest.net/collections/2712342-bootstrap-templates

PD: Es mi primer tutorial, así que acepto críticas espero que constructivas, iré ampliando con cositas cuando tenga tiempo y si os gusta :)

18
kraneok

Está bien la idea, pero de todos modos, es básicamente lo que explican en los ejemplos del sitio oficial no?

1 respuesta
sh31k

#2 Si, he puesto en práctica la documentación oficial utilizando lo más básico para que a la gente se le quite el miedo, y lo intente hacer por su cuenta paso a paso.

1
Kiroushi

Ya que explicas Bootstrap podrías aportar algo más aparte de la documentación oficial, como el uso de mixins y los pseudo namespaces propios. Lo digo porque incluso los propios creadores desaconsejan usar las clases nativas del framework :)

#5 Ya que te dedicas profesionalmente a esto esperaba algo más acorde a tu nivel :)

#5 Pues no me importaría ver el portfolio de alguien de tu altanería que dice que Bootstrap es un framework PHP, la verdad. Pásamelo, por favor.

2 respuestas
sh31k

#4 Guía para principantes. Ya he dicho que iré poniendo cosas de más nivel si a la gente le gusta.

Y viendo quien eres y de donde vienes picadito omitiré el seguir discutiendo contigo en este thread.

#4 Con mucho gusto te enseño mi portfolio por privado si lo deseas, con el fin de aclarar el nivel que tengo. En este thread no procede.

1 respuesta
Merkury

#1 Sh3ik Bootstrap no es un framework PHP eh...

#4 Donde has leido que desaconsejen usar las clases nativas?

Pues no veo que ponga que esta desaconsejado... realmente el uso de las clases que traiga el framework que uses, ya sea bootstrap, modernizr, etc... es irrelevante porque el nombre de una clase con que cumpla la función de ser descriptivo es suficiente.

1 2 respuestas
Kiroushi

#6

http://www.sitepoint.com/css-frameworks-semantic-class-names/

http://ruby.bvision.com/blog/please-stop-embedding-bootstrap-classes-in-your-html

http://thenittygritty.co/decouple-css

De nada.

sh31k

Fixed, quería poner JS y he puesto PHP, error de edición.

Kiroushi

#6 Te lo voy a explicar yo, que no tengo ni puta idea de nada:

Si tienes 10 layouts o 10 views en las que rellenas (por poner un ejemplo) tablas de la forma:

<table class="table table-striped">

Resulta que cuando a los de twbs les dé por cambiar el nombre de la clase table-striped por tbl-striped, tienes que o bien hacer un grep|sed en todos tus archivos o... usar un mixin.

table {
  .table;
  .table-striped;
}

De tal forma que en el primer caso tienes que cambiar todos tus archivos, y en el segundo el .less desde el que haces los mixins a todo tu layout.

De nada. Firmado: alguien que no tiene ni puta idea.

#10 No estoy desviando el tema, estoy enseñándoos un concepto bastante útil.

#11 Después del trato que me has dado en el otro hilo sin conocerme de absolutamente nada, no voy a usar algodones.

2 respuestas
sh31k

#9 El concepto de principiante no te ha quedado claro, por lo que parece.

Al igual que uso el Carousel que viene por defecto que es bastante simple, el resto de clases las uso porque para aprender están genial, por favor deja de desviar el thread, te lo agradecería.

#9 Nah, estás picado por el otro thread, y la verdad me estas empezando a dar lástima. Lo que estás citando es algo bastante más avanzado del nivel de mi guía. Que es simplemente una introducción a bootstrap y a sus opciones BÁSICAS.

2 respuestas
Merkury

#10 Si, totalmente.

#9 Yo de front end, tengo unos conocimientos mas que suficientes, pero mira esto no lo sabía.

Aunque te digo una cosa, en un proyecto en el que por ejemplo haces una web y no te piden después actualizarla, es tontería, igual que es tontería en un proyecto extenso el hacer un cambio global de CSS por un cambio mínimo, por ejemplo ahora puede ser interesante cambiar de BS2 a BS3, pero vamos con la prepotencia que me has contestado, podrías coger y tirarte por un puente y tal.

#9 Vamos que encima de payaso y bocazas, rencoroso... lo tienes todo eh.

2 1 respuesta
Soltrac

Gracias por el tuto, pero viendo las flipadas de aquí, recomiendo a todos huir del diseño web xDDDDDD. Es un mundo de mierda y con razón.

2
PiradoIV

No sigáis entrando al trapo con Kiroushi y sus trolleadas o nos vamos a tener que poner serios con los chocopuntos.

3
kraneok

Chocopuntos everywhere.

S

Buenas, para hacer un Dropdown y que dentro de ese dropdown haya otro submenú, que debería de hacer?

En bootstrap 2.3 yo hacía lo siguiente:

<li class="dropdown">
	<a class="dropdown-toggle" data-toggle="dropdown" href="#">Dispositivos<b class="caret"></b></a>
	<ul class="dropdown-menu">
		<li class="dropdown-submenu">
			<a tabindex="-1" href="#">Tipo de dispositivo</a>
			<ul class="dropdown-menu">
				<li><a href="{base_url()}dispositivo_controller/alta_tipo_dispositivo">Dar de alta</a></li>
				<li><a href="{base_url()}dispositivo_controller/eliminar_tipo_dispositivo">Dar de baja</a></li>
			</ul>
		</li>
		<li class="dropdown-submenu">
			<a tabindex="-1" href="#">Dispositivo</a>
			<ul class="dropdown-menu">
				<li><a href="{base_url()}dispositivo_controller/alta_dispositivo">Dar de alta</a></li>
				<li><a href="{base_url()}dispositivo_controller/eliminar_dispositivo">Dar de baja</a></li>
				<li><a href="{base_url()}dispositivo_controller/buscar_dispositivo">Buscar</a></li>
			</ul>
		</li>
		<li class="dropdown-submenu">
			<a tabindex="-1" href="#">Instancia de dispositivo</a>
			<ul class="dropdown-menu">
				<li><a href="{base_url()}dispositivo_controller/alta_instancia_dispositivo">Dar de alta</a></li>
				<li><a href="{base_url()}dispositivo_controller/eliminar_instancia_dispositivo">Dar de baja</a></li>
				<li><a href="{base_url()}dispositivo_controller/modificar_instancia_dispositivo">Modificar</a></li>
				<li><a href="{base_url()}dispositivo_controller/buscar_instancia_dispositivo">Buscar</a></li>
			</ul>
		</li>
	</ul>
</li>
1 respuesta
sh31k

#15 Prueba así:

<div class="navbar navbar-fixed-top">
  <div class="navbar-inner">
    <div class="container">
      <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
        <span class="icon-bar"></span> 
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </a>

  <div class="nav-collapse">
    <ul class="nav">
            <li class="dropdown" id="accountmenu">
                <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dispositivos<b class="caret"></b></a>
                <ul class="dropdown-menu">
                    <li class="dropdown-submenu">
                      <a tabindex="-1" href="#">Tipos de Dispositivos</a>
                      <ul class="dropdown-menu">
                        <li><a tabindex="-1" href="#">Dar de Alta</a></li>
                        <li><a tabindex="-1" href="#">Dar de Baja</a></li>
                        <li class="dropdown-submenu">
                          <a href="#">Por si te hace falta...</a>
                          <ul class="dropdown-menu">
                              <li><a href="#">Nivel 3</a></li>
                              <li><a href="#">Nivel 3</a></li>
                          </ul>
                        </li>
                      </ul>
                    </li>
                    <li class="dropdown-submenu">
                      <a tabindex="-1" href="#">Dispositivos</a>
                      <ul class="dropdown-menu">
                        <li><a tabindex="-1" href="#">Dar de Alta</a></li>
                        <li><a tabindex="-1" href="#">Dar de Baja</a></li>
                        <li class="dropdown-submenu">
                          <a href="#">Por si te hace falta...</a>
                          <ul class="dropdown-menu">
                              <li><a href="#">Nivel 3</a></li>
                              <li><a href="#">Nivel 3</a></li>
                          </ul>
                        </li>
                      </ul>
                    </li>
                    <li class="dropdown-submenu">
                      <a tabindex="-1" href="#">Instancia de dispositivos</a>
                      <ul class="dropdown-menu">
                        <li><a tabindex="-1" href="#">Dar de Alta</a></li>
                        <li><a tabindex="-1" href="#">Dar de Baja</a></li>
                        <li class="dropdown-submenu">
                          <a href="#">Por si te hace falta...</a>
                          <ul class="dropdown-menu">
                              <li><a href="#">Nivel 3</a></li>
                              <li><a href="#">Nivel 3</a></li>
                          </ul>
                        </li>
                      </ul>
                    </li>
                </ul>
            </li>
        </ul>
    <ul class="nav pull-right">

    </ul>
  </div><!--/.nav-collapse -->
</div>
  </div>
</div>

y me dices

1 respuesta
S

#16 no me funciona correctamente. Voy a adjuntar un archivo con lo que es mi barra de navegación completa, ya que puse un fragmento solo.

https://mega.co.nz/#!wkVHVbZS!UKeuASALjoSC_RGf5bgecEY8pMkQYFKFituZbsil3wQ

y el dropdown funciona bien pero dentro de ese dropdown no me funciona un "sub-dropdown"

1 respuesta
sh31k

#17

A mí el código que has puesto en mega si que me funciona :/

Puedes probar a bajar el bootstrap de nuevo y sustituir los archivos? En github hicieron un nuevo commit hace 3 horas.

S

con bootstrap 3?????

1 respuesta
sh31k

#19 Vale, ahí está el fallo, mis disculpas, estaba usando la versión del repositorio git.

#21 En la versión 3.0 de bootstrap se han dropeado los submenús por considerarlos fuera de moda:
Dropdowns: Remove submenus suport in dropdown menus.

Te dejo el WIP oficial, no tenía ni idea, sorry xD https://github.com/twbs/bootstrap/pull/6342

1 respuesta
S

#20 jeje ok, esque con la version 2.3 me funcionaba correctamente, pero al querer migrar a la 3 parece que no va y por la documentacion no veo nada :(

1 respuesta
Proteus1989

Gracias por el tuto.
Me ha sacado de alguna duda que otra.

1
N1Tr0s

#1 muy buen trabajo, enhorabuena. yo llevo unos 6 meses trabajando con bootstrap y esta muy completito. gracias! (aunque esto yo ya me lo sepa xD)

JuAn4k4

Hay un porron de templates para bootstrap, desde simplones gratuitos :
http://bootswatch.com/

Hasta ya más elaborados :
https://wrapbootstrap.com/
http://themeforest.net/collections/2712342-bootstrap-templates

1 1 respuesta
sh31k

#24 Te los añado a #1

11 días después
S

Como se haría un ejemplo breve de paginacion con bootstrap en la que use base de datos???

2 respuestas
sh31k

#26 http://www.desarrolloweb.com/articulos/1035.php

Merkury

#26 Pero la duda que tienes que es, ¿como se hace en PHP? o como se usa el pagination de BS?

S

La paginación se hacerla, de hecho estoy usando el framework de codeigniter para ello. La duda que tengo realmente es aplicar bootstrap a la implementación que ya tengo hecha.

1 respuesta
Merkury

#29 Simplemente coge el snippet de paginatión y luego devuelves el parametro de las paginas y en los botones de < y > haces que en el controlador sume o reste 1 a la página.

Y listo.

1 respuesta

Usuarios habituales