[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Sobre css



Hola.

No he tenido mucho tiempo para destripar esto, pero creo que a lo mejor os
puede dar alternativas. Son switchers para estilos...

http://www.alistapart.com/stories/alternate/

http://www.meyerweb.com/ui/setup.html


Por otro lado, y aunque no tenga que ver, me gustaría daros alguna dirección
más relacionada con el diseño: en este caso, es una web donde se pueden
descargar fuentes de escritura tipo cómic que están muy, muy chulas.

http://www.blambot.com/menu.html (cortesía del dibus José Antonio)

Salud camaradas!

_______________________________________________________
Javier Martínez Solera
Consultor de diseño y contenidos
Multimedia

Telefónica Soluciones
Sor Ángela de la Cruz, 3
Tel: 91 321 21 22
Fax: 91 337 88 22
www.telefonica.es/soluciones <http://www.telefonica.es/soluciones>





-----Mensaje original-----
De: Rafael Luque Leiva [mailto:rafael.luque@xxxxxxxxxxxxxxx]
Enviado el: lunes, 26 de mayo de 2003 9:00
Para: Jose San Leandro
CC: mindfood@xxxxxxxxxxxxxxx
Asunto: Re: Sobre css


> Finalmente, el problema más grave resulta ser la
> imposibilidad de css de "desdefinir" estilos. Por
> ejemplo, si en base.css el right-zone tiene definido
> una anchura concreta, en mirrorbase.css no se puede
> "resetear" ese estilo.

Este tipo de conflictos entre reglas es algo habitual en el mecanismo de
las hojas de estilo CSS. Como su nombre indica la aplicación de las
reglas se basa en un algoritmo en cascada.

Es posible "desdefinir" estilos, o más bien sobreescribir sus valores,
teniendo en cuenta cuál es el algoritmo de ordenación en cascada.

En CSS2, el algoritmo para encontrar el valor de un par
elemento/propiedad es:

- Una vez localizadas todas las declaraciones que apliquen al par
elemento/propiedad (si no aplicara ninguna regla, se usa el valor
heredado), se ordenan del siguiente modo:

1. Por pesos: las declaraciones marcadas como "!important" tienen más
peso que el resto.

2. Por origen: las CSS de autor sobreescriben a las del usuario y estas
a las del UA (CSS por defecto del navegador).

3. Por la especificidad del selector:
   - Se cuenta el número de elementos en el selector (= a).
   - Se cuenta el número de atributos CLASS en el selector (= b).
   - El número de atributos ID en el selector (= c).

   El resultado de concatenar estos números (en un sistema numérico de
base grande) da como resultado la especificidad del selector.

4. Por el orden en que se especifican: para dos reglas con el mismo
peso, la última que se especifique tiene precedencia.


A partir de este algoritmo, verás que hay varias alternativas para
sobreescribir el valor de una regla y resolver tu problema.

Por ejemplo:

- Usar !important después de la declaración que quieras que prevalezca.
Esto en CSS1 no es recomendable por motivos de accesibilidad, ya que las
reglas "important" del autor tienen más peso que las reglas "important"
del usuario. Así que no se pueden aplicar los estilos personalizados de
los usuarios (altos contrastes, fuentes grandes, etc.) cuando el autor
recurre a marcar sus reglas como !important. Sin embargo, en CSS2 se ha
producido un cambio semántico y ahora la situación es la inversa. Así
que no hay problema.

- Emplear selectores más específicos. Un ID sobreescribe un CLASS. Por
ejemplo, según el paso (3) del algoritmo:

  .left-zone    {...} /* a=0 b=1 c=0; especificidad =  10 */
  #left-zone    {...} /* a=1 b=0 c=0; especificidad = 100 */

- Importar en las hojas de estilo específicas las hojas de estilo base.
Las CSS importadas se consideran anteriores que la CSS que la importa,
por lo que las reglas de esta tienen precedencia según el paso (4) del
algoritmo.

> Un saludo.
> Jose.

--
Rafael Luque, <rafael.luque at orange-soft dot com>


---------------------------------------------------------------------
Para eliminar la suscripción, mail a: mindfood-unsubscribe@xxxxxxxxxxxxxxx
Para comandos adicionales, mail a: mindfood-help@xxxxxxxxxxxxxxx