Chrome: сделать текстовые области не изменяемого размера - PullRequest
82 голосов
/ 19 января 2010

По умолчанию Chrome позволяет изменять размер моих текстовых областей.Я хочу контролировать это и либо изменять их размер только по вертикали, либо не изменять вообще.

Как мне этого добиться?

Ответы [ 3 ]

147 голосов
/ 19 января 2010

Rails генерирует стандартный тег textarea, но Safari / Chrome (Webkit) отображает все (не только Rails :) текстовые области как изменяемые.

Его появление может быть отключено CSS

textarea {
    resize: none;
    }

Или, если нужно, только вертикальное изменение размера:

textarea {
     resize: vertical;
     }
5 голосов
/ 19 января 2010

Установите max-width, чтобы изменить размер только по вертикали, или max-height и max-width, чтобы остановить изменение размера.

Однако имейте в виду, что нарушение ожиданий пользователей в отношении того, как их браузер обрабатывает элементы управления, приводит к большому разочарованию пользователей.

0 голосов
/ 19 января 2010

Вы можете установить столбец и строки как

<%= text_area :object, :attribute, :rows => '10', :cols => '100' %> 
#=> <textarea cols="100" rows="10" id="object_attribute" name="object[attribute]">
#      #{@object.attribute}
#   </textarea>

или укажите размер как

<%= text_area :object, :attribute, :size => "10x100" %> 
#=> <textarea cols="10" rows="100" id="object_attribute" name="object[attribute]">
#      #{@object.attribute}
#   </textarea>
...