Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Guido Piazza
    Guest

    Tecnica di Tantek,qualche problema ?

    Ciao a tutti,ho messo in pratica da poco la Tecnica di Tantek per risolvere dei problemi di compatibilità tra ie5 e mozilla...

    Ho notato che se uso tale tecnica su di a classe,quelle che vengono dopo (nel file css esterno) subiscono cambiamenti e\o modifiche per la mancata lettura di qualche attributo..

    Spostando la classe modificata (con la tdt) in un posto diverso, ritorna tutto apposto...avete mai avuto problemi simili ?

    E' una cosa normale ? c'è modo per ovviare ?


    P.S
    L'errore lo ottengo solo su ie5 e non su gli altri browser..

    Grazie anticipatamente

  2. #2
    Utente di HTML.it L'avatar di iguane
    Registrato dal
    Sep 2001
    Messaggi
    1,633
    scusami ma cosa sarebbe la Tecnica di Tantek ?

    è tipo qualche mossa per non far soffocare le pagine quando inghiottono qualcosa?!?!

    Ma siamo su un forum di medici?!?!:master:




    ...I'm insane in the brain...

  3. #3
    Guido Piazza
    Guest
    Sinteticamente il box model di IE5 ha un bug nell'interpretazione della width,grazie alla tecnica di Tantek che sfrutta un bug di IE5 si può risolvere il problema..

    Per ulteriori info: http://www.constile.org/tutorial/IE5_box_model/



  4. #4
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Forse la cosa migliore potrebbe essere inserire un pixel in meno (-1, non 489 invece di 490 ) proprio per ovviare ai deficit di IE5, vedi sempre su constile a proposito del box model e del layout a tre colonne fisso.
    Io comunque preferisco realizzare un CSS specifico per IE5, poi lo carico dinamicamente grazie al PHP, da quando ho scoperto questa scappatoia va da dio.
    Il problema mi si ripresenta quando devo realizzare molti CSS, li ce ne vuole un set solo per IE (vedi blogger che ancora non funzia bene proprio con IE5).

    <?php
    function browser ($comp) {
    if(strstr($comp, "MSIE 7")) $browser = 'IE 7';
    else if(strstr($comp, "MSIE 6")) $browser = 'IE 6';
    else if(strstr($comp, "MSIE 5")) $browser = 'IE 5';
    else if(strstr($comp, "MSIE 4")) $browser = 'IE 4';
    else if(strstr($comp, "MSIE 3")) $browser = 'IE 3';
    else if(strstr($comp, "Netscape 7")) $browser = 'Netscape 7';
    else if(strstr($comp, "Netscape 6")) $browser = 'Netscape 6';
    else if(strstr($comp, "Netscape 5")) $browser = 'Netscape 5';
    else if(strstr($comp, "Netscape 4")) $browser = 'Netscape 4';
    else if(strstr($comp, "Netscape 3")) $browser = 'Netscape 3';
    else if(strstr($comp, "Gecko")) $browser = 'Mozilla';
    else if(strstr($comp, "Opera")) $browser = 'Opera';
    else if(strstr($comp, "Konqueror")) $browser = 'Konqueror';
    else if(strstr($comp, "Galeon")) $browser = 'Galeon';
    else if(strstr($comp, "Linx")) $browser = 'Linx';
    else $browser = 'Other';
    return $browser;
    }

    $agent = getenv("HTTP_USER_AGENT");
    if (preg_match("/Win/i", $agent)) {
    switch (browser($agent)){
    case "IE 6": $msg = "<style type='text/css' media='screen'>\n @import url('indexIE.css');\n</style>\n";
    //$msg .= "<script type='text/javascript' src='aumenta-fontIE.js' media='screen'></script>\n";
    break;
    case "IE 5": $msg = "<style type='text/css' media='screen'>\n @import url('indexIE.css');\n</style>\n";
    //$msg .= "<script type='text/javascript' src='aumenta-fontIE.js' media='screen'></script>\n";
    break;
    case "Netscape 6": $msg = "<style type='text/css' media='screen'>\n @import url('indexMOZ.css');\n</style>\n";
    //$msg .= "<script type='text/javascript' src='aumenta-fontMOZ.js' media='screen'></script>\n";
    break;
    case "Netscape 7": $msg = "<style type='text/css' media='screen'>\n @import url('indexMOZ.css');\n</style>\n";
    //$msg .= "<script type='text/javascript' src='aumenta-fontMOZ.js' media='screen'></script>\n";
    break;
    case "Mozilla": $msg = "<style type='text/css' media='screen'>\n @import url('indexMOZ.css');\n</style>\n";
    //$msg .= "<script type='text/javascript' src='aumenta-fontMOZ.js' media='screen'></script>\n";
    break;
    case "Opera": $msg = "<style type='text/css' media='screen'>\n @import url('indexMOZ.css');\n</style>\n";
    break;
    }
    } else if (preg_match("/Linux/i", $agent)) {
    switch (browser($agent)){
    case "Konqueror": $msg = "<style type='text/css' media='screen'>\n @import url('indexMOZ.css');\n</style>\n";
    //$msg .= "<script type='text/javascript' src='aumenta-fontMOZ.js' media='screen'></script>\n";
    break;
    case "Galeon": $msg = "<style type='text/css' media='screen'>\n @import url('indexMOZ.css');\n</style>\n";
    //$msg .= "<script type='text/javascript' src='aumenta-fontMOZ.js' media='screen'></script>\n";
    break;
    case "Netscape 6": $msg = "<style type='text/css' media='screen'>\n @import url('indexMOZ.css');\n</style>\n";
    //$msg .= "<script type='text/javascript' src='aumenta-fontMOZ.js' media='screen'></script>\n";
    break;
    case "Netscape 7": $msg = "<style type='text/css' media='screen'>\n @import url('indexMOZ.css');\n</style>\n";
    //$msg .= "<script type='text/javascript' src='aumenta-fontMOZ.js' media='screen'></script>\n";
    break;
    case "Mozilla": $msg = "<style type='text/css' media='screen'>\n @import url('indexMOZ.css');\n</style>\n";
    //$msg .= "<script type='text/javascript' src='aumenta-fontMOZ.js' media='screen'></script>\n";
    break;
    case "Opera": $msg = "<style type='text/css' media='screen'>\n @import url('indexMOZ.css');\n</style>\n";
    break;
    }
    } else if (preg_match("/Mac/i", $agent)) {
    switch (browser($agent)){
    case "IE 6": $msg = "<style type='text/css' media='screen'>\n @import url('indexIE.css');\n</style>\n";
    //$msg .= "<script type='text/javascript' src='aumenta-fontIE.js' media='screen'></script>\n";
    break;
    case "IE 5": $msg = "<style type='text/css' media='screen'>\n @import url('indexIE.css');\n</style>\n";
    //$msg .= "<script type='text/javascript' src='aumenta-fontIE.js' media='screen'></script>\n";
    break;
    case "Netscape 6": $msg = "<style type='text/css' media='screen'>\n @import url('indexMOZ.css');\n</style>\n";
    //$msg .= "<script type='text/javascript' src='aumenta-fontMOZ.js' media='screen'></script>\n";
    break;
    case "Netscape 7": $msg = "<style type='text/css' media='screen'>\n @import url('indexMOZ.css');\n</style>\n";
    //$msg .= "<script type='text/javascript' src='aumenta-fontMOZ.js' media='screen'></script>\n";
    break;
    case "Mozilla": $msg = "<style type='text/css' media='screen'>\n @import url('indexMOZ.css');\n</style>\n";
    //$msg .= "<script type='text/javascript' src='aumenta-fontMOZ.js' media='screen'></script>\n";
    break;
    case "Opera": $msg = "<style type='text/css' media='screen'>\n @import url('indexMOZ.css');\n</style>\n";
    break;
    }
    }
    echo ("$msg\n");
    ?>
    Sembra lungo e complicato, ma praticamente è semplice semplice.
    Be qui l'ho copiato al volo da un mio sito senza edulcorarlo, ma dovrebbe essere chiaro lo stesso.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    633
    Originariamente inviato da Marcolino's
    Io comunque preferisco realizzare un CSS specifico per IE5, poi lo carico dinamicamente
    anche secondo me è la soluzione più indolore (anche lato client).
    Per carità, il Tantek è una furbata, ma basarsi su questi bug non è mai il massimo. Mi pare esistano altre tecniche che permettano di nascondere i CSS anche in IE5, nello stesso articolo che hai citato ci dovrebbe essere il link.

    ciauz
    Alcuni miei articoli in PRO.HTML.IT: JavaScript | DHTML | DOM
    Sviluppo : wedev | forum

  6. #6
    esistono anche altre tecniche, è la più universale è valida è quella di sfruttare i genitori e i figli degli elementi.

    infatti se al posto di dare un margin al figlio si da un padding al padre non si ha il box modeled se ben strutturato
    Luca Mascaro
    Usability e Accessibility Engineer, User Interface Designer/Engineer
    NOW BLOG
    W3C HTML & WCAG WG Member for IWA/HWG

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.