Adaptation différent naviguateur

Suivre ce topic
Ce topic est suivi par : Personne...
Ce topic a été résolu
kinginventeur

kinginventeur Le 18 septembre 2016 à 17:27 (Édité le 25 janvier 2019 à 17:52)

Bonjour/Bonsoir à tous,

Alors j'ai un probléme avec les bordures , padding et autre.
Car enfete je code sous firefox mais lorsque je regarde mon site sur d'autre naviguateur ( chrome , explorer ) et bien les bordures sont buger et le padding aussi.

Comment faire dans mon css pour viser par exemple firefox tu fais comme sa >

google chrome comme sa >

explorer comme sa >

Car sur chrome je fais des bordures dynamique lorsqu'il est focus , donc les bordures ce met en radius et change de couleur mais l'ancienne bordure ( grise ) reste et on la vois en rectangle + la bordure en radius + l'autre couleur et sa fais vraiment moche :(

Merci de m'aider car c'est vraiment moche sous chrome et explorer ^^'
TheOldNoob

TheOldNoob Le 18 septembre 2016 à 23:20

Salut King,

Déjà, je t'invite a lire cette article d'Alsacreation sur les préfixes en CSS, c'est franchement très très chiant que les developpeur de navigateur n'arrive pas a s'accorder. Pour nous simple developpeur, c'est un calvaire.

Ensuite, pour ton problème, j'aimerais bien voir le css de ton bouton avec et sans :hover
kinginventeur

kinginventeur Le 18 septembre 2016 à 23:52

.connexion_right .input /* bouton */
    {
        display: block;
        width: 75px;
        margin: 5px auto 0px auto;
        background-color: #99AB17;
        border: 1px solid black;
        border-radius: 5px;
        box-shadow: 2px 2px 2px #99AB17;
        padding: 2px 5px;
        transition: all 0.5s ease;
    }

    .connexion_right input[type="text"]
    {
        padding: 3px 5px;
        transition: all 0.5s ease;
        border: 1px solid grey;
        border-radius: 5px;
        background-color: lightgrey;
        font-size: 15px;
    }

    .connexion_right input[type="password"]
    {
        padding: 3px 5px;
        transition: all 0.5s ease;
        border: 1px solid grey;
        border-radius: 5px;
        background-color: lightgrey;
        font-size: 15px;
    }

   .inscription .inputinsc /* Input type password et text */
    {
        background-color: lightgrey;
        border: 1px solid grey;
        padding: 3px 0px 3px 5px;
        transition: all 0.5s ease;
        border-radius: 5px;
        font-size: 16px;
    }

   .connexion_right .input:hover
    {
        cursor:pointer;
        background-color: #BE4607;
        box-shadow: 2px 2px 2px #BE4607;
        color: white;
        border-radius: 8px;
    }

   .connexion_right input[type="text"]:focus
    {
        background-color:#BE4607;
        border: 1px solid grey;
        color: white;
        border-radius: 8px;
    }

    .connexion_right input[type="password"]:focus
    {
        background-color:#BE4607;
        border: 1px solid grey;
        color: white;
        border-radius: 8px;
    }

   .inscription input[type="text"]:focus
    {
        border-radius: 8px;
        border: 2px solid green;
    }

    .inscription input[type="password"]:focus
    {
        border-radius: 8px;
        border: 2px solid green;
    }

Voila
kinginventeur

kinginventeur Le 18 septembre 2016 à 23:56

