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

Contribuez Discussion :

[FAQ] determiner la longueur d'un texte


Sujet :

Contribuez

  1. #1
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut [FAQ] determiner la longueur d'un texte
    question: comment caluler la longueur en pixels que prendra un texte à l'écran


    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <script type='text/javascript'>
     
    function init(){
    String.prototype.textWidth=function(police,taille){
            var container=document.createElement('div');
            container.style.visibility='hidden';
            container.style.width='1px';
            container.style.fontFamily=police
            container.style.fontSize=taille+'px'
            container.id="magicdiv";
            document.body.appendChild(container);
            document.getElementById('magicdiv').style.overflow="auto";
            document.getElementById('magicdiv').innerHTML=this;
            var longueur = document.getElementById('magicdiv').scrollWidth;
            document.getElementById('magicdiv').parentNode.removeChild(document.getElementById('magicdiv'))
            return longueur + ' px'
            }
    var tt='ldfsezrargdfg'        
    alert(tt.textWidth('arial',10))
    }
    </script>
    </head>
     
    <body onload='init()'>
    on passe la police et la taille en pixels de la police et il affiche la longueur du texte ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Une autre version affiné avec un display inline au lieu de l'overflow ...
    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
    16
    17
    18
    19
    20
    21
    22
    23
    <script type='text/javascript'>
     
    function init(){
    String.prototype.textWidth=function(police,taille){
    		var container=document.createElement('div');
    		container.style.visibility='hidden';
    		container.style.fontFamily=police
    		container.style.fontSize=taille+'px'
    		container.id="magicdiv";
    		container.style.display='inline';
    		document.body.appendChild(container);
    		document.getElementById('magicdiv').innerHTML=this;
    		var longueur = document.getElementById('magicdiv').offsetWidth;
    		document.getElementById('magicdiv').parentNode.removeChild(document.getElementById('magicdiv'))
    		return longueur + ' px'
    		}
    var tt='ldfsezrargdfgtretert'		
    alert(tt.textWidth('arial',12))
    }
    </script>
    </head>
     
    <body onload='init()'>
    testé sous IE et FFX
    vérifié en mesurant la taille effective à l'écran
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    tiens on pourrait en dériver un convertisseur de em, pts, cm, inch en pixels
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Citation Envoyé par SpaceFrog
    tiens on pourrait en dériver un convertisseur de em, pts, cm, inch en pixels
    cela ne dépend pas de la résolution de l'écran (généralement en px/cm) ?

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    si mais justement si tu détermines une taille en cm d'un div il te suffit d'en récupérer le offsetWidth qui te sera donné en pixels

    et du coup ça devrait te donner la résolution en prime !
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Citation Envoyé par SpaceFrog
    si mais justement si tu détermines une taille en cm d'un div il te suffit d'en récupérer le offsetWidth qui te sera donné en pixels

    et du coup ça devrait te donner la résolution en prime !
    là je m'incline

Discussions similaires

  1. Determiner la langue d'un texte automatiquement ?
    Par Bruno13 dans le forum Delphi
    Réponses: 1
    Dernier message: 23/10/2006, 15h51
  2. Tester la longueur d'une text area
    Par michaelbob dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/07/2006, 21h29
  3. [Flash] [FAQ] Comment écrire dans un fichier texte depuis Flash ?
    Par Demco dans le forum Contribuez
    Réponses: 0
    Dernier message: 08/06/2006, 14h15
  4. [Tk] Longueur d'un text box
    Par etranger dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 05/06/2006, 19h00
  5. Adapter longueur d'un texte
    Par eidole62 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 11/05/2005, 14h49

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