129 votes

Désactivez le redimensionnement de la zone de texte

Je suis en train d'essayer de désactiver le redimensionnement du textarea sur mon site ; en ce moment, j'utilise cette méthode :

.textarea {
    clear:left;
    min-width: 267px;
    max-width: 267px;
    min-height:150px;
    max-height:150px;
}

Je sais que ma méthode n'est pas correcte et je recherche une meilleure en JavaScript. Je suis débutant, donc la meilleure solution pour moi sera HTML5 ou jQuery.

280voto

feco Points 1499

Essayez ce CSS pour désactiver le redimensionnement

Le CSS pour désactiver le redimensionnement de tous les textareas ressemble à ceci:

textarea {
    resize: none;
}

Vous pourriez plutôt l'attribuer à un seul textarea par nom (où le textarea HTML est):

textarea[nom=foo] {
    resize: none;
}

Ou par id (où le textarea HTML est):

#foo {
    resize: none;
}

Extrait de: http://www.electrictoolbox.com/disable-textarea-resizing-safari-chrome/

7 votes

Au lieu de simplement mettre un lien vers une solution, vous devriez l'expliquer un peu ici. Beaucoup d'autres personnes qui verront cette question à l'avenir ne prendront pas la peine de cliquer sur un lien pour obtenir une réponse. Ajoutez des détails ici et je +1 votre réponse.

23voto

Rab Nawaz Points 15322

Cela fera votre travail

  textarea{
        resize:none;
    }

entrer la description de l'image ici

9voto

Oriol Points 421

Le CSS3 peut résoudre ce problème. Malheureusement, il n'est pris en charge que sur 60% des navigateurs utilisés de nos jours.

Pour IE et iOS, vous ne pouvez pas désactiver le redimensionnement, mais vous pouvez limiter les dimensions du textarea en définissant sa largeur et sa hauteur.

/* On peut également activer/désactiver un axe spécifique. Par défaut, les deux sont activés. */
textarea { resize:vertical; } /* none|horizontal|vertical|both */

Voir la démo

6voto

Kordrad Points 332

Cela fonctionne pour moi

Certain texte

3voto

Dee Points 51

Juste une option supplémentaire, si vous souhaitez rétablir le comportement par défaut pour tous les textarea de l'application, vous pourriez ajouter ce qui suit à votre CSS :

textarea:not([resize="true"]) {
  resize: none !important;
}

Et faites ce qui suit pour activer le redimensionnement là où vous le souhaitez :

Gardez à l'esprit que cette solution pourrait ne pas fonctionner sur tous les navigateurs que vous souhaitez prendre en charge. Vous pouvez consulter la liste de prise en charge pour resize ici : http://caniuse.com/#feat=css-resize

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X