J'ai lu l'article et c'est vrai que c'est chiant de proceder comme sa :(
kinginventeur

kinginventeur Le 19 septembre 2016 à 01:10

Mais j'ai beau mettre -webkit-padding: ;  -webkit-border-radius: etc... Sa le prend pas en compte :(
kinginventeur

kinginventeur Le 19 septembre 2016 à 18:41

UP 😭
TheOldNoob

TheOldNoob Le 19 septembre 2016 à 19:50

Pour le padding, je pense qu'on a tous le même problème, entre chrome et Firefoxe, c'est jamais tout a fait pareil.

Je sais pas si il y a une solution pour ça, j'ai testé ton css sur les deux navigateur et j'arrive pas a retirer l'affichage du input derrière le hover.

Quand je developpe le front, je fait toujours des test sur chrome, firefoxe, sur deux ecran différent (un 23" et un 17") ainsi que sur ma tablette et mon smartphone. Ainsi je vois le coté responsive du site et si il s'adapte bien partout.
kinginventeur

kinginventeur Le 19 septembre 2016 à 20:24

Comment je peux faire pour faire un code CSS pour mozilla , un autre pour chrome ?
TheOldNoob

TheOldNoob Le 19 septembre 2016 à 20:35

Je dirais d'utilisé normalize ou modernizr

Tu trouvera toute les infos ici  :

http://www.supinfo.com/articles/single/806-adapter-son-site-aux-differents-navigateurs
kinginventeur

kinginventeur Le 19 septembre 2016 à 21:32

Ok , j'ai le fichier normalize mais je suis censer faire quoi de tout mon css ? Je comprend pas bien ( je suis débutant dans le domaine donc j'ai déjà un peux de mal a styliser mon site mais alors styliser tout les naviguateurs , je suis un peux perdu )

Tu peux me préciser ce que je dois faire avec normalize.css , et styles.css ? Les manip a faire car je comprend pas bien le code qui est dans normalize.css 😭
TheOldNoob

TheOldNoob Le 19 septembre 2016 à 21:51

Dans ton html, tu met normalize.css avant ton styles.css

Normalize, tu n'y touche pas, il remet a zero le navigateur.

Après, a toi de jouer avec ton css dans styles.css

Je suis pas certains que ça regles ton problèmes, mais très peu de gens reset leur css avant de commencé a codé
kinginventeur

kinginventeur Le 19 septembre 2016 à 22:10

body{
    margin: 0px;
    padding: 0px;
    background-color: black;
}

input{
    display: block;
    width: 300px;
    height: 35px;
    margin: 50px auto 0px auto;
    border: 3px solid red;
    border-radius: 50px;
    -moz-border-radius: 3px;
    background-color: lightgrey;
}
Je suis sous firefox et quand je met ce code , mes bordures sont toujours en radius 50 ? Pourquoi pas 3 ? Pourtant j'ai préciser que je voulais 3 px de radius pour firefox non ?
kinginventeur

kinginventeur Le 20 septembre 2016 à 00:21

C'est vraiment impossible de faire des prefix ?
TheOldNoob

TheOldNoob Le 20 septembre 2016 à 08:02

C'est juste que
-moz-border-radius: 3px;
n'est pas pris en compte, et qu'il prend es 50px que tu a mis juste avant.
Sachant que de nos jour, le border-radius est très bien gérer par firefoxe
kinginventeur

kinginventeur Le 20 septembre 2016 à 21:39

La ou je veux en venir , c'est que oui d’accord firefox est selon moi le meilleur naviguateur et c'est pour sa que je l'utilise mais moi ce que je veux c'est tester pour dire " firefox = 3 px radius " et tout le reste 50 px.

Quand je met juste -moz-border-radius ben il n'y a pas de radius ... Comme si le code n'existais pas . Pourquoi ?
Quand je met -webkit-border-radius: 3px; il ce passe rien la aussi , pourquoi ?
TheOldNoob

TheOldNoob Le 20 septembre 2016 à 22:18

Parce que les webkit ne sont pas des conditions,  mais des adaptation au cas ou certaines propriétés ne sont pas pris en compte par certains navigateur.
Tu peu testé chaque propriétés via le site http://caniuse.com/ qui doit devenir une référence pour tous codeur orienté front.

Sinon, j'ai trouvé se pdf fait par le cinéspace de beauvais (me demande pas pourquoi) qui est pas mal pour t'expliquer les hacks des feuilles de styles en fonction du navigateur.
http://www.cinespace-beauvais.com/fichier/pdf/feuilles-de-style-conditionnelles.pdf

Bonne lecture 😀
kinginventeur

kinginventeur Le 20 septembre 2016 à 22:47

