Jump to content

pourquoi sur different browser y at'il des erreurs


Recommended Posts

bonjour

 

pourquoi sur les different navigateur (IE,firefox,chrome,safari,opera) y'a t'il autant de probleme d'ingretion css

un exemple

un lien href avec un titre et dans le css ,un background

 

j'aurais beau mettre un text-align:center et ben sur firefox c'est bon, sur ie decalé vers le bas ...ect

 

alors ne me dite pas , ie c'est de la merde ...

c'est juste qu'il faut que ca fonctionne

 

faut il forcer tel ou tel truc ?

Link to comment
Share on other sites

plusieur solutions :

 

1) tu fait un 'browser sniffer' (acceptable pour .css, mais a banir pour javascript), et tu mudifies tes classes suivant cela

un exemple etant :

 

var css_browser_selector = function() {

var ua=navigator.userAgent.toLowerCase(),

is=function(t){return ua.indexOf(t) != -1;},

h=document.getElementsByTagName('html')[0],

b=(!(/opera|webtv/i.test(ua))&&/msie (\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?'gecko ff2':is('firefox/3')?'gecko ff3':is('gecko/')?'gecko':is('opera/9')?'opera opera9':/opera (\d)/.test(ua)?'opera opera'+RegExp.$1:is('konqueror')?'konqueror':is('chrome')?'chrome webkit safari':is('applewebkit/')?'webkit safari':is('mozilla/')?'gecko':'',

os=(is('x11')||is('linux'))?' linux':is('mac')?' mac':is('win')?' win':'';

var c=b+os+' js';

h.className ='';

h.className += h.className?' '+c:c;

var getbrower = b.split(' ');

brower = getbrower[0];

fullBrower = getbrower[0] + ' ' + getbrower[1];

}();

 

et dans la .css tu vas avoir :

 

.my-class {height:25px;}

.ie6 .my-class {height:23px;}

.ff .my-class {height:33px;}

 

2) Tu effaces simplement ton actuel .css sheet, car si tu as ce genre de problemes il signifie simplement la .css n'est pas conformes. Et tu la refait en suivant les recommandations (www.w3schools.com/). Mon script est en fait necessaire que pour 1 element, les listes (<ul <li ) si comme moi tu desires avoir en background une bullet qui n'est pas standard et cela sans avoir un element a l'interieur du <li; comme cela n'est pas standart a 100% tu as une difference ente IE et les autres. Pour tout autre classe, les differents browsers sont egaux.

 

Si maintenant tu ne te sent pas capable de refaire la .css sheet, envoie moi un PM avec tes specifications et je transmettrai un devis (le script est gatuit, mais soi certain que cela est la MAUVAISE maniere de mainenir ton site, disons que c'est une mesure provisoire, comme donner de l'aspirine pour une jambe cassee).

 

Eric

Link to comment
Share on other sites

la closure var css_browser_selector = function() {....} est (et ne doit etre) qu'une mesure provisoire.

 

Sniffer le browser est contre toutes les regles, est dangereux car incertain, denottes simplement que les classes css ont ete mal faites.

 

Donc cette closure est une solution provisoire, tu dois refaire ta css, ou la confier a un pro qui connaisse son boulot (moi ou un autre, ce n'est le probleme).

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...