BigThink

Uno script jQuery per risolvere i problemi del Box Model

Internet Explorer HackUno dei principali problemi di compatibilità tra browser è l’interpretazione del cosiddetto box model.

Secondo gli standard dell W3C, la larghezza (width) o l’altezza (height) assegnata ad un box si riferisce solo all’area di contenuto del box. Il padding, i bordi ed i margini vengono sommati in un secondo momento per arrivare alla larghezza totale del box.

Il problema è che Internet Explorer — tanto per cambiare — non segue gli standard e, nelle versioni precedenti alla 6, usa un box model differente che presenta un bug. In questo modello, il padding e i bordi vengono considerati come parte di ogni “width” o “height” assegnata.

In assenza di bordi e padding, i due modelli concordano, tuttavia, se un box ha una larghezza assegnata e gli vengono aggiunti bordi e padding, il box model standard fa si che la larghezza complessiva del box aumenti, mentre nel modello di Internet Explorer l’area di contenuto comprende tutte le misure.

Questo comporta non pochi problemi nella creazione di layout crossbrowser.

Box Model

Le soluzioni a questo problema sono molteplici:

Tuttavia, quello che voglio presentarvi oggi è un metodo del tutto non intrusivo ed automatico: uno script in jQuery che risolve da solo tutti i problemi. Si tratta di jquery.fixBoxModel.js, scritto da Alessandro Coscia.

Installarlo è semplicissimo: scaricate e uploadate sul vostro server i seguenti file:

Inserite quindi questo codice tra i tag <head> della vostra pagina:

<script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="js/jquery.fixBoxModel.js" type="text/javascript"></script>
<script type="text/javascript">
var $j = jQuery.noConflict();
$j('document').ready(function () {
    $j('div').fixBoxModel();
});
</script>

Fatto ciò, non dovrete più preoccuparvi di alcun problema di compatibilità del box model.
Comodo, no?

Articolo scritto da Ghido

Fondatore di BigThink.it, si occupa dello sviluppo e del coordinamento dei progetti tecnologici. Specializzato nel Marketing su Facebook e nello sviluppo di Applicazioni Social, fa consulenza e formazione ad aziende ed agenzie.

Leggi anche...

CSS trick: div affiancati su FireFox

CSS trick: div affiancati su FireFox

Tutti quei programmatori o designer che sono soliti sviluppare layout tableless per i loro siti sanno bene come sia complicato — e a volte anche frustrante — creare una grafica che sia crossbrowser, perfettamente compatibile con tutti i maggiori browser in circolazione. Spesso ciò che funziona bene con un browser, si vede in modo ...
PNG trasparenti su IE6

PNG trasparenti su IE6

Ormai si sa, il browser che peggio supporta gli standard è sempre lui, Internet Explorer. Ancora ancora la versione 7, ma la 6 è davvero scandalosa. Oltre ai vari problemi legati alla visualizzazione dei CSS e via dicendo, è noto il bug delle PNG trasparenti. IE6 si rifiuta semplicemente di mostrarci la trasparenza, sostituendola ...
Come creare Dialog Box nelle tue Applicazioni Facebook IFrame

Come creare Dialog Box nelle tue Applicazioni Facebook IFrame

Uno degli aspetti positivi nello sviluppare Applicazioni Facebook FBML è che puoi usare FBJS, che mette a disposizione alcuni oggetti molto comodi come le Dialog. Grazie ad esse possiamo far comparire i classici popup in stile Facebook, con una riga di codice. Passando, però, a sviluppare Applicazioni IFRAME — e pare che Facebook stia ...
Criptare e decriptare un sorgente javascript

Criptare e decriptare un sorgente javascript

Curiosando tra i sorgenti javascript dei siti altrui, magari sperando di poter carpire qualche segreto sul funzionamento di un particolare effetto o tool, potreste esservi imbattuti in script con un incipit simile: eval(function(p,a,c,k,e,r){e=function(c) ... seguito da una serie di funzioni, stringhe e numeri apparentemente senza logica e messi alla rinfusa. Si tratta di codice javascript offuscato ...
7 Script FBJS per la tua Applicazione Facebook

7 Script FBJS per la tua Applicazione Facebook

Visto che la raccolta di Applicazioni Facebook Open Source è stata apprezzata, oggi ti propongo alcuni script FBJS che ho trovato in rete. FBJS è il Javascript riadattato da Facebook, che funziona sulle FBML Canvas Page. Un'interessante espansione è la libreria Animation, che permette di utilizzare diversi effetti di animazione. I primi 5 script della ...

1 Commento

  1. /script>

    var $j = jQuery.noConflict();
    $j(‘document’).ready(function(){
    $j(“#generale”).ScrollNews({
    inizialize : ‘true’,
    size : ’130px’,
    timeout : 2500,
    speed : ‘fast’,
    direction : ‘down’,
    onmouseover : ‘stop’
    });
    });

    /* */
    function MM_goToURL() { //v3.0
    var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
    for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
    }

    nonostante cambio la variante $ gli scirpt non coesistono..helpppppppppppppp

    16 agosto 2010, 20:56

1 Citazioni