{"id":1316,"date":"2024-08-01T18:48:44","date_gmt":"2024-08-01T16:48:44","guid":{"rendered":"https:\/\/blog.sutilweb.eu\/?page_id=1316"},"modified":"2024-08-01T18:48:45","modified_gmt":"2024-08-01T16:48:45","slug":"39-pseudo-clases-css","status":"publish","type":"page","link":"https:\/\/sutilweb.eu\/index.php\/lenguajes\/css3\/css3-basico\/39-pseudo-clases-css\/","title":{"rendered":"39. Pseudo-clases CSS"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Qu\u00e9 son las pseudo-clases?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Las <strong>pseudo-clases<\/strong> son usadas para definir un estado especial de un elemento. Por ejm, se pueden usar para:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dar estilo a un elemento cuando un usuario pasa el rat\u00f3n sobre \u00e9l.<\/li>\n\n\n\n<li>Dar estilos diferentes a enlaces visitados y sin visitar.<\/li>\n\n\n\n<li>Dar estilo a un elemento cuando es el foco.<\/li>\n<\/ul>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Sintaxis<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La sintaxis ser\u00eda la siguiente:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">selector:pseudo-clase {\n&nbsp;&nbsp;propiedad: valor;\n}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Anchor Pseudo-classes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Los enlaces pueden ser mostrados de diferentes maneras.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/* enlace no visitado *\/\na:link {\ncolor: #FF0000;\n}\/* enlace visitado*\/\na:visited {\ncolor: #00FF00;\n}\/* bot\u00f3n sobre enlace *\/\na:hover {\ncolor: #FF00FF;\n}\/* enlace seleccionado *\/\na:active {\ncolor: #0000FF;\n}<\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Nota<\/strong>: <strong><em>a:hover<\/em><\/strong> DEBE ir despu\u00e9s de <strong><em>a:link<\/em><\/strong> y <strong><em>a:visited<\/em><\/strong> en la definici\u00f3n de <strong>CSS<\/strong> para que sea efectivo. <strong><em>a:active<\/em><\/strong> DEBE ir despu\u00e9s de <strong><em>a:hover<\/em><\/strong> en la definici\u00f3n de <strong>CSS<\/strong> para que sea efectivo. Los nombres de <strong>pseudoclases<\/strong> no distinguen entre may\u00fasculas y min\u00fasculas.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Pseudo-clases y clases HTML<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Las <strong>pseudo-clases<\/strong> se pueden combinar con las clases HTML.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;!DOCTYPE html><br>&lt;html><br>  &lt;head><br>    &lt;style><br>      a.highlight:hover {<br>        color: #ff0000;<br>        font-size: 22px;<br>      }<br>    &lt;\/style><br>  &lt;\/head><br>  &lt;body><br>    &lt;h2>Pseudo-clases y clases HTML&lt;\/h2><br><br>    &lt;p><br>      Cuando pasa el cursor sobre el primer enlace a continuaci\u00f3n, cambiar\u00e1 el<br>      color y el tama\u00f1o de fuente:<br>    &lt;\/p><br><br>    &lt;p>&lt;a class=\"highlight\" href=\"css_syntax.asp\">Sintaxis CSS&lt;\/a>&lt;\/p><br><br>    &lt;p>&lt;a href=\"default.asp\">CSS Tutorial&lt;\/a>&lt;\/p><br>  &lt;\/body><br>&lt;\/html><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Hover en &lt;div&gt;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Veamos un ejm de usar hover en la etiqueta <strong><em>&lt;div&gt;<\/em><\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;!DOCTYPE html><br>&lt;html><br>  &lt;head><br>    &lt;style><br>      div {<br>        background-color: green;<br>        color: white;<br>        padding: 25px;<br>        text-align: center;<br>      }<br><br>      div:hover {<br>        background-color: blue;<br>      }<br>    &lt;\/style><br>  &lt;\/head><br>  &lt;body><br>    &lt;p><br>      Pasa el mouse sobre el elemento div a continuaci\u00f3n para cambiar su color<br>      de fondo:<br>    &lt;\/p><br><br>    &lt;div>Mouse Over Me&lt;\/div><br>  &lt;\/body><br>&lt;\/html><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Simple Tooltip Hover<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pasa el cursor sobre un elemento <strong><em>&lt;div&gt;<\/em><\/strong> para mostrar un elemento <strong><em>&lt;p&gt;<\/em><\/strong> (como una informaci\u00f3n sobre herramientas).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;!DOCTYPE html><br>&lt;html lang=\"es\"><br>  &lt;head><br>    &lt;style><br>      p {<br>        display: none;<br>        background-color: yellow;<br>        padding: 20px;<br>      }<br><br>      div:hover p {<br>        display: block;<br>      }<br>    &lt;\/style><br>  &lt;\/head><br><br>  &lt;body><br>    &lt;div><br>      Situate sobre este elemento para mostrar el elemento p<br>      &lt;p>Ahora me muestro&lt;\/p><br>    &lt;\/div><br>  &lt;\/body><br>&lt;\/html><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">La pseudo-clase :first-child<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La pseudoclase <strong><em>:first-child<\/em><\/strong> coincide con un elemento especificado que es el primer hijo de otro elemento.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Coincide con el primer elemento &lt;p&gt;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En el siguiente ejemplo, el selector coincide con cualquier elemento <strong><em>&lt;p&gt;<\/em><\/strong> que sea el primer hijo de cualquier elemento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;!DOCTYPE html><br>&lt;html><br>  &lt;head><br>    &lt;style><br>      p:first-child {<br>        color: blue;<br>      }<br>    &lt;\/style><br>  &lt;\/head><br>  &lt;body><br>    &lt;p>This is some text.&lt;\/p><br>    &lt;p>This is some text.&lt;\/p><br><br>    &lt;div><br>      &lt;p>This is some text.&lt;\/p><br>      &lt;p>This is some text.&lt;\/p><br>    &lt;\/div><br>  &lt;\/body><br>&lt;\/html><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Coincide con el primer elemento &lt;i&gt; en todos los elementos &lt;p&gt;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;!DOCTYPE html><br>&lt;html><br>  &lt;head><br>    &lt;style><br>      p i:first-child {<br>        color: blue;<br>      }<br>    &lt;\/style><br>  &lt;\/head><br>  &lt;body><br>    &lt;p>I am a &lt;i>strong&lt;\/i> person. I am a &lt;i>strong&lt;\/i> person.&lt;\/p><br>    &lt;p>I am a &lt;i>strong&lt;\/i> person. I am a &lt;i>strong&lt;\/i> person.&lt;\/p><br>  &lt;\/body><br>&lt;\/html><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Hacer coincidir todos los elementos &lt;i&gt; en todos los primeros elementos secundarios &lt;p&gt;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;!DOCTYPE html><br>&lt;html><br>  &lt;head><br>    &lt;style><br>      p:first-child i {<br>        color: blue;<br>      }<br>    &lt;\/style><br>  &lt;\/head><br>  &lt;body><br>    &lt;p>I am a &lt;i>strong&lt;\/i> person. I am a &lt;i>strong&lt;\/i> person.&lt;\/p><br>    &lt;p>I am a &lt;i>strong&lt;\/i> person. I am a &lt;i>strong&lt;\/i> person.&lt;\/p><br><br>    &lt;div><br>      &lt;p>I am a &lt;i>strong&lt;\/i> person. I am a &lt;i>strong&lt;\/i> person.&lt;\/p><br>      &lt;p>I am a &lt;i>strong&lt;\/i> person. I am a &lt;i>strong&lt;\/i> person.&lt;\/p><br>    &lt;\/div><br>  &lt;\/body><br>&lt;\/html><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Tabla de pseudo-clases<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Selector<\/th><th>Ejemplo<\/th><th>Descripci\u00f3n del ejemplo<\/th><\/tr><tr><td><strong><em>:active<\/em><\/strong><\/td><td>a:active<\/td><td>Selecciona el enlace activo<\/td><\/tr><tr><td><strong><em>:checked<\/em><\/strong><\/td><td>input:checked<\/td><td>Selecciona cada elemento &lt;input&gt; marcado<\/td><\/tr><tr><td><strong><em>:disabled<\/em><\/strong><\/td><td>input:disabled<\/td><td>Selecciona cada elemento &lt;input&gt; deshabilitado<\/td><\/tr><tr><td><strong><em>:empty<\/em><\/strong><\/td><td>p:empty<\/td><td>Selecciona cada elemento &lt;p&gt; que no tiene hijos<\/td><\/tr><tr><td><strong><em>:enabled<\/em><\/strong><\/td><td>input:enabled<\/td><td>Selecciona cada elemento &lt;input&gt; habilitado<\/td><\/tr><tr><td><strong><em>:first-child<\/em><\/strong><\/td><td>p:first-child<\/td><td>Selecciona todos los elementos &lt;p&gt; que son el primer hijo de su padre<\/td><\/tr><tr><td><strong><em>:first-of-type<\/em><\/strong><\/td><td>p:first-of-type<\/td><td>Selecciona cada elemento &lt;p&gt; que es el primer elemento &lt;p&gt; de su padre<\/td><\/tr><tr><td><strong><em>:focus<\/em><\/strong><\/td><td>input:focus<\/td><td>Selecciona el elemento &lt;input&gt; que tiene el foco<\/td><\/tr><tr><td><strong><em>:hover<\/em><\/strong><\/td><td>a:hover<\/td><td>Selecciona enlaces al pasar el rat\u00f3n por encima<\/td><\/tr><tr><td><strong><em>:in-range<\/em><\/strong><\/td><td>input:in-range<\/td><td>Selecciona elementos &lt;input&gt; con un valor dentro de un rango especificado<\/td><\/tr><tr><td><strong><em>:invalid<\/em><\/strong><\/td><td>input:invalid<\/td><td>Selecciona todos los elementos &lt;input&gt; con un valor no v\u00e1lido<\/td><\/tr><tr><td><strong><em>:lang(language)<\/em><\/strong><\/td><td>p:lang(it)<\/td><td>Selecciona cada elemento &lt;p&gt; con un valor de atributo lang que comienza con \u00abit\u00bb<\/td><\/tr><tr><td><strong><em>:last-child<\/em><\/strong><\/td><td>p:last-child<\/td><td>Selecciona cada elemento &lt;p&gt; que es el \u00faltimo hijo de su padre<\/td><\/tr><tr><td><strong><em>:last-of-type<\/em><\/strong><\/td><td>p:last-of-type<\/td><td>Selecciona cada elemento &lt;p&gt; que es el \u00faltimo elemento &lt;p&gt; de su padre<\/td><\/tr><tr><td><strong><em>:link<\/em><\/strong><\/td><td>a:link<\/td><td>Selecciona todos los enlaces no visitados<\/td><\/tr><tr><td><strong><em>:not(selector)<\/em><\/strong><\/td><td>:not(p)<\/td><td>Selecciona cada elemento que no es un elemento &lt;p&gt;<\/td><\/tr><tr><td><strong><em>:nth-child(n)<\/em><\/strong><\/td><td>p:nth-child(2)<\/td><td>Selecciona cada elemento &lt;p&gt; que es el segundo hijo de su padre<\/td><\/tr><tr><td><strong><em>:nth-last-child(n)<\/em><\/strong><\/td><td>p:nth-last-child(2)<\/td><td>Selecciona cada elemento &lt;p&gt; que es el segundo hijo de su padre, contando desde el \u00faltimo hijo<\/td><\/tr><tr><td><strong><em>:nth-last-of-type(n)<\/em><\/strong><\/td><td>p:nth-last-of-type(2)<\/td><td>Selecciona cada elemento &lt;p&gt; que es el segundo elemento &lt;p&gt; de su padre, contando desde el \u00faltimo hijo<\/td><\/tr><tr><td><strong><em>:nth-of-type(n)<\/em><\/strong><\/td><td>p:nth-of-type(2)<\/td><td>Selecciona cada elemento &lt;p&gt; que es el segundo elemento &lt;p&gt; de su padre<\/td><\/tr><tr><td><strong><em>:only-of-type<\/em><\/strong><\/td><td>p:only-of-type<\/td><td>Selecciona cada elemento &lt;p&gt; que es el \u00fanico elemento &lt;p&gt; de su padre<\/td><\/tr><tr><td><strong><em>:only-child<\/em><\/strong><\/td><td>p:only-child<\/td><td>Selecciona cada elemento &lt;p&gt; que es el \u00fanico hijo de su padre<\/td><\/tr><tr><td><strong><em>:optional<\/em><\/strong><\/td><td>input:optional<\/td><td>Selecciona elementos &lt;input&gt; sin atributo \u00abrequerido\u00bb<\/td><\/tr><tr><td><strong><em>:out-of-range<\/em><\/strong><\/td><td>input:out-of-range<\/td><td>Selecciona elementos &lt;input&gt; con un valor fuera de un rango especificado<\/td><\/tr><tr><td><strong><em>:read-only<\/em><\/strong><\/td><td>input:read-only<\/td><td>Selecciona elementos &lt;input&gt; con un atributo de \u00abreadonly\u00bb especificado<\/td><\/tr><tr><td><strong><em>:read-write<\/em><\/strong><\/td><td>input:read-write<\/td><td>Selecciona elementos &lt;input&gt; sin atributo de \u00abreadonly\u00bb<\/td><\/tr><tr><td><strong><em>:required<\/em><\/strong><\/td><td>input:required<\/td><td>Selecciona elementos &lt;input&gt; con un atributo \u00abrequired\u00bb especificado<\/td><\/tr><tr><td><strong><em>:root<\/em><\/strong><\/td><td>root<\/td><td>Selecciona el elemento ra\u00edz del documento.<\/td><\/tr><tr><td><strong><em>:target<\/em><\/strong><\/td><td>#news:target<\/td><td>Selecciona el elemento #news activo actual (haciendo clic en una URL que contiene ese nombre de ancla)<\/td><\/tr><tr><td><a href=\"https:\/\/www.w3schools.com\/cssref\/sel_valid.asp\">:<\/a><strong><em>valid<\/em><\/strong><\/td><td>input:valid<\/td><td>Selecciona todos los elementos &lt;input&gt; con un valor v\u00e1lido<\/td><\/tr><tr><td><strong><em>:visited<\/em><\/strong><\/td><td>a:visited<\/td><td>Selecciona todos los enlaces visitados<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Todos los pseudo-elementos<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Selector<\/th><th>Ejemplo<\/th><th>Descripci\u00f3n del ejemplo<\/th><\/tr><tr><td><strong><em>::after<\/em><\/strong><\/td><td>p::after<\/td><td>Insertar contenido despu\u00e9s de cada elemento &lt;p&gt;<\/td><\/tr><tr><td><strong><em>::before<\/em><\/strong><\/td><td>p::before<\/td><td>Insertar contenido antes de cada elemento &lt;p&gt;<\/td><\/tr><tr><td><strong><em>::first-letter<\/em><\/strong><\/td><td>p::first-letter<\/td><td>Selecciona la primera letra de cada elemento &lt;p&gt;<\/td><\/tr><tr><td><strong><em>::first-line<\/em><\/strong><\/td><td>p::first-line<\/td><td>Selecciona la primera l\u00ednea de cada elemento &lt;p&gt;<\/td><\/tr><tr><td><strong><em>::selection<\/em><\/strong><\/td><td>p::selection<\/td><td>Selects the portion of an element that is selected by a user<\/td><\/tr><\/tbody><\/table><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Qu\u00e9 son las pseudo-clases? Las pseudo-clases son usadas para definir un estado especial de un elemento. Por ejm, se pueden [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":563,"menu_order":38,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-1316","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Sutil Web","author_link":"https:\/\/sutilweb.eu\/index.php\/author\/sutilweb\/"},"uagb_comment_info":0,"uagb_excerpt":"Qu\u00e9 son las pseudo-clases? Las pseudo-clases son usadas para definir un estado especial de un elemento. Por ejm, se pueden [&hellip;]","_links":{"self":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/1316","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/comments?post=1316"}],"version-history":[{"count":3,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/1316\/revisions"}],"predecessor-version":[{"id":1319,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/1316\/revisions\/1319"}],"up":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/563"}],"wp:attachment":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/media?parent=1316"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}