Un billet court pour vous expliquer ce petit hack pour internet explorer 6 (oui ça existe encore…).
Petite remise en situation : j’étais en train de faire une application pour facebook. Je devais placer un boutton de formulaire avec image. Tout se passait bien avant que je teste sous ie6 (ie7/8, firefox, chrome, safari, opera : nickel au pixel près). Juste avant, internet explorer m’avait fait craquer par rapport à une méthode (encore en beta certe…) en FBJS (le javascript de Facebook) pour ajouter du texte. Juste pour les curieux cette méthode s’appelle setInnerXHTML().
Bref, IE me sortait par les yeux. J’ai donc employé les grands moyens!
Facebook rajoutant sa couche d’emmerdement, je ne pouvais pas utiliser les commentaires conditionnels en html. Donc vive la détection du user agent en php.
- $userAgent = $_SERVER['HTTP_USER_AGENT'];
- }
- else {
- }
Ensuite dehors l’image sur le boutton. Les utilisateurs de ie6 auront un boutton dégueulasse. Tandis que les autres utilisateurs auront un beau boutton (je vous épargne le CSS du boutton pour les utilisateurs CENSES).
Maintenant que nous avons créé nos bouttons nous devons les positionner. Grossierement je voulais les centrer dans un div.
Première étape, descendre le boutton :
J’ai utilisé la balise
. Oui le truc hyper déprécié et en dehors de toutes normes
(majuscule, balise non fermante…bref tout pour ie6).
Ensuite, et c’est là où réside la plus grande astuce, je devais décaller mon boutton vers la droite (vers le centre).
Donc ici, nous avons rajouté un texte blanc pour décaller le boutton. Surtout il est important de choisir un texte adapté au décallage souhaité (fuckie,fuckie6, voir f*ckie6 en ajustant le nombre d’étoile
). N’oubliez pas non plus de faire correspondre la couleur du texte avec votre couleur de background!
Voilà!!! Notre boutton est placé pile au bon endroit!!
Bon j’espère que vous avez compris que c’est une immense farce qui nous a bien fait marré au bureau (oui du coup on a vraiment utilisé ce « hack » :p). Plus sérieusement on pourrais imaginer de mettre un lien vers le téléchargement de chrome/ff/(ie7/8??)/opera … mais c’est moins drôle
A bientôt pour un nouveau VRAI tuto sur un sujet qui portera soit sur les sprites CSS ou les plugins jquery ou un concept de POO PHP ou les applications facebook. Que préfereriez vous?
User Responses
8 Responses and Counting...
Leave a Reply
[tuto jquery] drag ‘n drop avec sauvegarde automatique en base de données (2/2)
[tuto jquery] drag ‘n drop avec sauvegarde automatique en base de données (1/2)
[2 birthday] 2 ans aujourd'hui = 2 smashing book à gagner
[tuto web] cadre avec bordures extensibles valide xhtml/css
[tuto mashup] Google maps sur votre site : c'est possible! (version statique)
- Les clients français et le syndrome du verre à moitié vide 8 mars 2010 Julien
- Lever des fonds 5 mars 2010 Olivier Marone
- Why Google Pushed Buzz Out The Door Before It Was Ready 1 mars 2010 Erick Schonfeld
- Les levées de fonds dans les start-up : Des divergences d’intérêts entre entrepreneurs et investisseurs 1 mars 2010 Olivier Marone
- 11082 26 février 2010 (author unknown)




![[3615 mylife] Limoges, c’est fini. La suite?](http://antoine.guiral.info/wp-content/uploads/2010/02/stvincent.jpg)
![[facebook] Du nouveau sur la roadmap](http://antoine.guiral.info/wp-content/uploads/2010/02/facebook_logo.png)
![[facebook php] hiphop for php : une petite révolution dans le monde du développement web et de php](http://antoine.guiral.info/wp-content/uploads/2010/02/hiphop.jpg)
![[apple iPad] énorme succés de l’iPad à la dernière keynote d’apple](http://antoine.guiral.info/wp-content/uploads/2010/01/ipad.jpg)
![[google] google, le 51ème état?](http://antoine.guiral.info/wp-content/uploads/2010/01/51emeetat.jpg)
mai 27, 2009
On a bien rigolé c’est clair :’)
mai 27, 2009
lol ce craquage
mai 27, 2009
On trouve toujours une solution
mai 27, 2009
c’est notre force
D
mai 27, 2009
Il fallait mettre < font > au lieu de span !
IE comprend mieux
mai 27, 2009
Le design pattern Singleton, tu nous l’avez promis !
. Sinon les autres sujets m’intéressent aussi alors pourquoi pas 3 screencast !?…
Merci pour tous ces bons tutos !!;
mai 27, 2009
LOL
Perso, j’ai adopté la methode Liferay, simple et élégante pour se passer des hack CSS qui se base sur une faille ( !important…). Car le probleme de ses hack, c’est que ie7 en corrige, puis ie8… que la css n’est pas lisible…
Le serveur java/php detecte le navigateur, et ajoute une classe css correspondante au navigateur:
…
C’est tout pour le serveur.
Ensuite la CSS:
.monBouton
{
color: #123456;
border: 1px solid black;
}
.ie6 .monBouton
{
margin: 30px 0 0 40px;
}
Voila. Pas de hacks, la css sera facile a maintenir, et on peut meme gerer les problemes autres (bien plus rare) comme opera, webkit.
mai 27, 2009
Désolé, les balisent html ont été filtré
Le serveur ajoute :
html
header
/header
body class=ie6
…
/body
/html