Merci 😀
@media screen and (-webkit-min-device-pixel-ratio:0) {
    .connexion_right input[type="text"] { padding: 4px 6px; width: 160px;} /* Seulement Safari et Chrome */
    }
J'ai mis sa et sa fonctionne mais quand je veux mettre un :focus sa fonctionne pas , tu sais pourquoi ?
Car lorsque je met focus et je met border-radius: none;
Ben il y a toujours des border radius :(
kinginventeur

kinginventeur Le 20 septembre 2016 à 23:19

C'est bon j'ai trouver 😀 Suffit de faire
border-radius: 0px;
Et voila 😀 Ben un grand merci de ton aide ! 😋
TheOldNoob

TheOldNoob Le 20 septembre 2016 à 23:19

je comprend pas comment tu utilise ton media queries, surtout ta première ligne tu a trouvé ça ou? je connais pas du tout
kinginventeur

kinginventeur Le 20 septembre 2016 à 23:20

Mais une derniére petite question , sous chrome il y a le fais que lorsque l'on focus un input il y a une bordure bleu qui ce forme , comment la desactiver ? 😀
kinginventeur

kinginventeur Le 20 septembre 2016 à 23:21

lol ^^
@media screen and (-webkit-min-device-pixel-ratio:0) {    .connexion_right input[type="text"] { padding: 4px 6px; width: 160px;} /* Seulement Safari et Chrome */    }

Ce code je les trouver sur le lien que tu m'as envoyer voyons ^^ http://www.cinespace-beauvais.com/fichier/pdf/feuilles-de-style-conditionnelles.pdf

Et sa fonctionne niquel ^^
TheOldNoob

TheOldNoob Le 20 septembre 2016 à 23:28

Je regarderais ça, je connais pas du tout 😀

L'important c'est que ça fonctionne. Pour ton problème, c'est peut-être juste lié a chrome qui gère mal les inputs.
Comme chaque navigateur gère tout chacun de son coté, c'est un peu le bordel... Et je suis comme toi, je n'utilise que firefoxe, Chrome c'est moyen.
kinginventeur

kinginventeur Le 20 septembre 2016 à 23:31

On est d'accord aahaha 😋 Mais bon on a pas le choix de gerer chrome , explorer , etc... Bon ben j'ai adapter chrome a mon site manque plus que explorer mais c'est embetant ces bordures de chromes sur les input ... Bref 😀 Un grand merci à toi ^^
TheOldNoob

TheOldNoob Le 20 septembre 2016 à 23:46

laisse tombé IE,  a la limite vois pour edge, mais les utilisateurs de windows 10 le boude, ceux qui utilise encore IE sont une minorité négligeable vraiment pas interessente d'après les dernièer chiffres que j'ai vu sur l'utilisation des navigateurs.
que tu trouvera ici : http://www.zdnet.fr/actualites/chiffres-cles-les-navigateurs-internet-39381322.htm

IL faut en priorité codé pour les navigateur chrome, qui represente la grosse majorité des utilisateurs.
Profil introuvable

Profil introuvable Le 20 septembre 2016 à 23:55 (Édité le 20 septembre 2016 à 23:57)

Hello,

J'ai toujours coder les site web sur Internet Explorer, même avec l'apparition de Chrome, Firefox, Opera, Safari, Edge...etc. Je continue toujours à coder sur IE car je vais vous dire pourquoi :
J'ai fait la mauvaise expérience de coder sur un autre navigateur tel que Firefox ou Chrome... Mon 1er problème était les images... Lorsque je téléchargeais une image sur internet, elle avait comme extension.png et j'ai changer l'extension en .jpeg et je l'ai mis dans le code image.jpeg, résultats : tout les navigateurs affichaient l'image sauf IE car IE refusent que l'on modifie les extensions d'images... Et depuis que j'ai remis l'extension originale de l'image, c'est-à-dire .png et aussi dans le code image.png, IE l'affiche car c'est l'extension originale de l'image et c'est pour cela que maintenant j'utilise toujours IE pour coder des sites web... Puisque c'est grâce a IE que je saurais ce qui s'affichera exactement sur les autres navigateurs...