Problema curioso: la trasparenza sui link (elementi <a>) non funziona normalmente sui browsers Microsoft.

Il perchè è presto detto: la trasparenza può essere attribuita solo ad un elemnto che occupa un certo spazio nella pagina e a cui possono essere attribuite le caratteristiche di altezza e lunghezza, insomma gli elementi di layout (div per esempio).

Per ovviare a questo problema, occorre impostare l’attributo zoom con valore 1 al link.

trasparenza su elemento a in hover:

  1.  
  2. .link:hover
  3. {
  4. background-color: Gray;
  5. filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70);
  6. zoom: 1;
  7. }

Sarà capitato spesso di trovare questo misterioso alert durante l’esecuzione di una pagina su IE6 o IE7: la pagina viene eseguita, mostra il suo contenuto e poi puff, scompare!

La spiegazione è quanto mai immediata: un javascript sta cercando di modificare il contenuto dell’oggetto padre rispetto alla chiamata della funzione javascript in questione.

Cosa significa?

  1. <body id="mybody">
  2. <div>
  3. <script language="javascript">
  4. document.getElementById(‘mybody’).innerHTML=‘Hello World!’;
  5. </script>
  6. </div>
  7. </body>

Un javascript dentro il div vuole modificare un attributo del padre (diretto o no che sia).

Come risolvere?

usare l’evento onload del body per modificare se stesso.