@JDIsaaks - além disso, permitir o redimensionamento em determinadas situações pode interromper o layout e a capacidade de impressão (um aspecto importante de um projeto de missão crítica atual).
random_user_name 23/11
10
Às vezes, você realmente deseja uma área de texto não redimensionável. Por exemplo, nesse caso, quando você está (condicionalmente) convertendo uma área de texto em algo que se parece com um rótulo. Parece realmente estranho ter um rótulo com uma garra flutuante aleatória bem ao lado.
Nemem
2
Pelo amor de tudo que é bom, não faça isso em uma área de texto real ou você alienará seus usuários avançados. A quebra da funcionalidade principal do navegador deve ser considerada uma opção nuclear.
superluminar 30/01
Respostas:
3532
A seguinte regra CSS desabilita o comportamento de redimensionamento de textareaelementos:
textarea {resize: none;}
Para desativá-lo para alguns (mas não todos) textareas, existem algumas opções .
Para desativar um específico textareacom o nameatributo definido como foo(ou seja, <textarea name="foo"></textarea>):
textarea[name=foo]{resize: none;}
Ou, usando um idatributo (ou seja <textarea id="foo"></textarea>):
#foo {resize: none;}
A página do W3C lista os valores possíveis para as restrições de redimensionamento: nenhum, ambos, horizontal, vertical e herdado:
textarea {resize: vertical;/* user can resize vertically, but width is fixed */}
Revise uma página de compatibilidade decente para ver quais navegadores atualmente suportam esse recurso. Como Jon Hulka comentou, as dimensões podem ser mais restringidas no CSS usando max-width, max-height, min-width e min-height.
Super importante saber:
Essa propriedade não faz nada, a menos que a propriedade overflow seja algo diferente de visível, que é o padrão para a maioria dos elementos. Então, geralmente, para usar isso, você terá que definir algo como overflow: scroll;
@ Šime IE e FF3 (e versões anteriores) não adicionam redimensionamento de suporte, portanto, não é necessária uma solução para eles. Para o FF4, esta solução deve funcionar.
Donut
24
conforme davidwalsh.name/textarea-resize - use redimensionar: vertical ou redimensionar: horizontal para restringir o redimensionamento a uma dimensão. Ou use qualquer largura máxima, altura máxima, largura mínima e altura mínima.
precisa
3
Eu sou o único que acha estranho definir isso usando css e não atributos? Por que não posso, em seguida, definir desativado ou marcada ou outras propriedades usando CSS ...
Buksy
6
@ BuuSky Porque "desativado" é um estado, não uma propriedade visual. Portanto, é lógico que não deve ser decidido por uma linguagem de estilo .
O CSS 3 tem uma nova propriedade para elementos da interface do usuário que permitirá que você faça isso. A propriedade é a propriedade redimensionar . Portanto, você adicionaria o seguinte à sua folha de estilo para desativar o redimensionamento de todos os elementos da área de texto:
textarea { resize: none;}
Esta é uma propriedade CSS 3; use uma tabela de compatibilidade para ver a compatibilidade do navegador.
Pessoalmente, eu consideraria muito irritante ter o redimensionamento desativado nos elementos da área de texto. Essa é uma daquelas situações em que o designer está tentando "interromper" o cliente do usuário. Se o seu design não puder acomodar uma área de texto maior, convém reconsiderar como ele funciona. Qualquer usuário pode adicionar textarea { resize: both !important; }à folha de estilo do usuário para substituir sua preferência.
Mas isso seria o usuário quebrando intencionalmente sua disposição, ao invés de um usuário que só precisa de redimensionar his / her texareae acaba fazendo algo não trabalho
A propriedade redimensionar especifica se um elemento é ou não redimensionável pelo usuário.
Nota: A propriedade redimensionar se aplica a elementos cujo valor de estouro calculado é algo diferente de "visível".
Redimensionar também não é suportado no Internet Explorer no momento.
Aqui estão diferentes propriedades para redimensionar:
Sem redimensionamento:
textarea {
resize: none;}
Redimensione para os dois lados (vertical e horizontalmente):
textarea {
resize: both;}
Redimensionar verticalmente:
textarea {
resize: vertical;}
Redimensionar horizontalmente:
textarea {
resize: horizontal;}
Além disso, se você tiver widthe heightem seu CSS ou HTML, isso impedirá que sua área de texto seja redimensionada, com um suporte mais amplo aos navegadores.
<textareaclass="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><textareaclass="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><textareaclass="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><textareaclass="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>
Respostas:
A seguinte regra CSS desabilita o comportamento de redimensionamento de
textarea
elementos:Para desativá-lo para alguns (mas não todos)
textarea
s, existem algumas opções .Para desativar um específico
textarea
com oname
atributo definido comofoo
(ou seja,<textarea name="foo"></textarea>
):Ou, usando um
id
atributo (ou seja<textarea id="foo"></textarea>
):A página do W3C lista os valores possíveis para as restrições de redimensionamento: nenhum, ambos, horizontal, vertical e herdado:
Revise uma página de compatibilidade decente para ver quais navegadores atualmente suportam esse recurso. Como Jon Hulka comentou, as dimensões podem ser mais restringidas no CSS usando max-width, max-height, min-width e min-height.
fonte
Em CSS ...
fonte
Eu encontrei duas coisas:
Primeiro
Este é um CSS 3, que ainda não foi lançado , compatível com Firefox 4 (e posterior), Chrome e Safari .
Outro recurso de formato é
overflow: auto
livrar-se da barra de rolagem correta, levando em consideração o atributo dir .Código e navegadores diferentes
HTML básico
Alguns navegadores
fonte
O CSS 3 tem uma nova propriedade para elementos da interface do usuário que permitirá que você faça isso. A propriedade é a propriedade redimensionar . Portanto, você adicionaria o seguinte à sua folha de estilo para desativar o redimensionamento de todos os elementos da área de texto:
Esta é uma propriedade CSS 3; use uma tabela de compatibilidade para ver a compatibilidade do navegador.
Pessoalmente, eu consideraria muito irritante ter o redimensionamento desativado nos elementos da área de texto. Essa é uma daquelas situações em que o designer está tentando "interromper" o cliente do usuário. Se o seu design não puder acomodar uma área de texto maior, convém reconsiderar como ele funciona. Qualquer usuário pode adicionar
textarea { resize: both !important; }
à folha de estilo do usuário para substituir sua preferência.fonte
texarea
e acaba fazendo algo não trabalhofonte
Se você precisar de suporte profundo, poderá usar uma técnica da velha escola:
fonte
resize:none
com esta solução para evitar que a alça apareça no canto inferior, o que frustrantemente não funciona.Isso pode ser feito em HTML facilmente:
Isso funciona para mim. O valor padrão é
true
para odraggable
atributofonte
Para desativar a propriedade redimensionar, use a seguinte propriedade CSS:
Você pode aplicar isso como uma propriedade de estilo embutido da seguinte maneira:
ou entre as
<style>...</style>
tags de elemento da seguinte forma:fonte
Você simplesmente usa:
resize: none;
no seu CSS.Redimensionar também não é suportado no Internet Explorer no momento.
Aqui estão diferentes propriedades para redimensionar:
Sem redimensionamento:
Redimensione para os dois lados (vertical e horizontalmente):
Redimensionar verticalmente:
Redimensionar horizontalmente:
Além disso, se você tiver
width
eheight
em seu CSS ou HTML, isso impedirá que sua área de texto seja redimensionada, com um suporte mais amplo aos navegadores.fonte
CSS 3 pode resolver esse problema. Infelizmente, é suportado apenas em 60% dos navegadores usados atualmente .
Para o Internet Explorer e iOS, não é possível desativar o redimensionamento, mas você pode limitar a
textarea
dimensão definindowidth
eheight
.Ver demonstração
fonte
Você pode simplesmente desativar a propriedade textarea como esta:
Para desativar o redimensionamento vertical ou horizontal , use
ou
fonte
Eu criei uma pequena demonstração para mostrar como as propriedades de redimensionamento funcionam. Espero que ajude você e outras pessoas também.
fonte
Com
@style
, você pode atribuir um tamanho personalizado e desativar o recurso de redimensionamento(resize: none;)
.fonte
Você pode tentar com o jQuery também
fonte
Para desativar o redimensionamento para todos os
textarea
s:Para desativar o redimensionamento de um específico
textarea
, adicione um atributoname
ou umid
e defina-o como algo. Nesse caso, é nomeadonoresize
HTML
CSS
fonte
Adicionar
!important
faz funcionar:outline
é apenas para evitar o contorno azul em determinados navegadores.fonte
!important
atributo. Sentido de corrigir a largura e altura se o atributo CSSresize: none
pode remover o recurso de redimensionamento!important
mau?