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 :

Forcer le paramètre @page à null


Sujet :

CSS

  1. #1
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 395
    Points : 863
    Points
    863
    Par défaut Forcer le paramètre @page à null
    bonjour,


    Dans un site web qui publie des tableaux dynamiquement , j'ai besoin au cas par cas (suivant le nb de colonnes) de laisser l'utilisateur choisir si il imprime en portrait ou en paysage.
    problème : depuis qq temps, la navigateur détecte si une option @page a été spécifié et masque la partie des options qui permet à l'utilisateur de choisir entre portrait/paysage !!!

    Je souhaite donc ajouter en dernière ligne de code CSS (juste avant mon body) une instruction qui annule la propriété @page qui aurait été spécifiée dans les lignes avant ou dans les fichiers include d'avant mon <body>.

    comment faire ?

    En gros si un fichier include contient ça ou une ligne avant la mienne:
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
     @media print{@page {size: landscape}}

    bun je veux que ça devienne
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    @media print{@page {size:null }}
    afin que le navigateur comprenne qu'il n'y a plus de propriété @page spécifiée dans la CSS et qu'il m'affiche l'option portrait/paysage quand on clique "imprimer".
    Ci dessus j'ai volontairement écrit null mais ça n'existe pas !


    alors, comment faire ?

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 961
    Points : 44 133
    Points
    44 133
    Par défaut
    Bonjour,
    Ci dessus j'ai volontairement écrit null mais ça n'existe pas !
    je ne comprends pas ta logique pourquoi mettre une valeur que tu sais ne pas exister, autant lire la documentation pour se renseigner.
    Citation Envoyé par Page size: the size property
    Name: size
    For: @page
    Value: <length>{1,2} | auto | [ <page-size> || [ portrait | landscape ] ]
    Initial: auto
    Computed value: specified value, with <length>s made absolute.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @page {
      size: auto;
    }
    ... devrait faire l'affaire !

  3. #3
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 395
    Points : 863
    Points
    863
    Par défaut
    en fait je souhaite enlever une valeur afin que chrome/firefox détecte qu'elle n'est pas spécifiée et affiche l'option portrait/paysage dans la boite de dialogue imprimer.

    dans chaque page web, j'ai une accumulation de ligne comme ça :

    <link rel="stylesheet" type="text/css" href=.... qui sont indépendantes de ma volonté (une pour le profil utilisateur, une pour le profil framework..etc). forcément la dernière qui spécifie le paramètre SIZE aura le dessus sur les précédentes.
    je ne peux pas corriger ou annuler les déclarations de ces injections CSS par LINK.
    Par contre , je peux faire succéder ces lignes par une autre commande de Style. ça s'appelle de l'OVERRIDE CSS . vous connaissez ce principe ?
    En gros c'est le dernier paramétrage qui l'emporte sur les autres.

    Ainsi, si dans un fichier css (profil framework ou utilisateur), quelqu'un a déjà mis un mode Portrait dans SIZE, je veux que ce mode soit remplacée par "rien".

    En php, je ferai ainsi :
    c'est comme si on a
    fichier1.inc . php qui contient $a=1;,
    fichier2.inc . php qui contient $a=5;,
    et bien moi, derrière, je place :
    unset($a); pour désactiver l'existence de ce paramètre.

    Sauf qu'en CSS, je ne sais pas l'équivalent de UNSET.

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 961
    Points : 44 133
    Points
    44 133
    Par défaut
    Par contre , je peux faire succéder ces lignes par une autre commande de Style. ça s'appelle de l'OVERRIDE CSS . vous connaissez ce principe ?
    En gros c'est le dernier paramétrage qui l'emporte sur les autres.
    cela reste la base du CSS toutes nouvelles déclarations écrasent les précédentes (sauf cas de l'usage !important).

    Il te suffit donc de surcharger le CSS en ajoutant la règle qui va bien en dernier.

  5. #5
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 395
    Points : 863
    Points
    863
    Par défaut
    en gros et plus simple , je cherche juste la syntaxe pour surcharger le size par une valeur null.

    en php/js, la surcharge fonctionne par le remplacement d'une valeur null, mais en css, je ne sais pas. je vais donc tester auto, espérant qu'il annule les landscape/portrait précédents.

    merci.

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

Discussions similaires

  1. forcer checbox chargement page
    Par calitom dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/04/2008, 11h49
  2. WEBDEV : passage de paramètre : PAGE/serveur
    Par lediz dans le forum WebDev
    Réponses: 4
    Dernier message: 16/09/2007, 23h05
  3. [XSL] Calculer le nombre de paramètres non null
    Par tafkap dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 19/06/2007, 17h48
  4. [10] Forcer une nouvelle Page
    Par touhami dans le forum SAP Crystal Reports
    Réponses: 11
    Dernier message: 04/04/2007, 15h41
  5. [Portlet] Passage de paramètres page jsp
    Par babalastar dans le forum Portails
    Réponses: 3
    Dernier message: 29/01/2007, 12h05

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