28172 sujets

CSS et mise en forme, CSS3

Bonjour,

J'aurai besoin d'un petit coup de main s'il y a des experts MAC dans la salle Smiley smile

Voilà j'ai un souci sur un projet que je suis entrain de monter et c'est assez gênant car je ne suis pas experte Mac. Il faudrait que je trouve un moyen pour que ma css soit différente suivant si l'on utilise un PC ou un Mac.

Il suffirait juste de modifier un padding en fait pour que la navigation ne passe plus à la ligne sous MAC mais cela est-il possible ?

Par avance merci pour votre aide.
Amicalement,
Aurélie
Modifié par LiliBaby (04 Aug 2009 - 09:53)
C'est plus un problème de navigateur que de support je pense.

Sur quels navigateurs as-tu des problèmes ?
Peux-tu nous montrer un exemple en ligne ?
Bonjour,

Pour pouvoir servir un CSS différent pour mac il faudra utiliser php ou javascript.

En PHP, tu pourras utiliser : $_SERVER['HTTP_USER_AGENT'] pour détecter si le visiteur est sous mac, par exemple.
Skoua a écrit :
C'est plus un problème de navigateur que de support je pense.

Sur quels navigateurs as-tu des problèmes ?
Peux-tu nous montrer un exemple en ligne ?


Bonjour,

Le problème se pose sur Firefox et Safari, pour des raisons de confidentialité je ne peux vous montrer le produit fini mais voici des captures d'écran montrant ce bug.

Nickel Sous FF / IE7 et 6 sur PC ainsi que sur Safari
upload/15156-nickel-ff-.jpg

Bug sous Safari MAC
upload/15156-bug-safari.jpg

Bug sous Firefox MAC
upload/15156-bug-ff-mac.jpg
Ah ok c'est un problème de typos.

Comme l'a dit Laurie-Anne, tu peux utiliser la variable $_SERVER pour récupérer le user agent et charger le css qui convient.

A ta place j'adapterais mes tailles de polices pour qu'elles s'alignent comme il faut sous mac et pc en réduisant un peu leur taille.

Les deux solutions sont bonnes je pense.
J'ai déjà essayé de modifier les polices mais sous PC après ça fait vraiment pas terrible.
C'est une demande client donc il faut que ça soit vraiment comme sur pc... Smiley decu

Pour la technique en php je n'y connais absolument rien, je ne m'occupe uniquement que d'intégration html/css. Pourriez-vous m'indiquer des sites où ça serait bien expliqué ?

Merci à vous deux pour votre aide.
LiliBaby a écrit :
J'ai déjà essayé de modifier les polices mais sous PC après ça fait vraiment pas terrible.
C'est une demande client donc il faut que ça soit vraiment comme sur pc... Smiley decu

Pour la technique en php je n'y connais absolument rien, je ne m'occupe uniquement que d'intégration html/css. Pourriez-vous m'indiquer des sites où ça serait bien expliqué ?

Merci à vous deux pour votre aide.


Salut,

Voilà un exemple en php qui permet de détecter le système d'exploitation:


echo "Vous utilisez un systeme d'exploitation de type: ";
if (ereg("WinNT", $_SERVER["HTTP_USER_AGENT"])||ereg("Windows NT", $_SERVER["HTTP_USER_AGENT"])) {
    echo "Windows NT";
} else if (ereg("Windows 98", $_SERVER["HTTP_USER_AGENT"])||ereg("Win98", $_SERVER["HTTP_USER_AGENT"])) {
    echo "Windows 98";
} else if (ereg("Windows 95", $_SERVER["HTTP_USER_AGENT"])||ereg("Win95", $_SERVER["HTTP_USER_AGENT"])) {
    echo "Windows 95";
} else if (ereg("Macintosh", $_SERVER["HTTP_USER_AGENT"])||ereg("Mac_PowerPC", $_SERVER["HTTP_USER_AGENT"])) {
    echo "un OS pour Mac (avec un peu de chance il s'agit de Mac OS X)";
}


Si tu copies et colle ce code dans un fichier php en entourant le code par <?php et ?>, tu auras les messages compris dans les conditions. Au lieu de mettre les messages tu peux mettre des inclusions de feuilles de style correctives.

Pour tester tu peux simplement mettre :

echo $_SERVER["HTTP_USER_AGENT"];


Il va t'afficher quelque chose du genre :
* Mozilla/4.7 Smiley en (X11; I; Linux 2.2.5-15 i586)
* Mozilla/4.6 Smiley fr (WinNT; I)
* Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)
* Opera/5.02 (Windows 98; U) Smiley en
* Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)
* Mozilla/4.5 Smiley fr (Macintosh; I; PPC)

Les intitulés "ereg" dans le code plus haut permet la détection de chaines de caractères entre "" dans la variable $_SERVER["HTTP_USER_AGENT"], donc ereg(chaine à rechercher, chaine dans laquelle on recherche) si la chaine existe il va te retourner true sinon false.
Modifié par N-J (04 Aug 2009 - 11:34)