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

Bibliothèques & Frameworks Discussion :

Padding intempestif quand <div contenteditable="true"> [CKEditor]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 17
    Points : 16
    Points
    16
    Par défaut Padding intempestif quand <div contenteditable="true">
    Salut à tous,

    J'expérimente un souci désagréable avec CKEditor, que je viens de découvrir.

    J'ai un div dont on peut éditer le contenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div contenteditable="true">Hello world</div>
    Grâce à CKEditor, lorsque je clique sur le <div>, il est éditable avec l'éditeur de texte, c'est nickel.

    Sauf que je remarque qu'une marge intérieure (padding quoi) intempestive apparaît dans mon <div>.

    Ca ne le fait pas si j'enlève l'attribut contenteditable. Et ça ne le fait pas non plus s'il s'agit d'autre chose qu'un <div>. Un <p> par exemple n'aura pas de marge intempestive.

    Je suis certain que cela vient de CKEditor puisque si je désactive le AutoInline (qui sert à rendre tous les contenteditable="true" éditables par CKEditor), la marge disparaît.

    Voici un code pour que vous puissiez tester, si l'envie vous prend :
    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
    <!DOCTYPE html>
    <html lang="fr">
    	<head>
    		<title>Titre</title>
    		<style>
    		div[contenteditable="true"]
    		{
    			border: 1px dotted grey;
    		}
    		</style>
    	</head>
    	<body>
    		<div contenteditable="true">
    			Hello world
    		</div>
    		<script type="text/javascript" src="http://localhost/uv/script/ckeditor/standard/ckeditor.js"></script>
    	</body>
    </html>
    Vous verrez une marge intérieure dans le <div>.

    Maintenant, rajoutez juste avant le </body> ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script type="text/javascript">
    CKEDITOR.disableAutoInline = true;
    </script>
    Vous verrez qu'il n'y a plus de marge dans le <div>. Preuve que le problème vient de CKEditor.

    Quelqu'un aurait une piste ?

    J'en doute puisque ça touche directement l'éditeur, mais sait-on jamais.

    Merci bien d'avance !

    PS : Le problème apparaît sous Google Chrome et Firefox, et probablement d'autres.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    Vous verrez qu'il n'y a plus de marge dans le <div>. Preuve que le problème vient de CKEditor.
    Avec l'utilisation d'une balise support de type DIV, en mode normal, chaque ligne est mise dans une balise P qui par défaut possède une marge.

    Pour supprimer celle ci il te suffit de mettre le CSS suivant
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    div[contenteditable="true"] p{
      margin:0;
    }
    en mode CKEDITOR.disableAutoInline = true;, c'est la balise support qui devient éditable.

    Quelqu'un aurait une piste ?

    J'en doute puisque ça touche directement l'éditeur, mais sait-on jamais.
    l'optimisme a du bon

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    Oh trop bon !

    Excellent, merci infiniment !

    Citation Envoyé par NoSmoking Voir le message
    l'optimisme a du bon
    Je croyais à un "bug" de CKEditor, donc je ne pensais pas obtenir de réponse, mais finalement comme tu l'expliques c'est très logique. J'ai bien fait de poster.

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

Discussions similaires

  1. récupérer code textarea via div contenteditable
    Par ctrl+z dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 06/01/2009, 08h33
  2. Bordure invisible quand DIV vide
    Par SheenaRingo dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 06/11/2008, 23h25
  3. Desactiver balise P d'un div contenteditable
    Par drayogo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/09/2008, 22h31
  4. Réponses: 1
    Dernier message: 22/04/2008, 21h20
  5. div contenteditable : recuperer sa valeur ?
    Par zax-tfh dans le forum Langage
    Réponses: 2
    Dernier message: 05/02/2006, 14h06

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