Oui, type="text"c'est ce que je voulais dire, je pense que je viens d'écrire ça à la hâte
Michael Garrison
36
Votre balisage:
<inputtype="text"class="resizedTextbox"/>
Le CSS:
.resizedTextbox {width:100px; height:20px}
Gardez à l'esprit que la taille de la zone de texte est une «victime» du modèle de boîte W3C . Ce que je veux dire par victime, c'est que la hauteur et la largeur d'une zone de texte sont la somme des propriétés hauteur / largeur affectées ci-dessus, en plus de la hauteur / largeur du rembourrage et de la largeur de la bordure. Pour cette raison, vos zones de texte seront de tailles légèrement différentes dans différents navigateurs en fonction du remplissage par défaut dans différents navigateurs. Bien que différents navigateurs aient tendance à définir un remplissage différent pour les zones de texte, la plupart des feuilles de style réinitialisées n'ont pas tendance à inclure des <input />balises dans leurs feuilles de réinitialisation, c'est donc quelque chose à garder à l'esprit.
Vous pouvez standardiser cela en définissant votre propre remplissage. Voici votre CSS avec un remplissage spécifié, donc la zone de texte a la même apparence dans tous les navigateurs:
J'ai ajouté un rembourrage de 1 pixel car certains navigateurs ont tendance à rendre la zone de texte trop remplie si le remplissage est de 0px. En fonction de votre conception, vous voudrez peut-être ajouter encore plus de remplissage, mais il est fortement recommandé de définir le remplissage vous-même, sinon vous laisserez à différents navigateurs le soin de décider par eux-mêmes. Pour encore plus de cohérence entre les navigateurs, vous devez également définir la bordure vous-même.
Donc, vous sélectionnez d'abord votre élément avec des attributs (regardez le premier exemple) ou des classes (regardez le dernier exemple). Plus tard, vous attribuez des valeurs de hauteur et de largeur à votre élément.
Non, cela ne fonctionnera pas souvent, par exemple Chrome actuel, le navigateur le plus populaire, vers 2015
Tom Stickel
3
FYI quiconque lira ceci à l'avenir, fonctionne bien dans Chrome 58 vers la mi-2017.
Rick
2
Si vous ne souhaitez pas utiliser la méthode de classe, vous pouvez utiliser la méthode parent-enfant pour apporter des modifications dans la zone de texte.
Pour par exemple. J'ai créé un formulaire dans mon formulaire div.
Code HTML:
<divclass="form"><textareaname="message"rows="10"cols="30">Describe your project in detail.</textarea></div>
De cette façon, il reste indépendant de la taille du texte définie pour la zone de texte. Vous augmentez la hauteur en utilisant plutôt un rembourrage.
input
redimensionnera également d'autresinput
contrôles comme les boutons<input type="textbox" />
et une zone de texte est<textarea></textarea>
qu'il y a une différence.type="text"
? Impossible de trouvertype="textbox"
défini nulle part: w3.org/TR/html5/forms.html#states-of-the-type-attributetype="text"
c'est ce que je voulais dire, je pense que je viens d'écrire ça à la hâteVotre balisage:
Le CSS:
Gardez à l'esprit que la taille de la zone de texte est une «victime» du modèle de boîte W3C . Ce que je veux dire par victime, c'est que la hauteur et la largeur d'une zone de texte sont la somme des propriétés hauteur / largeur affectées ci-dessus, en plus de la hauteur / largeur du rembourrage et de la largeur de la bordure. Pour cette raison, vos zones de texte seront de tailles légèrement différentes dans différents navigateurs en fonction du remplissage par défaut dans différents navigateurs. Bien que différents navigateurs aient tendance à définir un remplissage différent pour les zones de texte, la plupart des feuilles de style réinitialisées n'ont pas tendance à inclure des
<input />
balises dans leurs feuilles de réinitialisation, c'est donc quelque chose à garder à l'esprit.Vous pouvez standardiser cela en définissant votre propre remplissage. Voici votre CSS avec un remplissage spécifié, donc la zone de texte a la même apparence dans tous les navigateurs:
J'ai ajouté un rembourrage de 1 pixel car certains navigateurs ont tendance à rendre la zone de texte trop remplie si le remplissage est de 0px. En fonction de votre conception, vous voudrez peut-être ajouter encore plus de remplissage, mais il est fortement recommandé de définir le remplissage vous-même, sinon vous laisserez à différents navigateurs le soin de décider par eux-mêmes. Pour encore plus de cohérence entre les navigateurs, vous devez également définir la bordure vous-même.
la source
la source
Votre code de zone de texte:
Votre code CSS:
ou
Donc, vous sélectionnez d'abord votre élément avec des attributs (regardez le premier exemple) ou des classes (regardez le dernier exemple). Plus tard, vous attribuez des valeurs de hauteur et de largeur à votre élément.
la source
Cela fonctionne pour moi dans IE 10 et FF 23
la source
Si vous ne souhaitez pas utiliser la méthode de classe, vous pouvez utiliser la méthode parent-enfant pour apporter des modifications dans la zone de texte.
Pour par exemple. J'ai créé un formulaire dans mon formulaire div.
Code HTML:
Maintenant, le code CSS sera comme:
Problème résolu.
la source
Attention! L'attribut width est découpé par l'attribut max-width. Alors j'ai utilisé ...
la source
Essayer:
C'est ainsi qu'il reste indépendant de la taille du texte définie pour la zone de texte. Vous augmentez la hauteur en utilisant plutôt un rembourrage
la source
Essayez ce code:
De cette façon, il reste indépendant de la taille du texte définie pour la zone de texte. Vous augmentez la hauteur en utilisant plutôt un rembourrage.
la source
Les éléments peuvent être dimensionnés avec les attributs
height
etwidth
.la source
Vous pouvez rendre la largeur d'entrée dépendante par rapport à la largeur du conteneur.
la source