Saltar al contenido principal
Codigo Heroe
Tarea anterior
CSS: selectores, herencia y cascada13/15
A la lista de tareas
  1. 1. Reglas CSS
  2. 2. Selectores
  3. 3. Propiedades y valores
  4. 4. Herencia
  5. 5. Propiedades heredables
  6. 6. Propiedades no heredables
  7. 7. Propiedades abreviadas
  8. 8. Valores absolutos y relativos
  9. 9. Selectores de etiqueta y de clase
  10. 10. Selectores descendientes
  11. 11. Estilos predeterminados
  12. 12. La cascada
  13. 13. Conflictos entre propiedades
  14. 14. Varias clases en un elemento
  15. 15. Estilos en línea: el atributo style
Siguiente tarea
  • Matriz de skills
  • Cursos
  • Registro
  • Iniciar sesión

Loading…
En unos segundos, estará listo.

  • Teoría
  • Teoría

Conflictos entre propiedades

Varias reglas CSS pueden aplicarse a un mismo elemento. Si contienen la misma propiedad con valores distintos, se produce un conflicto. Por ejemplo:

ul { list-style: disc; }                   /* estilos del navegador */
.blog-navigation ul { list-style: none; }  /* nuestros estilos */

La misma lista del blog recibe distintos valores de list-style. Hay un conflicto, porque la propiedad necesita un solo valor final.

¿Cómo decide el navegador qué valor usar? En los ejemplos que estamos viendo, podemos resolver el conflicto con estos tres pasos. Si un paso no basta para decidir, pasamos al siguiente:

  1. Se compara la prioridad del origen de los estilos. Por ejemplo, nuestros estilos, los del autor, tienen prioridad sobre los estilos del navegador en estos ejemplos.
  2. Se compara la especificidad de los selectores de las reglas en conflicto. Por ejemplo, un selector de clase es más específico que uno de etiqueta.
  3. Gana la declaración que aparece más abajo en el código.

Veremos las prioridades, la especificidad y otros detalles de la herencia y la cascada más adelante. Por ahora, recuerda margin: 0; en .skills dd del ejercicio anterior. Esa declaración de nuestros estilos tuvo prioridad sobre la del navegador y eliminó los márgenes.

En la regla .skills dd apareció otro conflicto al agregar margin-bottom:

margin: 0;
margin-bottom: 10px;

La cascada también funciona dentro de las reglas CSS. En este caso, la propiedad individual margin-bottom entra en conflicto con el componente equivalente de la propiedad abreviada. Gana la individual porque aparece después:

margin-left: 0;   /* de la propiedad abreviada */
margin-top: 0;    /* de la propiedad abreviada */
margin-right: 0;  /* de la propiedad abreviada */
margin-bottom: 0; /* de la propiedad abreviada */
margin-bottom: 10px;

Ahora convertiremos los porcentajes de nuestras habilidades en barras de progreso. Necesitamos agregar unos contenedores decorativos al HTML. El elemento <div>, que ya conocemos, es perfecto para eso. Los estilos iniciales de las barras ya están preparados.

  • index.html
  • style.css
HTML
<!DOCTYPE html> <html lang="es"> <head> <meta charset="utf-8"> <title>Sitio de un principiante en HTML y CSS</title> <link rel="stylesheet" href="style.css"> </head> <body> <header> <h1>Sitio de un principiante en HTML y CSS</h1> </header> <main> <img class="avatar" src="img/raccoon.svg" width="80" height="80" alt="Avatar"> <nav class="blog-navigation"> <h2>Entradas del blog</h2> <ul> <li><a href="day-1.html">Día 1. Cómo olvidé darle de comer al gato</a></li> <li><a href="day-2.html">Día 2. Quiero dedicarme a HTML y CSS</a></li> <li><a href="day-3.html">Día 3. Mi gato está enojado conmigo</a></li> <li><a href="day-4.html">Día 4. Casi me enfermo</a></li> <li><a href="day-5.html">Día 5. Un descanso</a></li> <li><a href="day-6.html">Día 6. No entendí nada</a></li> <li><a href="day-7.html">Día 7. Cupcake me encargó una tarea</a></li> <li><a href="day-8.html">Día 8. Un día muy serio</a></li> <li><a href="day-9.html">Día 9. O mejor dicho, noche</a></li> <li><a href="day-10.html">Día 10. Un primer balance</a></li> <li><a href="day-11.html">Día 11. Sin exagerar</a></li> <li><a href="day-12.html">Día 12. A todos les gustan las galletas</a></li> <li><a href="day-13.html">Día 13. Encontré un artículo</a></li> <li><a href="day-14.html">Día 14. Un formato nuevo</a></li> <li><a href="day-15.html">Día 15. Una galería de selfis</a></li> </ul> </nav> <section> <p>¡Hola a todos! Les doy la bienvenida a mi primer sitio web. Hace poco no tenía ni idea de cómo se crean las páginas web, pero ahora encontré <a href="https://htmlacademy.org/courses">cursos interactivos de HTML y CSS</a> y me propuse aprender a crearlas. Hasta tengo un instructor: Cupcake, que no me dejará bajar el ritmo y estará atento a mis avances.</p> <p>Mi primera tarea es llevar un diario y contar con sinceridad todos mis logros.</p> </section> <section> <h2>Habilidades</h2> <dl class="skills"> <dt>HTML</dt> <!-- Envuelve en divs el contenido de los elementos dd de abajo --> <dd>60%</dd> <dt>CSS</dt> <dd>20%</dd> <dt>JS</dt> <dd>10%</dd> </dl> </section> </main> <footer> Pie de página </footer> </body> </html>
CSS
body { padding: 0 30px; font-size: 16px; line-height: 26px; font-family: "Arial", sans-serif; color: #222222; background: #ffffff url("img/bg-page.png") no-repeat top center; } h1 { font-size: 36px; line-height: normal; } h2 { font-size: 20px; line-height: normal; } a { color: #0099ef; text-decoration: underline; } .avatar { border-radius: 50%; } .blog-navigation { margin-bottom: 30px; padding: 20px; background-color: #4470c4; border: 5px solid #2d508f; color: #ffffff; } .blog-navigation h2 { margin-top: 0; } .blog-navigation ul { list-style: none; padding-left: 0; } .blog-navigation li { margin-bottom: 5px; } .blog-navigation a { color: #ffffff; } .skills dd { margin: 0; margin-bottom: 10px; background-color: #e8e8e8; } /* Descomenta la regla de abajo */ /* .skills-level { font-size: 12px; text-align: center; color: #ffffff; background-color: #4470c4; } */ footer { margin-top: 30px; }

El código ha cambiado, haz clic en "Actualizar" o activa la ejecución automática.

Ha ido a otra página

Haga clic dentro del mininavegador para poner el foco en esta ventana.

100%
ObjetivosRealizado
0
    1. En cada dd, envuelve el contenido en un <div> con la clase skills-level.
    2. En el CSS, descomenta la regla con el selector .skills-level.
    Codigo Heroe

    © 2023-2026, codigoheroe.com