¿Que es Tailwind CSS?

Runcoding
31 Mar 202010:46

Summary

TLDRThis video script introduces Tailwind CSS, a highly customizable utility-first CSS framework for rapidly building custom designs. It delves into Tailwind's core concepts, such as utility-first approach, responsive design utilities, injecting global styles, composing components from primitive utilities, extending utilities, and optimizing CSS output. The script also covers practical aspects like setting up a new Tailwind project, configuring it to suit your needs, and leveraging its powerful features. With a focus on hands-on coding, this video promises to equip viewers with a solid understanding of Tailwind CSS and its unique paradigm for building modern, responsive user interfaces efficiently.

Takeaways

  • 😃 Tailwind CSS is a utility-first CSS framework for rapidly building custom designs, released in November 2017 by Adam Wathan.
  • 🔑 It follows a utility-first approach, building complex components from primitive utility classes instead of creating separate classes for each component.
  • 📐 Tailwind CSS provides built-in responsive utilities for creating adaptive interfaces, with predefined breakpoints like small, medium, large, and extra-large.
  • 🌐 It promotes adding global base styles on top of Tailwind's styles and provides mechanisms to overwrite third-party libraries' styles.
  • ♻️ Tailwind CSS encourages extracting reusable components, avoiding duplication of utility classes across the codebase.
  • 🛠️ The framework allows extending utilities with custom classes and provides references for custom functions and directives.
  • 📖 The project documentation, resources like 'awesome-tailwindcss', and Adam Wathan's book offer comprehensive guidance on best practices and implementation details.
  • 🚀 Tailwind CSS aims to optimize CSS output by removing unused styles during build, resulting in smaller file sizes compared to traditional CSS frameworks.
  • 🔩 It offers a configuration file for customizing various aspects like spacing, font sizes, responsive breakpoints, and more.
  • 👨‍💻 The video script demonstrates setting up a Tailwind CSS project and provides practical examples of using the utility classes to build components.

Q & A

  • What is Tailwind CSS?

    -Tailwind CSS is a utility-first CSS framework for building custom designs rapidly. It is highly customizable with low-level utility classes, which means that developers don't need to write CSS from scratch.

  • Who created Tailwind CSS and when was it first released?

    -Tailwind CSS was created by Adam Wathan, and the first version (1.0.1) was released on November 1, 2017.

  • What is the utility-first approach in Tailwind CSS?

    -The utility-first approach in Tailwind CSS refers to building complex components from primitive utility classes. Instead of creating custom CSS classes with specific names, developers can use utility classes provided by Tailwind to style elements directly in HTML.

  • How does Tailwind CSS handle responsive design?

    -Tailwind CSS comes with a set of responsive utility classes that allow developers to create adaptive interfaces. It divides screen sizes into four categories (small, medium, large, and extra-large) and provides corresponding utility classes for each breakpoint.

  • How can developers add custom CSS to a Tailwind CSS project?

    -Tailwind CSS recommends adding custom CSS styles above the Tailwind styles. This way, custom styles will take precedence over Tailwind's utility classes due to the cascading nature of CSS. The documentation provides guidance on how to extend and customize Tailwind CSS.

  • What is the concept of 'extracting components' in Tailwind CSS?

    -The concept of 'extracting components' in Tailwind CSS refers to creating reusable components by grouping utility classes together. This approach helps avoid duplication and makes it easier to maintain and share components across a project.

  • How can Tailwind CSS help optimize CSS file size?

    -Tailwind CSS includes tools that can remove unused CSS from the final build. This process, known as 'purging' or 'tree-shaking,' scans the codebase and removes any utility classes that are not being used, resulting in a smaller and more optimized CSS file.

  • What is the recommended way to add custom utilities in Tailwind CSS?

    -The recommended way to add custom utilities in Tailwind CSS is by extending the existing utility classes. The documentation provides examples and guidance on how to properly extend Tailwind CSS with custom utilities, functions, and directives.

  • What resources are recommended for learning Tailwind CSS?

    -The script mentions several resources for learning Tailwind CSS, including the official documentation, the 'Awesome Tailwind CSS' website (which contains resources, components, guides, and examples), and a book by Adam Wathan called 'Refactoring UI'.

  • What is the process for starting a new Tailwind CSS project?

    -The script mentions that it will cover the process for starting a new Tailwind CSS project in the practical coding section.

