IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Conflit entre media "screen" et "mobile"


Sujet :

CSS

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2013
    Messages : 43
    Points : 26
    Points
    26
    Par défaut Conflit entre media "screen" et "mobile"
    Bonjour !!

    Je réalise un site, et la version "screen" et correcte et fonctionne bien. Il faut maintenant que je l'adapte en version mobile et j'ai choisi de faire ça avec deux feuilles de styles différentes.

    Mais en fait j'ai l'impression que ma feuille de style "screen" perturbe ma feuille de style "mobile"... Je les ai déclaré comme ça :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <meta name="viewport" content="width=900px"/>
    <link rel="stylesheet" media="screen and (min-width:900px)" type="text/css" href="css/css-screen.css" />
    <link rel="stylesheet" media="screen and (max-width: 900px)" type="text/css" href="css/css-mobile.css" />

    J'ai résolu certains trucs quand même mais y a encore des choses qui ne fonctionnent pas...

    Est-il possible d'annuler les propriétés css "screen" pour ma version mobile ?

    Je voudrais que l'affichage mobile soit "brut", c'est à dire partir de ZERO ???

    Sinon, pour être claire je veux qu'un SELECT soit différent pour la version mobile et écran : eh bien là rien à faire, mon css ordi domine !!

    En dernier recours, j'ai fait ça :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <select id="mobile" class="input-recherche"  name="requeteSpecialite" onsubmit="verifSpecialite(this)";>
    .....

    et je tente d'attribuer l'id pour la css mobile et la class pour la version ordi... Mais ça ne fonctionne pas...

    Voici les codes css :

    Mobile :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [id="mobile"] {
        width:800px;
        height:100px;
        font-size:200%;
    }
    Screen ordi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    .input-recherche {
        display:block;
        height:42px;
        width:300px;
        border-radius:12px;
        border:1px solid;
        border-color:#989797;
        background-color:#dcdbdb;
        padding-left:20px;
        font-family:arial;
        font-size:14px;
        font-style:italic;
        vertical-align:20px;
        margin-right:10px;
    }
    Mon but : que la taille version mobile soit celle définie dans la css mobile...

    UN VRAI CASSE TETE !!!

    Qui a une idée ???

    PS : en plus j'ai plus trop de temps pour solutionner tout ça... SNNIIIFFF !!!

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2014
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2014
    Messages : 87
    Points : 84
    Points
    84
    Par défaut
    Bonsoir,
    je crois que pour mobile c'est faut éviter screen . Screen c'est pour les écrans "classiques".

    ça serai + ceci à insérer dns la feuille CSS:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @media all and (max-device-width: 480px)
    {
    ici quelques réglages pour adapter le site pour Tel mobile
    }
    Les Tel mobiles on un comportement par défaut d'afficher le site 1200px (en comportement), donc pour éviter ceci, il fut ajouter dans dans ta balise meta HTML:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta name="viewport" content="width=device-width,initial-scale=1" />
    c'est comme ceci que je procède de mon coté.
    bonne chance

  3. #3
    Nouveau membre du Club

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 13
    Points : 31
    Points
    31
    Par défaut détecter l'appareil en php
    Perso, j'utilise une classe en php qui détecte le type d'appareil (phone,tablet,pc), et dans le <head> j'inclus ou pas le style associé :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    require_once 'class-mobile-detect.php'; $detect = new Mobile_Detect;
    $deviceType=($detect->isMobile()?($detect->isTablet()?'tablet':'phone'):'computer');
    $bpc=($detect->isMobile()?($detect->isTablet()?0:0):1);
    $bphone=($detect->isMobile()?($detect->isTablet()?0:1):0);
    $btablet=($detect->isMobile()?($detect->isTablet()?1:0):0);
     
    $head.='<link rel="stylesheet" type="text/css" href="Reset.css" media="screen">';     // base pour tous les sites
    $head.=iif($bphone==0,'<link rel="stylesheet" type="text/css" href="Style.css" media="screen">','');  // style du site en question (avec mediaqueries)
    $head.=iif($bphone==1,'<link rel="stylesheet" type="text/css" href="StylePhone.css" media="screen">',''); // style pour phone (avec mediaqueries aussi)
    $head.='<link rel="stylesheet" type="text/css" href="Plug.css" media="all">';   // styles de tous les plugins 
    $head.=iif($bphone==0,'<link rel="stylesheet" type="text/css" href="Print.css" media="print">','');  //  et pour imprimer (rarement utilisé, pourtant c'est important)
    echo $head;

    le but de ceci est de n'avoir qu'un contenu pour google, pas de redirections pour mobiles

    Mobile Detect se trouve ici : http://mobiledetect.net/

  4. #4
    Nouveau membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2013
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Ah super !!
    merci pour l'info !! je ne connaissais pas !!
    je l'utiliserai pour mes projets futurs

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo