Visualizzazione dei risultati da 1 a 4 su 4

Discussione: incompatibilità

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    91

    incompatibilità

    ciao
    nel mio foglio style ho inserito il seguente codice:

    A.stra3{DISPLAY: block; text-align:left; padding: 0px 4px 0px 4px; width:auto; line-height:150%; height:100%; margin:1%; text-decoration:none;
    color:maroon; background-color:#FFFF99; border-left:4px solid #CC6600;}

    A.stra3:hover {TEXT-DECORATION: none; text-align:right; border-left:4px solid #333;}

    in pratica è un menu giallo e ha sinistra ha una barra marrone. Quando si passa sopra la voce interessata la scritta si sposta verso destra.

    con firefox funziona benissimo mentre con explore non va. Come posso modificarlo in modo che funzioni in tutti e due?

  2. #2
    Naturalmente, perchè IE supporta :hover solo per <a>.

    Per renderlo compatibile esiste uno script, da richiamare poi nel CSS con il comando
    codice:
    body{behavior:url(percorso file);}
    Ecco lo script:
    codice:
    <public:attach event="ondocumentready" onevent="CSSHover()" /><script>
    window.CSSHover=(function(){var m=/(^|\s)((([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active|focus))/i;var n=/(.*?)\:(hover|active|focus)/i;var o=/[^:]+:([a-z\-]+).*/i;var p=/(\.([a-z0-9_\-]+):[a-z]+)|(:[a-z]+)/gi;var q=/\.([a-z0-9_\-]*on(hover|active|focus))/i;var s=/msie (5|6|7)/i;var t=/backcompat/i;var u={index:0,list:['text-kashida','text-kashida-space','text-justify'],get:function(){return this.list[(this.index++)%this.list.length]}};var v=function(c){return c.replace(/-(.)/mg,function(a,b){return b.toUpperCase()})};var w={elements:[],callbacks:{},init:function(){if(!s.test(navigator.userAgent)&&!t.test(window.document.compatMode)){return}var a=window.document.styleSheets,l=a.length;for(var i=0;i<l;i++){this.parseStylesheet(a[i])}},parseStylesheet:function(a){if(a.imports){try{var b=a.imports;var l=b.length;for(var i=0;i<l;i++){this.parseStylesheet(a.imports[i])}}catch(securityException){}}try{var c=a.rules;var r=c.length;for(var j=0;j<r;j++){this.parseCSSRule(c[j],a)}}catch(someException){}},parseCSSRule:function(a,b){var c=a.selectorText;if(m.test(c)){var d=a.style.cssText;var e=n.exec(c)[1];var f=c.replace(o,'on$1');var g=c.replace(p,'.$2'+f);var h=q.exec(g)[1];var i=e+h;if(!this.callbacks[i]){var j=u.get();var k=v(j);b.addRule(e,j+':expression(CSSHover(this, "'+f+'", "'+h+'", "'+k+'"))');this.callbacks[i]=true}b.addRule(g,d)}},patch:function(a,b,c,d){try{var f=a.parentNode.currentStyle[d];a.style[d]=f}catch(e){a.runtimeStyle[d]=''}if(!a.csshover){a.csshover=[]}if(!a.csshover[c]){a.csshover[c]=true;var g=new CSSHoverElement(a,b,c);this.elements.push(g)}return b},unload:function(){try{var l=this.elements.length;for(var i=0;i<l;i++){this.elements[i].unload()}this.elements=[];this.callbacks={}}catch(e){}}};var x={onhover:{activator:'onmouseenter',deactivator:'onmouseleave'},onactive:{activator:'onmousedown',deactivator:'onmouseup'},onfocus:{activator:'onfocus',deactivator:'onblur'}};function CSSHoverElement(a,b,c){this.node=a;this.type=b;var d=new RegExp('(^|\\s)'+c+'(\\s|$)','g');this.activator=function(){a.className+=' '+c};this.deactivator=function(){a.className=a.className.replace(d,' ')};a.attachEvent(x[b].activator,this.activator);a.attachEvent(x[b].deactivator,this.deactivator)}CSSHoverElement.prototype={unload:function(){this.node.detachEvent(x[this.type].activator,this.activator);this.node.detachEvent(x[this.type].deactivator,this.deactivator);this.activator=null;this.deactivator=null;this.node=null;this.type=null}};window.attachEvent('onbeforeunload',function(){w.unload()});return function(a,b,c,d){if(a){return w.patch(a,b,c,d)}else{w.init()}}})();
    </script>
    Lo salvi in un file con estensione .htc e lo richiami dal CSS come ti ho detto prima.

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    91
    ok grazie provo subito e vediamo cosa combino in questi giorni con tutti sti codici sono un pò fusa.

    in body nel percorso file ci vogliono gli apici ' '?

    nel file htc devo solo salvare il codice che m'hai dato?

  4. #4
    Utente di HTML.it L'avatar di Prill
    Registrato dal
    Oct 2006
    Messaggi
    2,947
    Il tuo codice a una prova rapida funziona.
    @furbostandby, a.stra è una classe per i link, non c'è bisogno di un file htc

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.