Outlines

00:00

🌐 Introduction to Tailwind CSS

This paragraph introduces Tailwind CSS, a utility-first CSS framework created by Adam Wathan in November 2017. It defines Tailwind CSS as a highly customizable framework for building custom designs quickly. The paragraph explains the core concepts of Tailwind CSS, including utility-first approach, responsive design, adding global styles, extracting components, and extending utilities.

05:01

🛠️ Core Concepts of Tailwind CSS

This paragraph delves into the core concepts of Tailwind CSS. It discusses the utility-first approach, which involves building complex components from primitive utilities. It also covers responsive design utilities, adding global styles as a best practice, and extracting reusable components to avoid duplication. Additionally, it explains how to extend utilities with custom classes and the importance of keeping Tailwind CSS at the top of the cascade to avoid style conflicts.

10:02

📚 References and Resources

The final paragraph provides references and resources for learning more about Tailwind CSS. It recommends consulting the official Tailwind CSS documentation, exploring the Awesome Tailwind CSS website for resources, components, guides, plugins, and examples, and reading a book by Adam Wathan, the creator of Tailwind CSS, on building better user interfaces.

Mindmap

Keywords

💡Tailwind CSS

Tailwind CSS is a utility-first CSS framework that allows developers to build custom designs quickly by leveraging pre-defined utility classes instead of writing traditional CSS. It is highly customizable with low-level libraries, as mentioned in the script: 'Tailwind CSS es un framework utility-first para construir diseños customizados, rápidamente.' The script introduces Tailwind CSS as the main topic and framework being discussed.

💡Utility-first

The utility-first approach refers to building complex components from primitive, utility-based classes. As the script explains, 'utility first se refiere a construir componentes complejos de utilidades primitivas, contrastadas.' Instead of using semantic class names, developers combine various utility classes like 'bg-blue-500' or 'p-4' to style their components. This contrasts with traditional CSS methodologies, making it a new paradigm for many developers.

💡Responsive Design

Responsive design is the practice of creating interfaces that adapt to different screen sizes and devices. The script states, 'usar responsive utilidades de responsabilizar para construir, interfaces adaptativas.' Tailwind CSS provides a set of responsive utility classes like 'sm:flex' or 'md:px-8' that allow developers to define styles based on predefined breakpoints (small, medium, large, etc.), enabling responsive layouts without writing additional CSS.

💡Base Styles

Base styles refer to global CSS styles that provide a consistent foundation for a project. The script mentions, 'una de las, mejores prácticas de acceder a nuestro, propio código base global hasta arriba, de timing.' Tailwind CSS allows developers to add their own base styles on top of its default styles, ensuring consistent styling across the application.

💡Components

Components are reusable building blocks of a user interface. The script discusses 'straight thing components' as a concept in Tailwind CSS, referring to 'la duplicación de, utility first en proyectos mantenidas.' By creating components using Tailwind's utility classes, developers can easily extract and reuse these components throughout their projects, avoiding duplication and promoting consistency.

💡Customization

Customization refers to the ability to extend and modify Tailwind CSS's default behavior and styles. As the script states, 'con tie link podemos extender nuestras, utilidades con clases personalizadas,' Tailwind CSS provides mechanisms to add custom utility classes, functions, and directives, allowing developers to tailor the framework to their specific needs.

💡Utility Classes

Utility classes are the core building blocks of Tailwind CSS. They are single-purpose classes that apply specific styles, such as 'text-lg' for large text or 'rounded-md' for rounded corners. As the script demonstrates with examples like 'chat notification check, notification lover,' developers combine these utility classes to create complex components without writing custom CSS.

