{"id":104,"date":"2014-08-14T13:37:28","date_gmt":"2014-08-14T11:37:28","guid":{"rendered":"http:\/\/luismaseda.com\/wp\/?p=104"},"modified":"2016-02-06T13:37:59","modified_gmt":"2016-02-06T11:37:59","slug":"css3","status":"publish","type":"post","link":"https:\/\/luismaseda.com\/wp\/?p=104","title":{"rendered":"CSS3"},"content":{"rendered":"<p>id, clases, pseudo-clases<\/p>\n<p>Conceptos b\u00e1sicos: CSS es un lenguaje que trabaja junto con HTML para proveer estilos visuales a los elementos del documento, como tama\u00f1o, color, fondo, bordes, etc.<\/p>\n<p>Importante:<br \/>\n-moz (Mozilla) o -kevit (Chrome, Safari, Opera)<\/p>\n<h1>Estructura en Bloque<\/h1>\n<ul>\n<li>Cuando hablamos de estructura, nos referimos a la manera en la que un sitio web est\u00e1 dispuesto.<\/li>\n<li>Cada navegador implementa una estructura por defecto.<\/li>\n<\/ul>\n<h1>Block<\/h1>\n<p>Son posicionados uno sobre otro hacia abajo en la p\u00e1gina. (por defecto en los navegadores).<\/p>\n<h1>Inline-block<\/h1>\n<p>Son posicionados lado a lado, uno al lado del otro en la misma l\u00ednea, sin ning\u00fan salto de l\u00ednea a menos que no haya m\u00e1s espacio horizontal para ubicarlos.<\/p>\n<h1>Modelo de caja<\/h1>\n<p>Todas las reglas que especifican la disposici\u00f3n en la que ser\u00e1 organizada una p\u00e1gina web se le denomina \u00abModelo de Caja\u00bb<\/p>\n<h1>Conceptos<\/h1>\n<h2>CSS3<\/h2>\n<ul>\n<li>Sobreescribe los estilos b\u00e1sicos del navegador<\/li>\n<li>Puede crear nuevos estilos<\/li>\n<li>Se pueden combinar los estilos para hacer cosas geniales<\/li>\n<\/ul>\n<h2>Estilos en l\u00ednea<\/h2>\n<p>&lt;p style=\u00bbfont-size: 20px&gt;Esto es un p\u00e1rrafo&lt;\/p&gt;<\/p>\n<ul>\n<li>Forma\n<ul>\n<li>Simple<\/li>\n<li>Rudimentaria<\/li>\n<li>Poco pr\u00e1ctica<\/li>\n<li>Pero puede ser \u00fatil para una vista r\u00e1pida de un estilo que deseemos implementar<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Estilos embebidos<\/h2>\n<p>Una mejor alternativa es insertar los estilos en la cabecera del documento y luego usar referencias para afectar los elementos HTML correspondientes<\/p>\n<pre>&lt;!DOCTYPE html&gt;\r\n&lt;html lang=\"es\"&gt;\r\n    &lt;head&gt;\r\n        &lt;meta charset=\"UTF-8\"&gt;\r\n        &lt;title&gt;Elementos en bloque&lt;\/title&gt;\r\n        &lt;style&gt;\r\n           p { font-size: 20px }\r\n        &lt;\/style&gt;\r\n    &lt;\/head&gt;\r\n    &lt;body&gt;\r\n        &lt;p&gt;Esto es un p\u00e1rrafo&lt;\/p&gt;\r\n    &lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<h2>Archivos externos<\/h2>\n<ul>\n<li>Tiene m\u00e1s ventajas que el m\u00e9todo de estilos embebidos<\/li>\n<li>Facilita la actualizaci\u00f3n de los extilos<\/li>\n<li>Se implementa mediante la etiqueta &lt;link&gt;<\/li>\n<\/ul>\n<pre>&lt;!DOCTYPE html&gt;\r\n&lt;html lang=\"es\"&gt;\r\n    &lt;head&gt;\r\n        &lt;meta charset=\"UTF-8\"&gt;\r\n        &lt;title&gt;Elementos en bloque&lt;\/title&gt;\r\n        &lt;link rel=\"stylesheet\" type=\"text\/css\" href=\"css\/estilos.css\"&gt;\r\n    &lt;\/head&gt;\r\n    &lt;body&gt;\r\n        &lt;p&gt;Esto es un p\u00e1rrafo&lt;\/p&gt;\r\n    &lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>estilos.css<\/p>\n<pre>p{\r\n    font-size:: 20px;\r\n}\r\n<\/pre>\n<h1>Selector Universal<\/h1>\n<p>Este selector representa cada uno de los elementos en el cuerpo del documento, y es \u00fatil cuando necesitamos establecer ciertas reglas b\u00e1sicas<\/p>\n<p>*{<br \/>\nmargin: 0;<br \/>\n}<br \/>\np:nth-child(2){<br \/>\nbackground: #999999;<br \/>\n}<\/p>\n<p>Referencia por etiqueta<br \/>\nReferencia por la palabra clave del elemento<\/p>\n<p>Referencia por id<\/p>\n<p>Problema<br \/>\nSupongamos que desemos implementar dos estilos diferentes a una misma etiqueta<br \/>\nLa respuesta m\u00e1s simple es hacer uso de un id<\/p>\n<pre>&lt;body&gt;\r\n&lt;p id=\"articulo\"&gt;Texto para el art\u00edculo&lt;\/p&gt;\r\n&lt;p id=\"aside\"&gt;Texto para el aside&lt;\/p&gt;\r\n<\/pre>\n<p>estilos.css<\/p>\n<pre>p#articulo{\r\n    font-size:: 20px;\r\n}\r\n\r\np#aside{\r\n    color:: red;\r\n}\r\n<\/pre>\n<p>Para referenciar un elemento en particular usando el atributo id desde nuestro archivo CSS la regla debe ser declarado con el s\u00edmbolo # delante del valor que usamos para identificar el elemento.<\/p>\n<p>Notas para las referencias en id<\/p>\n<ul>\n<li>Es una referencia sumamente espec\u00edfica, ya que no debe de haber m\u00e1s de un elemento con el nombre del id<\/li>\n<li>Normalmente se emplean los id para elementos estructurales<\/li>\n<li>Suele emplearse m\u00e1s en JavaScript<\/li>\n<li>CSS3 nos proporciona referencias m\u00e1s flexibles<\/li>\n<\/ul>\n<p>Referencias con el atributo class<\/p>\n<ul>\n<li>Este atributo es m\u00e1s flexible<\/li>\n<li>Puede ser asignado a cada elemento HTML en el documento que comparte un dise\u00f1o similar<\/li>\n<\/ul>\n<p>Se emplea de forma similar que el id s\u00f3lo que:<br \/>\n&#8211; En HTML, en vez de colocar id se coloca class<\/p>\n<pre>&lt;p class=\"principal\"&gt;Texto para el art\u00edculo&lt;\/p&gt;\r\n&lt;p class=\"aside\"&gt;Texto para el aside&lt;\/p&gt;\r\n<\/pre>\n<p>En CSS3, en vez de colocar #, se coloca un punto (.)<\/p>\n<pre>.principal{\r\n    font-size:: 20px;\r\n}\r\n\r\n.aside{\r\n    color:: red;\r\n}\r\n<\/pre>\n<p>Un dato<br \/>\n\u00bfporqu\u00e9 colocar un punto antes de la referencia?<br \/>\nLa raz\u00f3n es que con las clases podemos construir referencias m\u00e1s complejas<\/p>\n<pre>p.principal{\r\n    font-size:: 20px;\r\n}\r\n\r\np.aside{\r\n    color:: red;\r\n}\r\n<\/pre>\n<p>De esta manera, s\u00f3lo las etiquetas &lt;p&gt;, se ver\u00e1n afectadas por esta clase.<\/p>\n<p>Referenciando por cualquier otro atributo<\/p>\n<ul>\n<li>Las nuevs especificaciones de CSS3 nos permite referenciar por cualquier otro atributo:<br \/>\n&lt;p name=\u00bbespecial\u00bb&gt;Referencia por cualquier otro atributo&lt;\/p&gt;<\/li>\n<li>El CSS3 ser\u00eda:\n<pre>     p[name=\"especial\"] {\r\n         font-size: 20px;\r\n         color: red;\r\n     }<\/pre>\n<\/li>\n<\/ul>\n<p>Referencias locas<\/p>\n<pre>p[name^=\"mi\"] {\r\n    font-size: 20px\r\n}<\/pre>\n<p>(^) Ser\u00e1 asignada a todo elemento &lt;p&gt; que contenga un atributo name con un valor comenzado en \u00abmi\u00bb.<\/p>\n<pre>p[name$=\"mi\"] {\r\n    font-size: 40px\r\n}<\/pre>\n<p>(^) Ser\u00e1 asignada a todo elemento &lt;p&gt; que contenga un atributo name con un valor finalizado en \u00abmi\u00bb.<\/p>\n<pre>p[name*=\"mi\"] {\r\n    font-size: 60px\r\n}<\/pre>\n<p>(^) Ser\u00e1 asignada a todo elemento &lt;p&gt; que contenga un atributo name con un valor que incluye el texto \u00abmi\u00bb.<\/p>\n<p>Referenciando con pseudo clases<\/p>\n<p>Consideremos el siguiente c\u00f3digo<\/p>\n<pre>&lt;!DOCTYPE html&gt;\r\n&lt;html lang=\"es\"&gt;\r\n    &lt;head&gt;\r\n        &lt;meta charset=\"UTF-8\"&gt;\r\n        &lt;title&gt;Estilos con pseudo clases&lt;\/title&gt;\r\n        &lt;link rel=\"stylesheet\" type=\"text\/css\" href=\"css\/estilos.css\"&gt;\r\n    &lt;\/head&gt;\r\n    &lt;body&gt;\r\n        &lt;div id=\"wrapper\"&gt;\r\n            &lt;p class=\"miestilo1\"&gt;P\u00e1rrafo1&lt;\/p&gt;\r\n            &lt;p class=\"miestilo2\"&gt;P\u00e1rrafo2&lt;\/p&gt;\r\n            &lt;p class=\"miestilo3\"&gt;P\u00e1rrafo3&lt;\/p&gt;\r\n            &lt;p class=\"miestilo4\"&gt;P\u00e1rrafo4&lt;\/p&gt;\r\n        &lt;\/div&gt;\r\n    &lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>La etiqueta &lt;div&gt; agrupa a varias etiquetas &lt;p&gt;.<br \/>\nLa etiqueta &lt;div&gt; se considera una etiqueta padre.<br \/>\nLas etiquetas &lt;p&gt; son hijos de la etiqueta &lt;div&gt; y hermanos entre si.<\/p>\n<p>Las pseudo clases nos permiten hacer referencias considerando la estructura del documento<\/p>\n<p>p:nth-child(2)<br \/>\n{<br \/>\nbackground: #999999;<br \/>\n}<\/p>\n<p>En este caso p es el elemento clave<br \/>\nLa referencia nth-child() nos permite encontrar un hijo espec\u00edfico<br \/>\nEl 2 nos indica a que elemento hermano nos referimos<br \/>\nA continuaci\u00f3n se coloca el estilo que queramos utilizar<\/p>\n<p>Odd &#8211; even<\/p>\n<p>Son dos palabras reservadas.<\/p>\n<p>Odd afecta a los elementos hijos que poseen un n\u00famero impar.<br \/>\nEven afecta a los elementos hijos que poseen un n\u00famero par.<\/p>\n<p>Haciendo uso de odd y even, se facilita much\u00edsimo la tarea de alternar estilos en una serie de elementos cont\u00ednuos.<\/p>\n<p>*{<br \/>\nmargin: 0px;<br \/>\n}<\/p>\n<p>p:nth-child(odd)<br \/>\n{<br \/>\nbackground: #999999;<br \/>\n}<br \/>\np:nth-child(even)<br \/>\n{<br \/>\nbackground: #cccccc;<br \/>\n}<\/p>\n<p>Otras pseudo clases<\/p>\n<p>Existen otras importantes pseudo clases relacionadas con esta \u00faltima, como<\/p>\n<ul>\n<li>firstchild &#8211; Referencia s\u00f3lo al primer hijo<\/li>\n<li>last-child &#8211; Referencia al \u00faltimo hijo<\/li>\n<li>only-child &#8211; Referencia a elementos padres que s\u00f3lo tienen un hijo<\/li>\n<\/ul>\n<p>Pseudo clase not()<\/p>\n<ul>\n<li>Se emplea para realizar una negaci\u00f3n<\/li>\n<li>Tiene el mismo alcance que un selector universal<br \/>\n*{<br \/>\nmargin: 0px;<br \/>\n}<br \/>\n:not(p){<br \/>\nmargin: 0px;<br \/>\n}<\/li>\n<li>Dentro de los par\u00e9ntesis podemos colocar la referencia que queramos<\/li>\n<\/ul>\n<p>En este caso estamos indicando con un selector universal * un margen de 0px (es decir sin margen) a todos los elementos de la p\u00e1gina.<br \/>\nCon la pseudo clase :not(p) le indicamos que a los elementos p no les afecte el margen de 0px, de tal manera que utilizar\u00e1n las caracter\u00edsticas por defecto del navegador o las que nosotros deseemos.<\/p>\n<p>Nuevos selectores<\/p>\n<p>Estos selectores usan los s\u00edmbolos &lt;, + y div&gt;p.mitexto2{<br \/>\ncolor: #990000;<br \/>\n}<br \/>\nLe decimos es este elemento( p.mitexto2) sea afectado siempre que tenga como padre un elemento div<\/p>\n<p>p.mitexto2 + p{<br \/>\ncolor: #990000;<br \/>\n}<br \/>\nEl elemento &lt;p&gt; inmediatamente inferior al elemento p con la clase (mitexto), se ver\u00e1 afectado por los estilos.<\/p>\n<p>p.mitexto2 ~ p{<br \/>\ncolor: #990000;<br \/>\n}<\/p>\n<p>El estilo ser\u00e1 aplicado a todos los elementos &lt;p&gt; que son hermanos y se encuentran luego del elemento &lt;p&gt; identificado con el valor mitexto2 en su atributo class.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>id, clases, pseudo-clases Conceptos b\u00e1sicos: CSS es un lenguaje que trabaja junto con HTML para proveer estilos visuales a los elementos del documento, como tama\u00f1o, color, fondo, bordes, etc. Importante: -moz (Mozilla) o -kevit (Chrome, Safari, Opera) Estructura en Bloque &hellip; <a href=\"https:\/\/luismaseda.com\/wp\/?p=104\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-104","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/luismaseda.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/luismaseda.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/luismaseda.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/luismaseda.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/luismaseda.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=104"}],"version-history":[{"count":18,"href":"https:\/\/luismaseda.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/104\/revisions"}],"predecessor-version":[{"id":628,"href":"https:\/\/luismaseda.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/104\/revisions\/628"}],"wp:attachment":[{"href":"https:\/\/luismaseda.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/luismaseda.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/luismaseda.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}