<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Bitacora CSS by Juan Uribe</title>
      <link>https://padlet.com/juancg14/jcduwa4apnqkqkrg</link>
      <description></description>
      <language>en-us</language>
      <pubDate>2023-10-09 00:24:00 UTC</pubDate>
      <lastBuildDate>2023-10-09 21:22:01 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url></url>
      </image>
      <item>
         <title>Diseño responsive en CSS MEDIAQUERY</title>
         <author>juancg14</author>
         <link>https://padlet.com/juancg14/jcduwa4apnqkqkrg/wish/2737444050</link>
         <description><![CDATA[<div>Hoy en día se le denomina <strong>Responsive Web Design</strong> (<em>o RWD</em>) a los diseños web que tienen la capacidad de adaptarse al tamaño y formato de la pantalla en la que se visualiza el contenido, respecto a los diseños tradicionales en los que las páginas web estaban diseñadas sólo para un tamaño o formato específico, y no tenían esa capacidad de adaptación.<br><br>Existe un concepto denominado <strong>media queries</strong>, mediante el cuál podemos hacer excepciones para que unos determinados estilos de diseño sólo se apliquen si se cumplen una serie de condiciones, generalmente relacionadas con el dispositivo mediante el cuál se está viendo la página.<br><br><strong>La regla @media<br></strong><br></div><div>Las reglas <strong>media queries</strong> (<em>también denominadas </em><strong><em>MQ</em></strong><em> a veces</em>) son un tipo de reglas de CSS que permiten crear un bloque de código que sólo se procesará en los dispositivos que cumplan los criterios especificados como condición.<br><br></div><div>La sintaxis de la regla @media es la siguiente:<br><br></div><div><strong>@media (&lt;</strong><strong><em>condición</em></strong><strong>&gt;):</strong><br>Si se cumple la condición, se aplican los estilos de su interior.<br><strong>@media not (&lt;</strong><strong><em>condición</em></strong><strong>&gt;):</strong><br>Si no se cumple la condición, se aplican los estilos de su interior.</div><div>Básicamente, se trata de establecer una condición que se aplicará a la página actual, y en el caso de cumplirse, se aplicarán los estilos indicados en su interior. De no cumplirse, no se aplicarán.<br><br><strong>Tipos de medios:<br></strong><br></div><div>En algunas ocasiones, queremos indicar que las reglas @media sólo se pongan en funcionamiento en determinados tipos de dispositivos. Son los llamados <strong>tipos de medios</strong>. Existen los siguientes:<br><br></div><div><strong>Tipo de medio<br>all</strong> | Todos los dispositivos o medios. El que se utiliza <em>por defecto</em><strong><em>.</em></strong><br><strong>screen</strong> | Monitores o pantallas de ordenador. Es el más común.<br><strong>print</strong> | Documentos de <a href="https://lenguajecss.com/css/responsive-web-design/medios-impresos/">medios impresos</a> o pantallas de previsualización de impresión.<br><strong>speech </strong>| Lectores de texto para invidentes (Antes aural, el cuál ya está obsoleto).</div><div><strong><br>Condiciones de Media Queries<br></strong><br></div><div>En los ejemplos anteriores hemos indicado *condiciones* en el interior de los paréntesis, pero no hemos visto como definir ninguna. Vamos a echar un vistazo a que tipo de características podemos definir en las condiciones de los media queries.<br><br></div><div>Podemos utilizar las siguientes:<br><br></div><div>width |&nbsp; | Si el dispositivo tiene el <strong>tamaño de ancho exactamente</strong>.<br>min-width |&nbsp; | Si el dispositivo tiene un <strong>tamaño de ancho mayor</strong> al indicado.<br>max-width |&nbsp; | Si el dispositivo tiene un <strong>tamaño de ancho menor</strong> al indicado.<br>height |&nbsp; | Si el dispositivo tiene el <strong>tamaño de alto exactamente</strong>.<br>min-height |&nbsp; | Si el dispositivo tiene un <strong>tamaño de alto mayor</strong> al indicado.<br>max-height |&nbsp; | Si el dispositivo tiene un <strong>tamaño de alto menor</strong> al indicado.<br>aspect-ratio | <em>aspect-ratio</em> | Si el dispositivo encaja con la <strong>proporción de aspecto</strong> indicada.<br>orientation | landscape | portrait | Si el dispositivo está en colocado en <strong>modo vertical o apaisado</strong>.</div><div>Existen otras características que en algunos casos pueden ser interesantes, como por ejemplo scan, update, resolution, monochrome, grid, color-index, color, color-gamut, dynamic-range, etc...<br><br></div><div><br><br></div><div><br><br><a href="https://lenguajecss.com/css/responsive-web-design/media-queries/#qu%C3%A9-son-las-media-queries">Fuente: https://lenguajecss.com/css/responsive-web-design/media-queries/#qu%C3%A9-son-las-media-queries</a></div><div><br></div>]]></description>
         <enclosure url="https://lenguajecss.com/css/responsive-web-design/media-queries/#qu%C3%A9-son-las-media-queries" />
         <pubDate>2023-10-09 01:23:06 UTC</pubDate>
         <guid>https://padlet.com/juancg14/jcduwa4apnqkqkrg/wish/2737444050</guid>
      </item>
      <item>
         <title>Selectores, propiedades y valores CSS</title>
         <author>juancg14</author>
         <link>https://padlet.com/juancg14/jcduwa4apnqkqkrg/wish/2737450049</link>
         <description><![CDATA[<div>Antes de empezar a escribir código CSS, debemos conocer la anatomía de una <strong>declaración de estilos</strong>.</div><div>Qué es una declaración de CSS</div><div>Una declaración de CSS es un bloque que especifica el conjunto de estilos que se añadirán a un elemento HTML. Su estructura contiene lo siguiente:</div><ul><li><strong>Selector</strong>: define el elemento o conjunto de elementos a los cuales se añadirán los estilos.</li><li><strong>Propiedad</strong>: es el nombre del estilo de CSS.</li><li><strong>Valor</strong>: es el valor que tomará la propiedad.</li></ul><div><br></div><div><strong>Comentarios de CSS</strong></div><div>Los comentarios de CSS consisten en señalar algo que se ignorará. Para establecer un comentario CSS se lo envuelve entre /* y */, independiente de la cantidad de líneas.<br><br></div><div><strong>Propiedades iniciales de CSS</strong></div><div>Antes de empezar con CSS utilizaremos algunas propiedades de CSS.</div><ul><li>color: establece el color del texto de un elemento.</li><li>background-color: establece un color de fondo al elemento.</li><li>font-size: establece el tamaño de la fuente.</li><li>width: establece la anchura de un elemento.</li><li>height: establece la altura de un elemento.</li></ul><div><strong>Medidas iniciales</strong></div><div>Estas son las medidas iniciales que debes conocer para establecer tamaños de elementos o de tipografía:</div><ul><li>px: establece una longitud de píxeles.</li><li>%: establece un porcentaje con respecto a una medida base.</li></ul><div><strong>Propiedades más usadas</strong></div><div>Las propiedades CSS más usadas son las siguientes, separadas en secciones comunes, algunas ya las conocemos:</div><ul><li>Display</li><li>Margin</li><li>Padding</li><li>Border</li><li>Width</li><li>Height</li><li>Color</li><li>Background</li></ul><div><br></div><div>También, si deseas conocer todas las etiquetas existentes, puedes revisar el sitio web <a href="https://cssreference.io/">CSS Reference</a>.</div><div>Propiedades de textos</div><div>Las propiedades para manipular los textos y tipografía son los siguientes:</div><ul><li>font-size: establece un tamaño de fuente.</li><li>font-weight: establece el resaltado del texto, con valores de 100 a 900 en intervalos de 100; donde 100 es delgada y 900 es negrita.</li><li>font-family: establece el tipo de fuente.</li><li>text-align: establece la posición del texto: right, left, center y justify.</li><li>color: establece el color del texto.</li></ul><div>Bordes redondeados</div><div>La propiedad que establece bordes redondeados es: border-radius.<br><br><a href="https://coda.io/@maria-perez/css">Fuente: https://coda.io/@maria-perez/css</a></div>]]></description>
         <enclosure url="https://res.cloudinary.com/practicaldev/image/fetch/s--bx_iNby1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/zp29ohapg8537yetkyyd.jpg" />
         <pubDate>2023-10-09 01:32:10 UTC</pubDate>
         <guid>https://padlet.com/juancg14/jcduwa4apnqkqkrg/wish/2737450049</guid>
      </item>
      <item>
         <title>Pseudoclases y pseudoelementos</title>
         <author>juancg14</author>
         <link>https://padlet.com/juancg14/jcduwa4apnqkqkrg/wish/2737453155</link>
         <description><![CDATA[<div><strong>Pseudoclases en CSS:<br></strong><br></div><div>Las pseudoclases CSS son palabras clave que podemos añadir a los selectores para identificar un estado en nuestros elementos HTML. Esto quiere decir que <strong>los podemos insertar cuando queremos estilizar un elemento que se encuentre en un estado específico.</strong> Lo que nos permiten las pseudoclases CSS es identificar elementos no solo de acuerdo al árbol del código, cómo lo hacen los selectores básicos y selectores múltiples de CSS, pero también de acuerdo a factores como el historial de navegador y el movimiento del ratón.<br><br></div><div>A continuación, te presentamos algunas de las pseudoclases CSS y los estados que seleccionan al insertarse en un selector.<br><br></div><ul><li><strong><em>:link</em></strong>: esta pseudoclase selecciona un enlace.</li><li><strong><em>:visited</em></strong>: selecciona un enlace que se ha visitado.</li><li><strong><em>:active</em></strong>: selecciona un enlace que está activo.</li><li><strong><em>:focus</em></strong>: selecciona un enlace que tiene el foco.</li><li><strong><em>:checked</em></strong>: esta pseudoclase de clases en CSS puede ser útil en formularios, pues nos permite dar un estilo diferente cuando un elemento está seleccionado en la lista.</li><li><strong><em>:hover</em></strong>: selecciona un elemento que tiene el ratón encima.</li><li><strong><em>:target</em></strong>: esta pseudoclase selecciona un elemento en función del <em>hashtag</em> que está en la URL.</li><li><strong><em>:lang ()</em></strong>: esta pseudoclase selecciona en función de un idioma.</li><li><strong><em>:nth-child (n)</em></strong>: selecciona un número concreto de un hijo. Por ejemplo, podemos seleccionar un elemento que es el décimo hijo de su elemento padre.</li><li><strong><em>:first-child</em></strong>: selecciona al primer hijo de un elemento padre.</li><li><strong><em>:last-child</em></strong>: selecciona al último hijo de un elemento padre.</li><li><strong><em>:only-child</em></strong>: selecciona al único hijo de un elemento padre.</li><li><strong><em>:nth-of-type (n)</em></strong>: selecciona un número concreto entre los elementos de un mismo tipo.</li><li><strong><em>:first-of-type</em></strong>: selecciona al primer elemento de un tipo.</li><li><strong><em>:last-of-type</em></strong>: selecciona al último elemento de un tipo de las clases en CSS.</li><li><strong><em>:only-of-type</em></strong>: selecciona al único elemento de un tipo.</li><li><strong><em>:not()</em></strong>: esta pseudoclase nos permite aplicar estilos justo cuando es lo contrario. Por ejemplo, lo podríamos usar cuando queremos aplicar un estilo a un enlace cuando no está activo.</li></ul><div>Hay muchas más pseudoclases en CSS. Si quieres conocer cada una de ellas a profundidad, te recomendamos visitar el post sobre <a href="https://developer.mozilla.org/es/docs/Web/CSS/Pseudo-classes">pseudoclases en la página oficial de la Mozilla Developer Network</a>.<br><br></div><div><strong>Pseudoelementos en CSS:<br></strong><br></div><div>Al igual que las pseudoclases en CSS, los pseudoelementos en CSS nos permiten ser más específicos a la hora de seleccionar a qué le vamos a aplicar un estilo. A diferencia de las pseudoclases, <strong>los pseudoelementos en CSS no identifican un estado, sino que identifican puntos o lugares concretos dentro de un elemento HTML</strong>. A continuación, te presentamos los pseudoelementos en CSS más importantes:<br><br></div><ul><li><strong><em>::first-letter</em></strong>: este pseudoelemento nos permite acceder a la primera línea de un elemento HTML. Por ejemplo, la primera línea de un párrafo.</li><li><strong><em>::first-line</em></strong>: este pseudoelemento nos permite acceder a la primera letra de un elemento HTML.</li><li><strong><em>::before {content=»»}</em></strong>: este pseudoelemento permite acceder al espacio justo antes de la apertura de un elemento HTML. En el caso de un párrafo, nos permitirá acceder al espacio justo antes de la etiqueta &lt;p&gt;.</li><li><strong><em>::after {content=»»}</em></strong>: este pseudoelemento nos permite acceder al espacio justo después del cierre del elemento HTML</li></ul><div><br><a href="https://keepcoding.io/blog/pseudo-clases-pseudo-elementos-en-css/">Fuente: https://keepcoding.io/blog/pseudo-clases-pseudo-elementos-en-css/</a></div>]]></description>
         <enclosure url="https://lenguajecss.com/css/selectores/pseudoclases-estructura/nth-of-type.png" />
         <pubDate>2023-10-09 01:36:32 UTC</pubDate>
         <guid>https://padlet.com/juancg14/jcduwa4apnqkqkrg/wish/2737453155</guid>
      </item>
      <item>
         <title>Cascada y especificidad</title>
         <author>juancg14</author>
         <link>https://padlet.com/juancg14/jcduwa4apnqkqkrg/wish/2737458211</link>
         <description><![CDATA[<div><strong>¿Qué es la Cascada CSS?<br></strong><br></div><div>Cuando hablamos de la <strong>Cascada CSS</strong> nos referimos al algoritmo (<em>conjunto de reglas y normas</em>) que tiene el navegador para aplicar estilos CSS a un elemento HTML. No es tan sencillo como la mayoría cree, ya que hay múltiples casos donde pueden existir ambigüedades, y el navegador debe resolverlas para saber que estilo debe aplicar primero y cuál después.<br><br></div><div>Imagina que tenemos enlazados dos archivos .css mediante &lt;link&gt; y en cada uno tenemos un mismo selector .text aplicando colores diferentes. ¿Cuál de los dos se aplicará finalmente? Quizás pienses que el último que haya sido definido. A veces, esto es cierto, pero muchas otras veces no.<br><br></div><div>La <strong>cascada</strong> comprende varios temas importantes a la hora de resolver dichos conflictos:<br><br></div><div><br></div><ul><li>Importancia: Los estilos pueden tener mayor o menor <strong>importancia</strong>, lo que puede darles prioridad.</li><li>Origen: Dependiendo del origen del CSS, tendrá mayor o menor prioridad.</li><li>Especificidad: Cuanto más específicos sean los selectores CSS, mayor prioridad.</li><li>Orden de aparición: El orden en el que aparece o se procesa el CSS influye.</li></ul><div>El navegador tiene un sistema llamado <strong>Especificidad CSS</strong>, donde en situaciones de conflicto como esta, calculará que <strong>selector es más específico</strong>, siguiendo unas ciertas normas. Esto se suele representar con 3 cifras, separadas por comas: A,B,C.<br><br></div><div><strong>Componente A</strong> | Número de veces que aparece un #id en el selector.<br><strong>Componente B</strong> | Número de veces que aparece una .clase, [atributo] o :pseudoclase en el selector.<br><strong>Componente C</strong> | Número de veces que aparece un elemento o un ::pseudoelemento en el selector.<br><a href="https://lenguajecss.com/css/cascada-css/que-es-cascada/#especificidad-css"><br>Fuente:https://lenguajecss.com/css/cascada-css/que-es-cascada/#especificidad-css</a><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2023-10-09 01:44:11 UTC</pubDate>
         <guid>https://padlet.com/juancg14/jcduwa4apnqkqkrg/wish/2737458211</guid>
      </item>
      <item>
         <title>Block, inline e inline block</title>
         <author>juancg14</author>
         <link>https://padlet.com/juancg14/jcduwa4apnqkqkrg/wish/2737464581</link>
         <description><![CDATA[<div><strong>Elementos en línea<br></strong><br></div><div>Para explicarlo de manera sencilla, y simplificando, ciertas etiquetas HTML <strong>no afectan en absoluto al flujo de los demás elementos</strong>, limitándose a marcar ciertos fragmentos con una determinada semántica y <strong>dejando que el texto y otros elementos contiguos sigan fluyendo</strong> en la misma línea, colocándose a ambos lados de dicho elemento.<br><br></div><div>Ejemplos de estas etiquetas son: &lt;a&gt;, &lt;em&gt;,&lt;del&gt;... y quizá la más útil de todas: la etiqueta <strong>&lt;span&gt;</strong>, que se usa para envolver elementos en-línea para darles estilo sin cambiar su comportamiento. A estos elementos HTML se les llama <strong>elementos de línea</strong> o, incluso más a menudo, por su denominación en inglés: <strong>elementos "inline"</strong>.<br><br><strong>Elementos de bloque</strong><br><br></div><div>Por el contrario, <strong>ciertas etiquetas se renderizan en el navegador en líneas independientes</strong>, no mezcladas con el resto del texto.&nbsp; Ejemplos de estas etiquetas son los encabezados (&lt;h1&gt; hasta &lt;h6&gt;), las citas en bloque (&lt;blockquote&gt;), por supuesto los párrafos (&lt;p&gt;), y quizá la más conocida de todas que es la etiqueta <strong>&lt;div&gt;</strong> usada normalmente para envolver a otros elementos. A estos elementos se les denomina <strong>elementos de bloque</strong>.<br><br>Es decir, ahora los elementos no fluyen como si fueran texto, sino que por defecto se renderizan en líneas independientes. Además, <strong>los elementos de bloque respetan los anchos y altos y los márgenes verticales.<br><br></strong>Así por ejemplo, aunque tengamos una etiqueta span que se renderiza en línea por defecto, si le aplicamos la propiedad display:block; se renderizará como un bloque, es decir, sería exactamente igual que si hubiésemos puesto un &lt;div&gt;.<br><br></div><div>El tercer valor de la lista anterior es muy interesante ya que permite obtener un comportamiento intermedio entre los otros dos. <strong>Los elementos inline-block fluyen con el texto y demás elementos</strong> como si fueran elementos en-línea <strong>y además respetan el ancho, el alto y los márgenes verticales</strong>. Son lo mejor de los dos mundos.<br><br></div><div><strong><br></strong><br></div><div><br><br></div>]]></description>
         <enclosure url="https://cdn.educba.com/academy/wp-content/uploads/2020/02/Inline-vs-Block-info.jpg" />
         <pubDate>2023-10-09 01:54:20 UTC</pubDate>
         <guid>https://padlet.com/juancg14/jcduwa4apnqkqkrg/wish/2737464581</guid>
      </item>
      <item>
         <title></title>
         <author>juancg14</author>
         <link>https://padlet.com/juancg14/jcduwa4apnqkqkrg/wish/2738798612</link>
         <description><![CDATA[<div><strong>Grid y flexbox</strong></div><div><br>La diferencia básica entre CSS Grid Layout y CSS Flexbox Layout es que Flexbox se creó para diseños de una dimensión, en una fila o una columna. En cambio CSS Grid Layout se pensó para el diseño bidimensional, en varias filas y columnas al mismo tiempo. Sin embargo, las dos especificaciones comparten algunas características comunes, y si ya has aprendido cómo utilizar Flexbox, verás semejanzas que te ayudarán a entender <em>Grid</em>.<br><br></div><div><strong>Diseños de Una dimensión vs. dos dimensiones</strong></div><div><br>Un ejemplo simple puede demostrar la diferencia entre el diseño de una y dos dimensiones.<br><br></div><div><br>En este primer ejemplo, estoy usando flexbox para diseñar un conjunto de cajas. Tengo cinco ítems-hijos en mi contenedor y les he dado valores a sus propiedades flex para que puedan aumentar y reducirse desde una flex-basis de 200 píxeles.<br><br></div><div><br>También he configurado la propiedad wrap<a href="https://developer.mozilla.org/es/docs/Web/CSS/flex-wrap">flex-wrap</a> , de modo que si el espacio del contenedor se hace demasiado estrecho para mantener esa flex-basis, los ítems se ajustarán (wrap) a una nueva fila.<br><a href="https://developer.mozilla.org/es/docs/Web/CSS/CSS_grid_layout/Relationship_of_grid_layout_with_other_layout_methods"><br>Fuente: https://developer.mozilla.org/es/docs/Web/CSS/CSS_grid_layout/Relationship_of_grid_layout_with_other_layout_methods</a><br><br></div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2126756396/7e68b737307e69be46e9a80a53d132bd/image.png" />
         <pubDate>2023-10-09 21:19:55 UTC</pubDate>
         <guid>https://padlet.com/juancg14/jcduwa4apnqkqkrg/wish/2738798612</guid>
      </item>
      <item>
         <title>Atomic Desing</title>
         <author>juancg14</author>
         <link>https://padlet.com/juancg14/jcduwa4apnqkqkrg/wish/2738800214</link>
         <description><![CDATA[<div>Descrito por Brad Frost en su <a href="http://bradfrostweb.com/blog/post/atomic-web-design/">blog</a>, el <strong>Atomic Web Design</strong> es una metodología de diseño web que toma nota de OOCSS e inspirada en la química, en la cual Frost replantea la estructuración por componentes reusables con clases semánticas a la cual la mayoría de los diseñadores estamos acostumbrados (e.j. .widget o .media que podamos definir en nuestros temas) y sugiere que partamos desde la unidad más pequeña e indivisible, o <strong>atómica</strong>, en nuestro diseño: inputs, labels, botones, otros HTML tags que vayamos a usar, incluso elementos más abstractos como paletas de colores, fonts y hasta animaciones.</div><div>&nbsp;</div><div>Una vez que se hayan definido todos los “átomos” a usar, entonces se pasa a estructurar las <strong>moléculas</strong> o bien la creación de componentes sencillos, generalmente con un uso específico en nuestra página y posiblemente reutilizable. Por ejemplo, la unión de un “átomo” de label, un “átomo” de input, un “átomo” de button, un “átomo” de un color específico y un “átomo” de font, pueden unirse para crear una “molécula” de barra de búsqueda. Así es cómo, según lo explica Frost, podemos eventualmente definir <strong>organismos</strong> (regiones definidas de una página) y eventualmente, plantillas y páginas.</div><div>&nbsp;</div><div><br></div><div>&nbsp;</div><div>La teoría que sigue el <strong>Atomic Design</strong> es que, al empezar desde el elemento más pequeño, podemos ir construyendo de forma sistemática componentes más grandes y complejos sin recurrir a la necesidad de repetir código y, por ende, tener una hoja de presentación más fácil de manejar y mantener. También es interesante mencionar que el Atomic Design tiene una excelente sinergia con Sass y Scss, aprovechando sus poderosas funcionalidades de extensión y herencia para construir moléculas y componentes más grandes de forma fácil y rápida. De hecho, ya existen frameworks basados en Atomic Design, como <a href="http://patternlab.io/">Pattern Lab</a>.</div><div>&nbsp;</div><div>Definitivamente, la <strong>metodología de Atomic Design</strong> puede parecer desalentadora y, para algunos, difícil de implementar en su estructura de diseño; sin embargo, mantiene una premisa muy funcional y fácil de entender. En mi siguiente blog, veremos cómo implementar <strong>Pattern Lab </strong>en nuestro proyecto para adoptar el Atomic Design y primeras impresiones sobre el framework.<br><br><a href="https://rootstack.com/es/blog/una-forma-diferente-de-estructurar-tu-css-atomic-design">Fuente: https://rootstack.com/es/blog/una-forma-diferente-de-estructurar-tu-css-atomic-design</a></div>]]></description>
         <enclosure url="https://rootstack.com/es/blog/una-forma-diferente-de-estructurar-tu-css-atomic-design" />
         <pubDate>2023-10-09 21:22:01 UTC</pubDate>
         <guid>https://padlet.com/juancg14/jcduwa4apnqkqkrg/wish/2738800214</guid>
      </item>
   </channel>
</rss>
