De volgende CSS regel schakelt het resizing gedrag uit voor textarea
elementen:
textarea {
resize: none;
}
Om het voor sommige (maar niet alle) textarea
s uit te schakelen, zijn er een paar opties.
Om een specifieke textarea
uit te schakelen met het name
attribuut ingesteld op foo
(d.w.z., <textarea name="foo"></textarea>
):
textarea[name=foo] {
resize: none;
}
Of, met behulp van een id
attribuut (dus <textarea id="foo"></textarea>
):
#foo {
resize: none;
}
De W3C pagina geeft een lijst van mogelijke waarden voor resizing restricties: geen, beide, horizontaal, verticaal, en overerven:
textarea {
resize: vertical; /* user can resize vertically, but width is fixed */
}
Bekijk een fatsoenlijke compatibiliteitspagina om te zien welke browsers deze functie momenteel ondersteunen. Zoals Jon Hulka heeft opgemerkt, kunnen de afmetingen verder worden beperkt in CSS met behulp van max-width, max-height, min-width, en min-height.
Super belangrijk om te weten:
Deze eigenschap doet niets tenzij de overflow eigenschap iets anders is dan visible, wat de standaard is voor de meeste elementen. Dus over het algemeen om dit te gebruiken, moet je iets instellen als overflow: scroll;
Citaat van Chris Coyier, http://css-tricks.com/almanac/properties/r/resize/
CSS 3 heeft een nieuwe eigenschap voor UI elementen waarmee je dit kunt doen. De eigenschap is de resize eigenschap. Je zou dus het volgende aan je stylesheet toevoegen om resizing van alle textarea elementen uit te schakelen:
textarea { resize: none; }
Dit is een CSS 3 eigenschap; gebruik een compatibiliteitstabel om browser compatibiliteit te zien.
Persoonlijk zou ik het erg vervelend vinden als resizing uitgeschakeld zou zijn op textarea elementen. Dit is een van die situaties waarin de ontwerper probeert "break" de gebruiker's client. Als je ontwerp geen plaats biedt aan een grotere textarea, dan zou je misschien eens moeten heroverwegen hoe je ontwerp werkt. Elke gebruiker kan textarea { resize: both !important; }
toevoegen aan hun gebruikers stylesheet om jouw voorkeur op te heffen.