2009-02-25 2 views
90

Я использую компоненты textarea в своем приложении, и я динамически управляю их высотой. По мере того как пользователь набирает, высота увеличивается всякий раз, когда текста хватает. Это отлично работает в IE, Firefox и Safari.Скрытие textarea изменение размера ручки в Safari

Однако в Safari в нижнем правом углу есть инструмент «handle», который позволяет пользователю изменять размер текстового поля, нажимая и перетаскивая его. Я также заметил эту проблему с textarea на странице stackoverflow Ask a Question. Этот инструмент запутан и в основном мешает.

Итак, есть ли что-нибудь, чтобы скрыть эту ручку изменения размера?

(я не уверен, что «ручка» это правильное слово, но я не могу придумать лучшего термина.)

ответ

164

Вы можете переопределить поведение изменения размера с помощью CSS:

textarea 
{ 
    resize: none; 
} 

или просто

<textarea style="resize: none;">TEXT TEXT TEXT</textarea> 

Допустимые свойства не являются: как, горизонтальные, вертикальные, ни

+22

Не совсем уместно здесь, но Safari также уважает свойства CSS с минимальной высотой, максимальной высотой, минимальной шириной и максимальной шириной, чтобы оставить изменение размера включенным, но ограничивать его размер. – stevemegson

+1

Спасибо! Был бы задать этот же вопрос :) – alex

+0

Что делать, если я хочу показать его при наведении после того, как я установил размер: нет? –

2

Используйте следующее правило CSS, чтобы отключить это поведение для всех TextArea элементов:

textarea { 
    resize: none; 
} 

Если вы хотите отключить его для некоторых (но не все) TextArea элементов, вы есть несколько вариантов (спасибо this page).

Чтобы отключить конкретный TextArea с атрибутом name равным foo (т.е. <TextArea name="foo"></TextArea>):

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

Или, используя идентификатор (т.е. <TextArea id="foo"></TextArea>):

#foo { 
    resize: none; 
} 

Обратите внимание, что это применим только для браузеров на основе WebKit (например, Safari и Chrome), которые добавляют дескриптор изменения размера в TextArea элементов управления.