Ejemplo de como crear una página de una compañía usando TailwindCSS y personalizando con Sass y Vanilla JS. Automatizado con Gulp. Incluye Iconify como grupo de iconos. Además, puede usarse Sass para definir tus estilos con Tailwind.
Pagina web de una compañía realizada con TailwindCSS y cambiar su apariencia con Sass. La intercatividad está realizada con Vanila JS. Para ello se ha creado una serie de tareas automatizadas con Gulp y se ha añadido como iconos Iconify. Se ha añadido la opción del modo oscuro.
Para este proyecto me he basado en otro desarrollo realizado donde el framework CSS es Bulma y con ello poder comprar ambos. Lo puedes encontrar en: Bulma - Landing Page.
Se ha utilizado nuestra plantilla de automatización de Tailwind que puedes descargar desde: Tailwind - Init Gulp.
Además el proyecto tiene el tema claro u oscuro, que detecta automáticamente la configuración de tu sistema operativo o preferencias de explorador o opciones personales que le indiques, para que puedas cambiar el tema de tu página web. De la misma manera, se adapta a tres configuraciones mínimas de dispositivo: teléfono móvil, tablet y ordenador.
Tailwind CSS es un framework CSS de bajo nivel altamente personalizable que le permite crear diseños personalizados. Permite un desarrollo ágil, basado en clases de utilidad que se pueden aplicar con facilidad en el código HTML y unos flujos de desarrollo que permiten optimizar mucho el peso del código CSS.
Tailwind permite escribir los estilos por medio de clases que se incluyen dentro del código HTML y que afectan a un aspecto muy concreto y específico de las CSS, por ejemplo, el fondo de un elemento, el color del texto o simplemente el margen por la parte de arriba. Este enfoque se conoce como "Atomic CSS", por aplicarse mediante estilos muy determinados y simples.
En el fichero tailwind.config.js se puede definir un tema personalizado, que se aplica a todas las páginas web. Se muestra un ejemplo donde se han definido fuentes, colores e incluso resolución para los breakpoints y adaptación a los dispositivos.
darkMode: 'class', // or 'media' or 'class'
// Extendemos o configuramos el tema
theme: {
extend: {
// Fuentes
fontFamily: {
montserrat: ['montserrat', 'sans-serif'],
sans: ['Avenir', 'sans-serif'], // Probar con Avenir/Ubuntu
serif: ['Merriweather', 'serif'],
},
// Colores
colors: {
// O puedo usar colors.
'primary-light': '#F7F8FC',
'secondary-light': '#f7f7f7',
'ternary-light': '#f6f7f8',
'primary-dark': '#0D2438',
'secondary-dark': '#102D44',
'ternary-dark': '#1E3851',
'title-light': '#363636',
'subtitle-light': '#4a4a4a',
'text-light': '#111827',
'title-dark': '##f7f7f7',
'subtitle-dark': '#93C5FD',
'text-dark': '#F9FAFB',
},
// Adaptación a dispositivos. Me baso en los de Bula y TailwindCSS
// https://tailwindcss.com/docs/responsive-design
// https://bulma.io/documentation/overview/responsiveness/
screens: {
'mobile': '640px',
// => @media (min-width: 640px) { ... }
'tablet': '768px',
// => @media (min-width: 768px) { ... }
'desktop': '1024px',
// => @media (min-width: 1024px) { ... }
'widescreen': '1280px',
// => @media (min-width: 1280px) { ... }
'fullhd': '1408px',
// => @media (min-width: 1408px) { ... }
}
},
BEM nos da la directriz de cómo estructurar nuestro CSS y cómo nombrar adecuadamente a las clases CSS. BEM significa: Block Element Modifier.
En este proyecto hemos dejado unos ejemplos en nuestro CSS y HTMl de cómo podríamos utilizar BEM y Saas, el resto se ha sin seguí esta estructura de CSS para que elijas la que más te guste. Yo lo tengo claro, siempre BEM cuando sea posible.
.bloque{
margin:0 auto;
}
.bloque__boton{
border: 1px solid black;
}
.bloque__boton--rojo{
background:red;
}
Usaremos anidación y selectores padres.
.bloque{
margin:0 auto;
&__boton{
border: 1px solid black;
&--rojo{
background:red;
}
}
}
npm install // or yarn install
npm run dev // or yarn dev
npm run prod // or yarn prod
Codificado con :sparkling_heart: por José Luis González Sánchez
Cualquier cosa que necesites házmelo saber por si puedo ayudarte 💬.
Este proyecto esta licenciado bajo licencia MIT, si desea saber más, visite el fichero LICENSE para su uso docente y educativo.