Estimado Quique:

No existe ningún problema en utilizar id's, class o ambos. Eso es un tema de 
diseño (y elegancia, profesionalidad, rendimiento, etc.).

El estándar define el uso de los id para identificación única de un elemento 
HTML. El uso de class es para agregar un contenido semántico a un elemento HTML.

Me explico mejor: existe un sólo Quique en la lista; por tanto su id será 
Quique.

Sin embargo, existen muchas mujeres (class="mujer") u hombres (class="hombre") 
o programadores en php (class="php_programmer") u odiadores de mal software 
(class="hate_ie") o que procuran cumplir el estándar (class="check_std").

por tanto, el elemento podría ser <... id="Quique" class="check_std">

pero también podrías dar más información semántica en el atributo class, 
simplemente aumentando el nuevo contenido semántico separado por un espacio:

<... id="Quique" class="check_std hombre">

Donde se quiere expresar que el elemento es único (Quique) y que cumple los 
estándares (al igual que muchos otros) y que es hombre.

Esta analogía -sin pretender ser irrespetuosa con las calidades intelectuales 
de los miembros de nuestra lista- pretende mostrar la diferencia entre id y 
class.

En el diseño en mi empresa, utilizamos mucho id y class (juntos y mezclados). 
En el diseño de las páginas, creamos áreas de diseño únicas y distintivas pero 
que tienen los mismos elementos. Por ejemplo, noticias y menúes. Estos 
conjuntos de datos tienen básicamente la misma estructura:

Noticias:
========
<ul>
  <li class="primero">Noticia 1</li>
  <li>Noticia 2</li>
  .
  .
  .
  <li>Noticia n</li>
</ul>

Menú:
====
<ul>
  <li class="primero">Opción 1</li>
  <li>Opción 2</li>
  .
  .
  .
  <li>Opción m</li>
</ul>

Si deseamos dar formato a estos componentes, tenemos varias opciones: colocar 
el contenido semántico a los elementos mayores. P.e. <ul class="menu"> y <ul 
class="noticias"> o (al ser únicos y diferentes) podemos darles 
"identificación".  P.e. <ul id="menu"> y <ul id="noticias">

La definición de los estilos podría ser realizada, para el primer caso de la 
siguiente manera:

ul.menu { color... }
ul.menu li { font... }

ul.noticias { color... }
ul.noticias li { font... }

En el segundo caso sería:

#menu { color... }
#menu li { font... }

#noticias { color... }
#noticias li { font... }

ya que no interesa el elemento que se define, porque es único.

Para cualquier elemento que es primero (no necesariamente de una lista) se 
podría crear una definición:

.primero {border: ....}

Si el primero de noticias es diferente del primero de menú, se puede definir 
también en forma especial:

#menu ul.primero {backgorund-color:... }
#noticias ul.primero {backgorund-color:... }

Para definir el comportamiento de todos los primeros de noticias (primero de la 
lista, de la fila de una tabla, de un párrafo, etc) se podría definir como algo 
así:

#noticias .primero {font ... }

Finalmente, en mi empresa preferimos definir las cosas de la siguiente manera:

Noticias:
========
<div id="noticias">
  <ul>
    <li class="primero destacado">Noticia 1</li>
    <li>Noticia 2</li>
    .
    .
    .
    <li>Noticia n</li>
  </ul>
</div>

Menú:
====
<div id="menu">
  <ul>
    <li class="primero">Opción 1</li>
    <li class="destacado">Opción 2</li>
    .
    .
    .
    <li>Opción m</li>
  </ul>
</div>

Que sería la estructura (el HTML) y que, como ya aprendimos, facilita la 
presentación (el CSS).

Espero sea de utilidad.

Saludos.

--
Alejandro Salamanca Mazuelo
Gerente General
DeveNet SRL
alejan...@devenet.net
Cel. 591-2-70618872


DeveNet Srl - Software para Internet
Telf. 591-2-2117985
i...@devenet.net
Av. 20 de Octubre #2473 Edif. Topáter Piso 2, Of. 204
La Paz - Bolivia
www.devenet.net 

----- Mensaje original -----
De: "stripTM" <f...@striptm.com>
Para: "la lista de CSS en castellano Ovillo" <ovillo@lists.ovillo.org>
Enviados: Miércoles, 28 de Enero 2009 19:22:16 GMT -04:00 Caracas / La Paz
Asunto: Re: [Ovillo] ¿Es correcto mezclar id y class?

Ignacio Ricci escribió:
> Si pero por ejemplo si tengo una lista de elementos, y quiero destacar el
> 1ro,
> le puedo dar una clase a todos y agregarle un ID al primero.
>
> Es muy comun hacer eso. No es o usas clases, o usas IDS.
>
>   
Y si en lugar de una lista tienes dos, ya con el id no te vale.
Yo lo haría
<ul>
    <li><strong>...</strong></li>
    <li>...</li>
</ul>
o
<ul>
    <li class="destacado">...</li>
    <li>...</li>
</ul>

Aunque lo chulo de verdad sería pasar del explorer y usar first-child ;-)


-- 
Saludos -=stripTM=-

_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://lists.ovillo.org/mailman/listinfo/ovillo
_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://lists.ovillo.org/mailman/listinfo/ovillo

Responder a