Ich möchte die veränderbare Eigenschaft von a deaktivieren textarea
.
Derzeit kann ich die Größe ändern, textarea
indem ich auf die untere rechte Ecke von textarea
klicke und die Maus ziehe. Wie kann ich das deaktivieren?
Ich möchte die veränderbare Eigenschaft von a deaktivieren textarea
.
Derzeit kann ich die Größe ändern, textarea
indem ich auf die untere rechte Ecke von textarea
klicke und die Maus ziehe. Wie kann ich das deaktivieren?
Antworten:
Die folgende CSS-Regel deaktiviert das Größenänderungsverhalten für textarea
Elemente:
textarea {
resize: none;
}
Um es für einige (aber nicht alle) zu deaktivieren textarea
, gibt es mehrere Optionen .
So deaktivieren Sie ein bestimmtes Attribut textarea
mit dem name
Attribut foo
(dh <textarea name="foo"></textarea>
):
textarea[name=foo] {
resize: none;
}
Oder mit einem id
Attribut (dh <textarea id="foo"></textarea>
):
#foo {
resize: none;
}
Auf der W3C-Seite werden mögliche Werte für Größenänderungsbeschränkungen aufgeführt: keine, beide, horizontal, vertikal und erben:
textarea {
resize: vertical; /* user can resize vertically, but width is fixed */
}
Überprüfen Sie auf einer anständigen Kompatibilitätsseite , welche Browser diese Funktion derzeit unterstützen. Als Jon Hulka kommentiert hat, können die Abmessungen werden weiter eingeschränkt Verwendung max-Breite, Höhe max-min-Breite und Höhe in min-CSS.
Super wichtig zu wissen:
Diese Eigenschaft führt nur dann aus, wenn die Überlaufeigenschaft nicht sichtbar ist. Dies ist die Standardeinstellung für die meisten Elemente. Um dies zu verwenden, müssen Sie im Allgemeinen so etwas wie Überlauf einstellen: scroll;
Zitat von Sara Cope, http://css-tricks.com/almanac/properties/r/resize/
In CSS ...
textarea {
resize: none;
}
Ich habe zwei Dinge gefunden:
Zuerst
textarea{resize: none}
Dies ist ein CSS 3, das noch nicht veröffentlicht wurde und mit Firefox 4 (und höher), Chrome und Safari kompatibel ist .
Eine weitere Formatierungsfunktion besteht darin overflow: auto
, die rechte Bildlaufleiste unter Berücksichtigung des dir- Attributs zu entfernen .
Grundlegendes HTML
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<textarea style="overflow:auto;resize:none" rows="13" cols="20"></textarea>
</body>
</html>
Einige Browser
CSS 3 verfügt über eine neue Eigenschaft für UI-Elemente, mit der Sie dies tun können. Die Eigenschaft ist die Eigenschaft zum Ändern der Größe . Sie würden Ihrem Stylesheet also Folgendes hinzufügen, um die Größenänderung aller Textbereichselemente zu deaktivieren:
textarea { resize: none; }
Dies ist eine CSS 3-Eigenschaft. Verwenden Sie eine Kompatibilitätstabelle , um die Browserkompatibilität anzuzeigen.
Persönlich würde ich es sehr ärgerlich finden, die Größenänderung für Textbereichselemente deaktiviert zu haben. Dies ist eine dieser Situationen, in denen der Designer versucht, den Client des Benutzers zu "brechen". Wenn Ihr Design keinen größeren Textbereich aufnehmen kann, sollten Sie die Funktionsweise Ihres Designs überdenken. Jeder Benutzer kann textarea { resize: both !important; }
seinem Benutzer-Stylesheet hinzufügen , um Ihre Präferenzen zu überschreiben.
texarea
und am Ende dafür
<textarea style="resize:none" rows="10" placeholder="Enter Text" ></textarea>
Wenn Sie tiefe Unterstützung benötigen, können Sie eine Technik der alten Schule anwenden:
textarea {
max-width: /* desired fixed width */ px;
min-width: /* desired fixed width */ px;
min-height: /* desired fixed height */ px;
max-height: /* desired fixed height */ px;
}
resize:none
diese Lösung auch, um zu verhindern, dass der Griff in der unteren Ecke erscheint, was frustrierend nicht funktioniert.
Dies kann einfach in HTML erfolgen:
<textarea name="textinput" draggable="false"></textarea>
Das funktioniert bei mir. Der Standardwert ist true
für das draggable
Attribut.
Verwenden Sie die folgende CSS-Eigenschaft, um die Größenänderungseigenschaft zu deaktivieren:
resize: none;
Sie können dies entweder als Inline-Stileigenschaft wie folgt anwenden:
<textarea style="resize: none;"></textarea>
oder zwischen <style>...</style>
Element-Tags wie folgt:
textarea {
resize: none;
}
Sie verwenden einfach: resize: none;
in Ihrem CSS.
Die Eigenschaft resize gibt an, ob die Größe eines Elements vom Benutzer geändert werden kann.
Hinweis: Die Eigenschaft resize gilt für Elemente, deren berechneter Überlaufwert nicht "sichtbar" ist.
Ändern Sie auch die Größe, die derzeit in Internet Explorer nicht unterstützt wird.
Hier sind verschiedene Eigenschaften für die Größenänderung:
Keine Größenänderung:
textarea {
resize: none;
}
Ändern Sie die Größe in beide Richtungen (vertikal und horizontal):
textarea {
resize: both;
}
Vertikale Größenänderung:
textarea {
resize: vertical;
}
Horizontale Größenänderung:
textarea {
resize: horizontal;
}
Auch wenn Sie width
und height
in Ihrem CSS oder HTML haben, wird verhindert, dass die Größe Ihres Textbereichs geändert wird, mit einer breiteren Browserunterstützung.
CSS 3 kann dieses Problem lösen. Leider wird es heutzutage nur von 60% der verwendeten Browser unterstützt .
Für Internet Explorer und iOS können Sie die Größenänderung nicht deaktivieren, aber Sie können die textarea
Dimension einschränken, indem Sie das width
und festlegen height
.
/* One can also turn on/off specific axis. Defaults to both on. */
textarea { resize:vertical; } /* none|horizontal|vertical|both */
Sie können die Eigenschaft textarea einfach folgendermaßen deaktivieren :
textarea {
resize: none;
}
Verwenden Sie zum Deaktivieren der vertikalen oder horizontalen Größenänderung
resize: vertical;
oder
resize: horizontal;
Ich habe eine kleine Demo erstellt, um zu zeigen, wie die Größenänderung von Eigenschaften funktioniert. Ich hoffe, es wird Ihnen und anderen auch helfen.
.resizeable {
resize: both;
}
.noResizeable {
resize: none;
}
.resizeable_V {
resize: vertical;
}
.resizeable_H {
resize: horizontal;
}
<textarea class="resizeable" rows="5" cols="20" name="resizeable" title="This is Resizable.">
This is Resizable. Lorem ipsum, or lipsum as it is sometimes known, is dummy text used in laying out print, graphic or web designs. The passage is attributed to an unknown typesetter in the 15th century who is thought to have scrambled parts of Cicero's De Finibus Bonorum et Malorum for use in a type specimen book.
</textarea>
<textarea class="noResizeable" rows="5" title="This will not Resizable. " cols="20" name="resizeable">
This will not Resizable. Lorem ipsum, or lipsum as it is sometimes known, is dummy text used in laying out print, graphic or web designs. The passage is attributed to an unknown typesetter in the 15th century who is thought to have scrambled parts of Cicero's De Finibus Bonorum et Malorum for use in a type specimen book.
</textarea>
<textarea class="resizeable_V" title="This is Vertically Resizable." rows="5" cols="20" name="resizeable">
This is Vertically Resizable. Lorem ipsum, or lipsum as it is sometimes known, is dummy text used in laying out print, graphic or web designs. The passage is attributed to an unknown typesetter in the 15th century who is thought to have scrambled parts of Cicero's De Finibus Bonorum et Malorum for use in a type specimen book.
</textarea>
<textarea class="resizeable_H" title="This is Horizontally Resizable." rows="5" cols="20" name="resizeable">
This is Horizontally Resizable. Lorem ipsum, or lipsum as it is sometimes known, is dummy text used in laying out print, graphic or web designs. The passage is attributed to an unknown typesetter in the 15th century who is thought to have scrambled parts of Cicero's De Finibus Bonorum et Malorum for use in a type specimen book.
</textarea>
Mit @style
können Sie eine benutzerdefinierte Größe festlegen und die Größenänderungsfunktion deaktivieren (resize: none;)
.
@Html.TextAreaFor(model => model.YourProperty, new { @style = "width: 90%; height: 180px; resize: none;" })
Sie können es auch mit jQuery versuchen
$('textarea').css("resize", "none");
So deaktivieren Sie die Größenänderung für alle textarea
s:
textarea {
resize: none;
}
Um die Größenänderung für ein bestimmtes zu deaktivieren textarea
, fügen Sie ein Attribut name
oder ein hinzu id
und setzen Sie es auf etwas. In diesem Fall heißt esnoresize
<textarea name='noresize' id='noresize'> </textarea>
/* Using the attribute name */
textarea[name=noresize] {
resize: none;
}
/* Or using the id */
#noresize {
resize: none;
}
Durch Hinzufügen !important
funktioniert es:
width:325px !important; height:120px !important; outline:none !important;
outline
dient nur dazu, den blauen Umriss in bestimmten Browsern zu vermeiden.
!important
Attribut. Es ist bedeutungslos, die Breite und Höhe zu korrigieren, wenn das CSS-Attribut resize: none
die Größenänderungsfunktion entfernen kann
!important
böse?