💡Configuration

Configuration in Tailwind CSS refers to the ability to customize various aspects of the framework through a configuration file. The script mentions, 'existe time beige está el componente and, we activities y cada uno de estos, componentes viene explicado a detalle,' indicating that Tailwind CSS provides a way to configure components, utilities, and other settings to match the project's requirements.

💡Optimization

Optimization in the context of Tailwind CSS relates to the ability to remove unused styles from the final CSS output. As the script states, 'hay, unas herramientas que nos permiten, eliminar código que no necesitamos hacer, como un 1 css eliminar el cese exe ss, que no se utiliza en la compilación,' Tailwind CSS includes tools that analyze the codebase and remove any unused styles, resulting in a smaller and more optimized CSS file.

💡Community

The script highlights the importance of the Tailwind CSS community by mentioning resources like 'a soltar wins, saben bastante recursos y direcciones, vienen en componentes guías plugins webs, ejemplos bastantes.' A vibrant community often contributes to the growth and adoption of a framework, providing resources, plugins, and examples that aid developers in learning and utilizing the framework effectively.

Highlights

Tailwind CSS is a utility-first CSS framework for rapidly building custom designs.

Tailwind CSS uses a utility-first approach to build complex components from primitive utility classes instead of pre-defined component classes.

Tailwind CSS provides responsive design utilities to create adaptive interfaces without writing additional CSS for different screen sizes.

It is recommended to add your own base styles on top of Tailwind CSS, which can override other CSS libraries if needed.

Tailwind CSS promotes extracting reusable components by co-locating markup and styles, reducing code duplication.

Tailwind CSS allows extending utilities with custom classes, functions, and directives, providing flexibility for customization.

Tailwind CSS was created by Adam Wathan and released its first version 1.0 in November 2017.

Tailwind CSS is a mature and well-supported tool by the Laravel community as of 2020.

Tailwind CSS aims to reduce the need for writing CSS by providing a comprehensive set of low-level utility libraries.

Tailwind CSS uses a different paradigm of writing HTML with many utility classes, which can be challenging for newcomers initially.

Tailwind CSS provides a configuration file to customize various settings, such as spacing, font sizes, and responsive breakpoints.

Tailwind CSS recommends adding global base styles above its own styles to ensure proper precedence.

Tailwind CSS includes tools for optimizing the final CSS output by removing unused styles, resulting in smaller file sizes.

The documentation provides examples and guidelines for extending Tailwind CSS with custom utilities, functions, and directives.

Additional resources like a book by Adam Wathan, a dedicated website, and examples are recommended for learning Tailwind CSS.

Transcripts

play00:00

bienvenido a un nuevo vídeo en esta

play00:02

ocasión vamos a ver un framework llamado

play00:05

edwin css y vamos a ver fundamentos

play00:09

principales del core the tide wi y

play00:12

además vamos a ver cómo iniciar con

play00:13

timing en un proyecto vamos a hacer

play00:16

código así que prepárate vamos allá

play00:18

[Música]

play00:27

de lyon fue creado por adam watán

play00:29

durante el año del primero de noviembre

play00:32

de 2017 se lanzó la primera versión la

play00:36

1.01 que adán watán mencionó y se

play00:40

menciona que también unos vídeos él

play00:42

hacía la streaming de código y se

play00:44

mostraba a un framework clases que él

play00:46

usaba entonces la gente preguntaba qué

play00:48

era esa herramienta que él estaba usando

play00:50

y entonces él mismo había creado esta

play00:53

herramienta para sí mismo para su uso

play00:55

dentro de la empresa entonces decidió

play00:57

hacerle una herramienta para los demás

play01:00

yo pueda ser entonces del primero de

play01:02

noviembre como lo exige el 2017 cuando

play01:05

creó liberó la primer versión y a día de

play01:07

hoy ya estamos a 2020 y poesía es una

play01:11

herramienta madura es consolidada y

play01:13

