Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Ali Baba en 16 Diciembre 2017, 15:16 pm



Título: Problema con CSS a la hora de seleccionar clases
Publicado por: Ali Baba en 16 Diciembre 2017, 15:16 pm
Hace unos dias estaba haciendo un examen de CSS y me llamo la atencion algo en particular.

Resulta que la pregunta decia mas o menos asi:

Código
  1. <div class="inicio medio small"></div>
  2. <div class="inicio medio medium"></div>
  3. <div class="inicio medio large"></div>
  4.  

Me preguntaron como es la forma correcta de seleccionar el div del centro y salian alternativas como estas, aunque no se si esten todas:

Código
  1. .inicio.medio .medium {...}
  2. .inicio .medio .medium {...}
  3. inicio medio medium {...}
  4. .inicio.medio.medium {...}

yo siempre elegi la del centro pero me la marcaba mal, alguien sabe la respuesta?


Título: Re: Problema con CSS a la hora de seleccionar clases
Publicado por: #!drvy en 16 Diciembre 2017, 15:44 pm
De las respuestas que das, la correcta solo puede ser la 4. Si te fijas, el elemento no esta dentro de otro elemento, es decir son 3 clases para el mismo elemento. En CSS cuando marcas un espacio en el query, se considera que buscas a un hijo dentro del elemento padre, cuando va todo junto, se considera que buscas un elemento que tenga todas esas clases.

Saludos


Título: Re: Problema con CSS a la hora de seleccionar clases
Publicado por: Ali Baba en 16 Diciembre 2017, 15:54 pm

Digamos que tengo esto:

Código
  1. <header class="header">
  2.  <nav id="header">
  3.    <ul class="items">
  4.      <li class="item">Item 1</li>
  5.      <li class="item">Item 2</li>
  6.      <li class="item">Item 3</li>
  7.    </ul>
  8.  </nav>
  9. </header>

Y quiero elegir todos los elementos li, cual es la correcta:

Código
  1. .header nav li {...}
  2. #header nav li {...}
  3. header #nav li {...}
  4. head nav li {...}

casi siempre he marcado la primera


Título: Re: Problema con CSS a la hora de seleccionar clases
Publicado por: #!drvy en 16 Diciembre 2017, 16:18 pm
Entre las que das, solo funciona la primera.

Saludos


Título: Re: Problema con CSS a la hora de seleccionar clases
Publicado por: Orubatosu en 16 Diciembre 2017, 17:02 pm
De forma generalista como sabes:

# para los elementos seleccionados por ID (únicos)
. para los elementos seleccionados por clase (pueden ser varios)

Luego los selectores descendentes van de "arriba a abajo" pero en realidad solo se deben de usar si tienes la necesidad de seleccionar un objeto muy concreto


Título: Re: Problema con CSS a la hora de seleccionar clases
Publicado por: srWhiteSkull en 21 Diciembre 2017, 00:02 am
Lo que está claro es que son tres clases, las cuales generalmente se definen por separado y no en un solo grupo. Si no que sentido tendría?

Código
  1. /* ejemplo */
  2. .inicio {
  3.   width: 100%;
  4. }
  5.  
  6. .medio {
  7.   height: 100vh;
  8. }
  9.  
  10. .medium {
  11.   text-align: center;
  12. }

*Dile al profe que todas están mal y que se busque una nueva profesión XD jajajaj

* es broma  ;)


Título: Re: Problema con CSS a la hora de seleccionar clases
Publicado por: #!drvy en 22 Diciembre 2017, 09:26 am
Citar
Lo que está claro es que son tres clases, las cuales generalmente se definen por separado y no en un solo grupo. Si no que sentido tendría?

Ese tipo de preguntas van orientadas a comprobar el conocimiento que tienes sobre las preferencias y reglas de CSS. Tienen poco o ningún sentido aplicadas a nivel deployment, pero dan a entender que tanto sabe alguien de como funcionan las cosas.

Saludos