Visualizzazione dei risultati da 1 a 3 su 3

Discussione: IE6,Png e Filter

  1. #1

    IE6,Png e Filter

    Buon giorno ho il problema dell'opacità, diciamo dello sfondo generato da IE6 su tutte le png che utilizzo nel sito.
    Ora, la domanda è: posso, in un unica soluzione, adottare il filter per tutte le immagini png?
    Nel senso, vorrei non dover inserire il filter in ogni css e per ogni immagine.
    Ne metto uno all'interno del layout.css che carico inizialmente e buona notte.
    E' possibile?Se si potete dirmi cortesemente come?
    Grazie mille e buona giornata.

  2. #2
    ho adottato questo metodo, ma purtroppo niente da fare.
    codice:
    <style type="text/css">
    		/*questo scriptino serve per togliere lo sfondo delle png che compare solo su IE6*/
    		img, input, span { behavior: url("css/iepngfix.htc") }
    </style>
    
    
    
    <public:component>
    <public:attach event="onpropertychange" onevent="iePNGFix(0)" />
    
    <script type="text/javascript">
    
    // IE5.5+ PNG Alpha Fix v1.0
    // (c) 2004-2008 Angus Turnbull http://www.twinhelix.com
    
    // This is licensed under the GNU LGPL, version 2.1 or later.
    // For details, see: http://creativecommons.org/licenses/LGPL/2.1/
    
    
    // This must be a path to a blank image, relative to the HTML document(s).
    // In production use I suggest '/images/blank.gif' or similar. That's all!
    if (typeof blankImg == 'undefined') var blankImg = 'css/blank.gif';
    
    
    
    function filt(s, b)
    {
     var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
     var sM = (currentStyle.backgroundRepeat == 'no-repeat') ? 'crop' : 'scale';
     s = (s || '').replace(/\(/g, '%28').replace(/\)/g, '%29');
    
     if (s && !(/IMG|INPUT/.test(nodeName) && !b) &&
      currentStyle.width == 'auto' && currentStyle.height == 'auto')
     {
      style.width = offsetWidth + 'px';
      style.height = clientHeight + 'px';
      if (currentStyle.display == 'inline') style.display = 'inline-block';
     }
    
     if (filters[f])
     {
      filters[f].enabled = s ? true : false;
      if (s) with (filters[f]) { src = s }
     }
     else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="' + sM + '")';
    }
    
    function iePNGFix(init)
    {
     if (!/MSIE (5\.5|6)/.test(navigator.userAgent) || typeof filters == 'unknown') return;
     var evt = init ? { propertyName: 'src,background' } : event;
     var isSrc = /src/.test(evt.propertyName);
     var isBg = /background/.test(evt.propertyName);
     var isClass = !init &&
      ((this.className != this._png_class) && (this.className || this._png_class));
     if (!(isSrc || isBg || isClass)) return;
     this._png_class = this.className;
     var blank = blankImg.match(/([^\/]+)$/)[1];
    
     // Required for Whatever:hover support - erase any set BG if className changes.
     if (isClass && ((style.backgroundImage.indexOf('url(') == -1) ||
         (style.backgroundImage.indexOf(blank) > -1)))
     {
      setTimeout(function() { this.style.backgroundImage = '' }, 0);
      return;
     }
    
     if (isSrc && this.src && /IMG|INPUT/.test(nodeName))
     {
      if ((/\.png/i).test(src))
      {
       filt(src, 1);
       src = blankImg;
      }
      else if (src.indexOf(blank) == -1) filt();
     }
    
     var bgSrc = currentStyle.backgroundImage || style.backgroundImage;
     if ((bgSrc + this.src).indexOf(blank) == -1)
     {
      var bgPNG = bgSrc.match(/^url[("']+(.*\.png[^\)"']*)[\)"']+[^\)]*$/i);
    
      if (bgPNG)
      {
       style.backgroundImage = 'url("' + blankImg + '")';
       filt(bgPNG[1], 0);
       // Unclickable elements inside PNG backgrounds.
       var tags = ['a', 'input', 'select', 'textarea', 'iframe', 'object'],
        t = tags.length, tFix = [];
       while (t--)
       {
        var elms = all.tags(tags[t]), e = elms.length;
        while (e--) tFix.push(elms[e]);
       }
       var t = tFix.length;
       if (t && (/relative|absolute/i).test(currentStyle.position))
        alert('IEPNGFix: Children of positioned element are unclickable:\n\n<' +
         nodeName + (id && ' id=' + id) + '>');
        while (t--)
         if (!(/relative|absolute/i).test(tFix[t].currentStyle.position))
          tFix[t].style.position = 'relative';
      }
      else filt();
     }
    }
    
    iePNGFix(1);
    
    </script>
    </public:component>
    Ma purtroppo, non funziona.
    Per caso devo includere altri parametri in questo punto?
    codice:
    img, input, span etc etc... { behavior: url("css/iepngfix.htc") }
    Grazie mille...

  3. #3
    allora ho risolto utililzzando sempre lo stesso metodo, ma aggiungendo i tag ul, ol, li.
    Ok fino qui è ok...
    Adesso, quel file che vi ho postato cosi lungo mi restituisce questo problema:
    codice:
    IEPNGFix:Children of positioned element are unclickable
    <LI id=firstlist_key1>
    Sapete come ovviare?

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