apoyada por la árabe y veamos qué estáis

play01:15

wynn cs es bueno en su página se define

play01:19

como un framework deal the first para

play01:21

construir diseños customizados

play01:23

rápidamente del wind css es altamente

play01:26

customizable con librerías de bajo nivel

play01:28

eso quiere decir que no necesitamos usar

play01:32

s porque ya viene con todo un conjunto

play01:34

de librerías que nos hacen que no

play01:36

exponga más nuestro código hacer sobre

play01:39

escrito este es un ejemplo de cómo se

play01:41

vería una clase de tile wind un

play01:44

componente digamos creado con tail wind

play01:46

y básicamente aquí se ve lleno de clases

play01:49

es un nuevo paradigma para muchos se les

play01:51

hace complicado ver tantas clases en

play01:54

html vamos a ver por qué es que utiliza

play01:57

este tipo de nomenclatura o metodologías

play02:00

llamada lo diremos mejor como un

play02:02

paradigma que usa un paradigma

play02:04

totalmente distinto al habitual y veamos

play02:07

de qué se trata estos son los conceptos

play02:08

núcleos de aylwin vamos a ver de qué se

play02:11

trata cada uno de estos conceptos y

play02:13

empezamos con utility first utility

play02:16

first se refiere a construir componentes

play02:19

complejos de utilidades primitivas

play02:21

contrastadas esto quiere decir que no

play02:23

necesitamos usar clases que tienen un

play02:26

nombre en específico no por ejemplo aquí

play02:28

se muestra una notificación de chat

play02:30

donde cada uno de estos tips tiene una

play02:33

clase chat notification check

play02:35

notification lover

play02:37

para la imagen y luego para el contenido

play02:38

el título el mensaje y todo a cada uno

play02:41

de estos elementos hay que agregarle

play02:43

estilos css dentro de cada clase para

play02:46

que se comporte como brutos necesitamos

play02:49

usando clases con utility podemos crear

play02:51

diseños optimizados sin escribir css

play02:54

esto al principio se te va a ser

play02:56

complicado pero si lo ves de esta forma

play02:59

estamos escribiendo las clases ya

play03:01

estamos maquetando lo sin antes haber

play03:03

escrito css esto nos ahorra muchísimo

play03:07

tiempo a la hora de maquetar y te darás

play03:09

es es un poco grande la curva de

play03:13

aprendizaje ya que si no sabes nada de

play03:15

css pues posiblemente tengas que

play03:18

estudiar más y saber para qué significa

play03:20

cada propiedad pero incluso si ya sabes

play03:23

te costará un poco trabajo

play03:25

cartes de paradigmas pero básicamente

play03:27

tenemos que son puras propiedades

play03:29

reseteadas más adelante vamos a ver cómo

play03:31

podemos cambiar todas estas

play03:32

configuraciones que son customizables

play03:35

con un archivo de configuración que

play03:37

también es

play03:39

para edwin go ahí es donde viene toda

play03:42

esa configuración que tenemos que

play03:44

agregar espacios tamaños de letras

play03:46

tamaños de responsivo vamos a ver qué es

play03:48

el siguiente concepto 10 responsive

play03:51

design usar responsive utilidades de

play03:53

responsabilizar para construir

play03:55

interfaces adaptativas aquí la parte de

play03:58

tal min viene con esta parte de

play04:00

configuración con las medidas más usadas

play04:02

que la divide en cuatro que es small

play04:05

medium large y extra line estas

play04:07

configuración nosotros también podemos

play04:08

decirle las medidas cuál va a ser la

play04:10

mínima la máxima que vamos a utilizar y

play04:13

los comportamientos adaptativos pero los

play04:15

comportamientos adaptativos ya los

play04:17

dejemos con este set de clases que ya

play04:19

nos proporciona aylwin entonces no

play04:21

necesitamos como tal decirle en mean

play04:24

with 640 compórtate con esto hace esto

play04:27

es esto no utilizamos las mismas clases

play04:29

