Visualizzazione dei risultati da 1 a 3 su 3

Discussione: png e behavior

  1. #1

    png e behavior

    Ciao a tutti.

    Lo so che ritorno sull'argomento per l'nesima volta, ma non riesco ad uscirne fuori.

    Ho usato "behavior" per risolvere il problema della trasparenze delle png24 in IE6.

    Ho inserito nel CSS:

    codice:
    img, table, div { behavior: url(pngbehavior.htc);}
    Dove il mio file "pngbehavior.htc" ha il seguente codice:

    codice:
    <public:component>
    <public:attach event="onpropertychange" onevent="doFix()" />
    
    <script type="text/javascript">
    
    
    if (typeof blankImg == 'undefined') var blankImg = 'blank.gif';
    
    
    var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
    
    function filt(s, m)
    {
     if (filters[f])
     {
      filters[f].enabled = s ? true : false;
      if (s) with (filters[f]) { src = s; sizingMethod = m }
     }
     else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
    }
    
    function doFix()
    {
     // Assume IE7 is OK.
     if (!/MSIE (5\.5|6\.)/.test(navigator.userAgent) ||
      (event && !/(background|src)/.test(event.propertyName))) return;
    
     var bgImg = currentStyle.backgroundImage || style.backgroundImage;
    
     if (tagName == 'IMG')
     {
      if ((/\.png$/i).test(src))
      {
       if (currentStyle.width == 'auto' && currentStyle.height == 'auto')
        style.width = offsetWidth + 'px';
       filt(src, 'scale');
       src = blankImg;
      }
      else if (src.indexOf(blankImg) < 0) filt();
     }
     else if (bgImg && bgImg != 'none')
     {
      if (bgImg.match(/^url[("']+(.*\.png)[)"']+$/i))
      {
       var s = RegExp.$1;
       if (currentStyle.width == 'auto' && currentStyle.height == 'auto')
        style.width = offsetWidth + 'px';
       style.backgroundImage = 'none';
       filt(s, 'crop');
       // IE link fix.
       for (var n = 0; n < childNodes.length; n++)
        if (childNodes[n].style) childNodes[n].style.position = 'relative';
      }
      else filt();
     }
    }
    
    doFix();
    
    </script>
    </public:component>
    Ora la mia immagine (png) sulla head è visualizzata correttamente, lo sfondo della mia tabella è visualizzato correttamente, ma lo sfonfo del mio div
    codice:
    div#contenuto{
    padding: 20px;
    background: transparent url(image.png) repeat-y;
    }
    è visualizzato correttamente ma non viene ripetuto sulla y.

    Perchè????????????

    Grazie a tutti!!
    Il Mondo è Bello perché è Avariato !!!

  2. #2

  3. #3
    Quindi, l'unica soluzione è creare una png di almeno 2/3 mila pixel... VVoVe:
    Il Mondo è Bello perché è Avariato !!!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.