Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/01/2018, 11:22
Avatar de g3kdigital
g3kdigital
 
Fecha de Ingreso: noviembre-2013
Ubicación: En mi apartamento en bogotá
Mensajes: 208
Antigüedad: 10 años, 5 meses
Puntos: 39
Respuesta: Selector de ID doble

Hay una solución y perdón de antemano decir esto tan seco, pero:

No uses id, usa clases.

Es decir, un ID es precisamente para un elemento único y no con variantes, con tipos, o similares, ni nada. Los id, son el último paso en las buenas prácticas usando css y hoy día, solo se recomienda su uso para combinarlo con javascript. El uso de clases es muy sencillo y permite la multiclase sin ningún problema y de hecho en tu ejemplo de caso de uso aplica muy bien y de hecho jejeje es la solución que siempre vas a encontrar en internet si haces una pequeña búsqueda. Ejemplo de uso con clases:

Código HTML:
Ver original
  1. <div class="window aspect1"></div>
  2. <div class="window aspect2"></div>

Código CSS:
Ver original
  1. .window.aspect1{
  2.     background-color:rgba(255,255,255,0.5);
  3.     border:1px solid rgba(0,0,0,0.2);
  4.     border-radius:0px 0px;
  5.     width:30vmin;
  6.     height:15vmin;
  7. }
  8.  
  9. .window.aspect2{
  10.     background-color:rgba(255,255,255,1);
  11.     border:1px solid rgba(0,0,0,0.5);
  12.     border-radius:2px 2px;
  13.     width:50vmin;
  14.     height:30vmin;
  15. }

Como mucho puedes hacer algo así:

Código HTML:
Ver original
  1. <div id="window1" class="aspect1"></div>
  2. <div id="window2" class="aspect2"></div>

Código CSS:
Ver original
  1. [id*="window"].aspect1{
  2.     background-color:rgba(255,255,255,0.5);
  3.     border:1px solid rgba(0,0,0,0.2);
  4.     border-radius:0px 0px;
  5.     width:30vmin;
  6.     height:15vmin;
  7. }
  8.  
  9. [id*="window"].aspect2{
  10.     background-color:rgba(255,255,255,1);
  11.     border:1px solid rgba(0,0,0,0.5);
  12.     border-radius:2px 2px;
  13.     width:50vmin;
  14.     height:30vmin;
  15. }

Pero nunca así, porque no es valido que hayan dos elementos con el mismo ID:

Código HTML:
Ver original
  1. <div id="window" class="aspect1"></div>
  2. <div id="window" class="aspect2"></div>

Así veras que lo usan todos los frameworks o templates, proyectos importantes y referentes.

Es muy sencillo y de hecho si lo haces como pretendes (usando el mismo id o multi ids para varios elementos) vas a ver alarmas en todos los validadores de marcado oficiales.

Éxitos en tu proyecto y feliz día.
__________________
Puedes ser el tipo de persona que se amarga por lo inevitable o aceptar el reto de superarse siempre e ir a la par con el progreso.

WEB: G3K.co | codepen.io/g3kdigital

Última edición por g3kdigital; 15/01/2018 a las 11:28