de responsive que nos ofrece time que

play04:32

más se dudó clases varias ese tipo de

play04:34

elementos también vienen utilidades como

play04:37

hover focus que son este las pseudo

play04:40

clases conocidas en css cuando nosotros

play04:42

queremos agregar ese tipo de

play04:43

comportamientos igual que

play04:45

csc solo se pueden agregar a propiedades

play04:48

que tienen estos pseudo elementos vamos

play04:50

a ver el siguiente concepto agregar

play04:53

código base a los estilos una de las

play04:55

mejores prácticas de acceder a nuestro

play04:57

propio código base global hasta arriba

play05:00

de timing más adelante vienen partes de

play05:03

configuraciones donde podemos ayudar

play05:05

nuestros propiedades como norma lines u

play05:08

otros que recetan el código si no nos

play05:11

gusta el que usa también podemos agregar

play05:13

nuestros propios presentadores de

play05:16

estilos css pero más adelante también

play05:18

bueno vienen buenas prácticas de cómo

play05:21

implementar esto cómo hacerlo de la

play05:23

forma correcta sin que ocurran errores

play05:26

más adelante dentro del core de timing

play05:29

básicamente es también se convierte en

play05:31

lo que superpoderes no time in porque

play05:33

tienen la capacidad de sobreescribir

play05:36

otras librerías que nosotros tengamos

play05:37

supongamos que ya tenemos un proyecto

play05:39

creado en sas y queremos sobreescribir

play05:42

esas clases lo único que tenemos que

play05:45

hacer es poner tal win por de arriba de

play05:48

todo lo obtenemos y todo lo que viene

play05:50

debajo pues será sobre escrito

play05:52

como si la si eliminaría también hay

play05:54

unas herramientas que nos permiten

play05:56

eliminar código que no necesitamos hacer

play05:59

como un 1 css eliminar el cese exe ss

play06:02

que no se utiliza en la compilación va a

play06:04

ser un barrido de todo el código que no

play06:07

necesita nuestro archivo y entonces con

play06:09

eso minimizamos el archivo css por

play06:12

ejemplo cuando usamos bus trap te tienes

play06:14

que traer toda la librería así nada más

play06:16

su cese

play06:17

container la los call m de todo el

play06:20

sistema de grillas y no uses nada de los

play06:22

elementos de componentes con los que

play06:24

viene mostra que lo va a traer todo iba

play06:27

a ser un archivo súper pesado hay además

play06:29

de que cada que alguien trabaja

play06:31

desarrollando nuevos componentes va

play06:33

haciendo crecer y crecer y crecer el

play06:36

código porque va creando nuevas clases

play06:38

para estos nuevos componentes y en lugar

play06:40

de que el archivo que se quede como mini

play06:42

ficcad o al contrario va creciendo va

play06:44

creciendo va creciendo y se vuelve mucho

play06:46

más pesado en cambio time y no hace eso

play06:49

crea aún el mismo archivo que tú sólo

play06:52

tienes es el único es la limitante con

play06:55

la que tú tienes para crear sus

play06:56

componentes no hay más

play06:58

nos agrega más en ser chivo es con lo

play07:00

que tienes y es con lo que vas a

play07:01

trabajar y esto está bien porque

play07:03

mantiene un estándar no agregar más

play07:06

código y es lo que existe y es lo que se

play07:09

va a utilizar durante todo el flujo de

play07:11

trabajo del desarrollo de los proyectos

play07:13

bueno el siguiente concepto es straight

play07:16

thing components la duplicación de

play07:19

utility first en proyectos mantenidas

play07:22

aquí se refiere a estar duplicando y

play07:25

duplicando elementos debido a que si

play07:27

quisiéramos exportar un componente aquí

play07:31

por ejemplo nos presentan una carta que

play07:33

dice vacation card y tiene distintas

play07:35

clases pero si nosotros no las

play07:37

quisiéramos llevar tendremos que

play07:38

llevarnos cada una de estas clases

play07:40

