Я хочу відключити зміна властивості textarea
.
В даний час я можу змінити розмір a textarea
, натиснувши на нижній правий кут textarea
і перетягнувши мишу. Як я можу відключити це?
Я хочу відключити зміна властивості textarea
.
В даний час я можу змінити розмір a textarea
, натиснувши на нижній правий кут textarea
і перетягнувши мишу. Як я можу відключити це?
Відповіді:
Наступне правило CSS відключає зміну розміру поведінки для textarea
елементів:
textarea {
resize: none;
}
Щоб відключити його для деяких (але не всіх) textarea
, є кілька варіантів .
Щоб відключити специфічно textarea
з name
набором атрибутів до foo
(тобто <textarea name="foo"></textarea>
):
textarea[name=foo] {
resize: none;
}
Або, використовуючи id
атрибут (тобто <textarea id="foo"></textarea>
):
#foo {
resize: none;
}
На сторінці W3C перераховані можливі значення для зміни розмірів обмежень: жодне, обидва, горизонтальне, вертикальне та успадковане:
textarea {
resize: vertical; /* user can resize vertically, but width is fixed */
}
Перегляньте пристойну сторінку сумісності, щоб побачити, які браузери зараз підтримують цю функцію. Як прокоментував Джон Хулка, розміри можна додатково обмежувати в CSS, використовуючи max-width, max-height, min-width та min-height.
Супер важливо знати:
Це властивість не робить нічого, якщо властивість переповнення є чимось відмінним від видимого, що є типовим для більшості елементів. Отже, щоб використовувати це, вам доведеться встановити щось на зразок переповнення: scroll;
Цитата Сара Коуп, http://css-tricks.com/almanac/properties/r/resize/
У CSS ...
textarea {
resize: none;
}
Я знайшов дві речі:
Спочатку
textarea{resize: none}
Це CSS 3, який ще не випущений , сумісний з Firefox 4 (і пізнішими версіями ), Chrome і Safari .
Ще одна особливість формату - це overflow: auto
позбутися правої смуги прокрутки, враховуючи атрибут dir .
Основний HTML
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<textarea style="overflow:auto;resize:none" rows="13" cols="20"></textarea>
</body>
</html>
Деякі браузери
CSS 3 має нову властивість для елементів інтерфейсу, що дозволить вам це зробити. Властивість є власністю зміни розміру . Отже, ви додасте наступне до таблиці стилів, щоб відключити розмір усіх елементів текстових областей:
textarea { resize: none; }
Це властивість CSS 3; скористайтеся діаграмою сумісності, щоб побачити сумісність браузера.
Особисто мені буде дуже прикро, щоб змінити розмір на елементах textarea. Це одна з тих ситуацій, коли дизайнер намагається «зламати» клієнта користувача. Якщо ваш дизайн не може вмістити більшу текстову область, можливо, вам варто переглянути, як працює ваш дизайн. Будь-який користувач може додати textarea { resize: both !important; }
до таблиці своїх стилів користувача, щоб змінити ваші налаштування.
texarea
і закінчити щось, що не працює
<textarea style="resize:none" rows="10" placeholder="Enter Text" ></textarea>
Якщо вам потрібна глибока підтримка, ви можете використовувати стару шкільну техніку:
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
це рішення, щоб запобігти появі ручки в нижньому куті, що неприємно не працює.
Це можна зробити в HTML легко:
<textarea name="textinput" draggable="false"></textarea>
Це працює для мене. Значення за замовчуванням - true
для draggable
атрибута.
Щоб відключити властивість зміни розміру, використовуйте таке властивість CSS:
resize: none;
Ви можете застосувати це як властивість стилю вбудованого типу, наприклад:
<textarea style="resize: none;"></textarea>
або між <style>...</style>
тегами елементів, наприклад:
textarea {
resize: none;
}
Ви просто використовуєте: resize: none;
у своєму CSS.
У Resize властивість визначає , є чи елемент є змінним користувачем.
Примітка: Властивість зміни розміру застосовується до елементів, обчислене значення переповнення яких є чимось відмінним від "видимого".
Також зміна розміру не підтримуються в Internet Explorer в даний момент.
Ось різні властивості зміни розміру:
Без розміру:
textarea {
resize: none;
}
Змініть розмір обох способів (вертикально та горизонтально):
textarea {
resize: both;
}
Змініть розмір вертикально:
textarea {
resize: vertical;
}
Змініть розмір по горизонталі:
textarea {
resize: horizontal;
}
Крім того, якщо у вас є width
і height
у вашому CSS або HTML, а також для запобігання ваш TextArea бути змінений, з більш широкою підтримкою браузерів.
CSS 3 може вирішити цю проблему. На жаль, він підтримується лише у 60% використовуваних браузерів .
Для Internet Explorer та iOS ви не можете вимкнути розмір, але ви можете обмежити textarea
розмір, встановивши його width
та height
.
/* One can also turn on/off specific axis. Defaults to both on. */
textarea { resize:vertical; } /* none|horizontal|vertical|both */
Ви можете просто відключити властивість textarea так:
textarea {
resize: none;
}
Для відключення вертикального чи горизонтального розміру використовуйте
resize: vertical;
або
resize: horizontal;
Я створив невелику демонстрацію, щоб показати, як працюють властивості зміни розміру. Сподіваюся, це допоможе і вам, і іншим.
.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>
С @style
, ви можете надати йому спеціальний розмір і відключити функцію зміни розміру (resize: none;)
.
@Html.TextAreaFor(model => model.YourProperty, new { @style = "width: 90%; height: 180px; resize: none;" })
Ви також можете спробувати з jQuery
$('textarea').css("resize", "none");
Щоб вимкнути розмір для всіх textarea
s:
textarea {
resize: none;
}
Щоб відключити розмір для певного textarea
, додайте атрибут name
або або id
і встановіть його на щось. У цьому випадку воно іменованоnoresize
<textarea name='noresize' id='noresize'> </textarea>
/* Using the attribute name */
textarea[name=noresize] {
resize: none;
}
/* Or using the id */
#noresize {
resize: none;
}
Якщо додавання, !important
це працює:
width:325px !important; height:120px !important; outline:none !important;
outline
це просто уникати синього контуру на певних браузерах.
!important
атрибутом. Безглуздо фіксувати ширину та висоту, якщо атрибут CSS resize: none
може видалити функцію зміни розміру
!important
зло?