adicionalmente el código customizado más

play07:43

in en cambio si nosotros pensamos en

play07:45

útil decir sabemos un componente en este

play07:48

caso es un ejemplo de view en riad en

play07:50

angular se ve distinto pero esto es como

play07:53

un componente en vivo aquí tenemos un

play07:55

visión que va a tener elementos img

play07:58

image al world title play zinc y una url

play08:01

y debajo creamos todo lo que es nuestro

play08:04

componen

play08:04

con los con las clases que nos

play08:06

proporciona un sdk si podría decirse así

play08:10

está el wing con todas estas propiedades

play08:11

y con eso creamos nuestros componentes y

play08:15

le pasamos los propias que exportamos

play08:17

los propios y es así como reutilizar

play08:19

hemos estos componentes están más ni

play08:21

pero 5 css nuevamente el siguiente

play08:24

concepto es agregar nuevas utilidades

play08:27

con tie link podemos extender nuestras

play08:30

utilidades con clases personalizadas

play08:32

pero aquí en esta sección dentro de la

play08:35

documentación vienen ejemplos de cómo

play08:38

realmente se tiene que hacer esta

play08:40

customización de elementos aquí en esta

play08:43

en estas imágenes se muestra que hasta

play08:45

arriba siempre debe venir el código de

play08:47

timing y hasta abajo deben ir lo demás

play08:50

porque la mayoría significa con porque

play08:53

tie women maneja un estilo bueno no está

play08:55

edwin sino css es una se maneja en

play08:58

cascada entonces todo lo que tú tengas

play09:00

arriba va a ser sobre escrito por

play09:02

timeline entonces no funcionaría y

play09:04

marcaría ciertos errores pero todos

play09:06

estos errores y distintas formas de

play09:08

agregar estos componentes vienen dentro

play09:10

d

play09:11

documentación y ahí se detallan más

play09:12

ejemplos ese es un ejemplo simple pero

play09:15

se explica que podemos agregar las

play09:18

descrito mis hadas también funciones y

play09:20

directivas una referencia para funciones

play09:22

personalizadas y de dios' en tallinn

play09:25

expuestas en tus heces

play09:27

dentro de el archivo que se genera

play09:29

existe time beige está el componente and

play09:32

we activities y cada uno de estos

play09:34

componentes viene explicado a detalle

play09:37

qué es lo que hace y cómo podemos

play09:38

extender su funcionamiento

play09:40

adicionalmente existe otra parte en la

play09:43

que podemos manejar que si utilizamos un

play09:46

botón ciertas clases son iguales podemos

play09:48

crear otro tipo de directivas donde le

play09:51

inyectamos ese código a un botón y lo

play09:53

agregamos a una clase en específico esos

play09:56

son los elementos customizados que vamos

play09:58

a ir creando y ya podemos utilizar ese

play10:00

botón con tan solo poner una etiqueta

play10:01

button y toda esa clase y una clase

play10:04

button no se votó en prime área y le va

play10:06

a agregar automáticamente todos los

play10:08

hilos que nosotros necesitemos por

play10:10

default para ese botón y referencias

play10:12

bueno te voy a dejar unas referencias

play10:15

consultar darwin css en la documentación

play10:18

hay un sitio que se llama a soltar wins

play10:21

saben bastante recursos y direcciones

play10:24

vienen en componentes guías plugins webs

play10:27

ejemplos bastantes y un libro que te

play10:30

recomiendo de igual de adán watán

play10:32

el factoring igual hay explica bastantes

play10:34

conceptos acerca de cómo reforzar y

play10:37

crear buenas interfaces y bueno vamos a

play10:39

pasar a la parte práctica en cómo

play10:42

iniciar un proyecto con tal vamos al

play10:44

código

Rate This

5.0 / 5 (0 votes)

Related Tags
Web DevelopmentCSS FrameworksTailwind CSSUtility ClassesResponsive DesignComponent StylingCode ExamplesTutorialFront-EndWeb Design