Saya ingin menonaktifkan properti resizable dari textarea
.
Saat ini, saya dapat mengubah ukuran textarea
dengan mengklik di sudut kanan bawah textarea
dan menyeret mouse. Bagaimana saya bisa menonaktifkan ini?
Saya ingin menonaktifkan properti resizable dari textarea
.
Saat ini, saya dapat mengubah ukuran textarea
dengan mengklik di sudut kanan bawah textarea
dan menyeret mouse. Bagaimana saya bisa menonaktifkan ini?
Jawaban:
Aturan CSS berikut ini menonaktifkan perilaku mengubah ukuran untuk textarea
elemen:
textarea {
resize: none;
}
Untuk menonaktifkannya untuk beberapa (tetapi tidak semua) textarea
, ada beberapa opsi .
Untuk menonaktifkan spesifik textarea
dengan name
atribut diatur ke foo
(yaitu, <textarea name="foo"></textarea>
):
textarea[name=foo] {
resize: none;
}
Atau, menggunakan id
atribut (yaitu, <textarea id="foo"></textarea>
):
#foo {
resize: none;
}
The halaman W3C daftar nilai yang mungkin untuk mengubah ukuran batasan: none, baik, horisontal, vertikal, dan mewarisi:
textarea {
resize: vertical; /* user can resize vertically, but width is fixed */
}
Tinjau halaman kompatibilitas yang layak untuk melihat browser apa yang saat ini mendukung fitur ini. Seperti yang dikomentari Jon Hulka, dimensi dapat lebih lanjut ditahan di CSS menggunakan max-width, max-height, min-width, dan min-height.
Sangat penting untuk diketahui:
Properti ini tidak melakukan apa-apa kecuali properti melimpah adalah sesuatu selain yang terlihat, yang merupakan default untuk sebagian besar elemen Jadi secara umum untuk menggunakan ini, Anda harus mengatur sesuatu seperti overflow: gulir;
Kutipan oleh Sara Cope, http://css-tricks.com/almanac/properties/r/resize/
Dalam CSS ...
textarea {
resize: none;
}
Saya menemukan dua hal:
Pertama
textarea{resize: none}
Ini adalah CSS 3, yang belum dirilis , kompatibel dengan Firefox 4 (dan lebih baru), Chrome, dan Safari .
Fitur format lain adalah untuk overflow: auto
menyingkirkan scrollbar kanan, dengan mempertimbangkan atribut dir .
HTML dasar
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<textarea style="overflow:auto;resize:none" rows="13" cols="20"></textarea>
</body>
</html>
Beberapa browser
CSS 3 memiliki properti baru untuk elemen UI yang akan memungkinkan Anda melakukan ini. Properti adalah properti ukuran . Jadi, Anda akan menambahkan berikut ini ke stylesheet Anda untuk menonaktifkan pengubahan ukuran semua elemen textarea:
textarea { resize: none; }
Ini adalah properti CSS 3; gunakan grafik kompatibilitas untuk melihat kompatibilitas browser.
Secara pribadi, saya akan merasa sangat menjengkelkan telah mengubah ukuran dinonaktifkan pada elemen textarea. Ini adalah salah satu situasi di mana perancang berusaha "menghancurkan" klien pengguna. Jika desain Anda tidak dapat mengakomodasi area teks yang lebih besar, Anda mungkin ingin mempertimbangkan kembali bagaimana desain Anda bekerja. Setiap pengguna dapat menambahkan textarea { resize: both !important; }
ke lembar gaya pengguna mereka untuk mengesampingkan preferensi Anda.
texarea
dan akhirnya membuat sesuatu tidak berfungsi
<textarea style="resize:none" rows="10" placeholder="Enter Text" ></textarea>
Jika Anda membutuhkan dukungan mendalam, Anda dapat menggunakan teknik sekolah lama:
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
dengan solusi ini untuk mencegah gagang muncul di sudut bawah yang tidak berhasil.
Ini dapat dilakukan dalam HTML dengan mudah:
<textarea name="textinput" draggable="false"></textarea>
Ini bekerja untuk saya. Nilai default true
untuk draggable
atribut.
Anda cukup menggunakan: resize: none;
di CSS Anda.
The resize menspesifikasikan properti atau tidaknya suatu unsur adalah resizable oleh pengguna.
Catatan: Properti pengubahan ukuran berlaku untuk elemen yang nilai limpahannya dikomputasi adalah sesuatu selain "terlihat".
Ubah ukuran juga tidak didukung di Internet Explorer saat ini.
Berikut adalah berbagai properti untuk mengubah ukuran:
Tanpa Ubah Ukuran:
textarea {
resize: none;
}
Ubah ukuran kedua cara (vertikal & horizontal):
textarea {
resize: both;
}
Ubah ukuran secara vertikal:
textarea {
resize: vertical;
}
Ubah ukuran secara horizontal:
textarea {
resize: horizontal;
}
Juga jika Anda memiliki width
dan height
dalam CSS atau HTML Anda, itu akan mencegah teks Anda diubah ukurannya, dengan dukungan browser yang lebih luas.
CSS 3 dapat mengatasi masalah ini. Sayangnya itu hanya didukung pada 60% dari browser yang digunakan saat ini.
Untuk Internet Explorer dan iOS Anda tidak dapat mematikan pengubahan ukuran, tetapi Anda dapat membatasi textarea
dimensi dengan mengatur width
dan height
.
/* One can also turn on/off specific axis. Defaults to both on. */
textarea { resize:vertical; } /* none|horizontal|vertical|both */
Anda cukup menonaktifkan properti textarea seperti ini:
textarea {
resize: none;
}
Untuk menonaktifkan pengubahan ukuran vertikal atau horizontal , gunakan
resize: vertical;
atau
resize: horizontal;
Saya telah membuat demo kecil untuk menunjukkan bagaimana mengubah ukuran properti bekerja. Saya harap ini akan membantu Anda dan orang lain juga.
.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>
Dengan @style
, Anda dapat memberikan ukuran khusus dan menonaktifkan fitur mengubah ukuran (resize: none;)
.
@Html.TextAreaFor(model => model.YourProperty, new { @style = "width: 90%; height: 180px; resize: none;" })
Anda dapat mencoba dengan jQuery juga
$('textarea').css("resize", "none");
Untuk menonaktifkan pengubahan ukuran untuk semua textarea
s:
textarea {
resize: none;
}
Untuk menonaktifkan pengubahan ukuran untuk spesifik textarea
, tambahkan atribut name
,, atau id
dan atur untuk sesuatu. Dalam hal ini, namanyanoresize
<textarea name='noresize' id='noresize'> </textarea>
/* Using the attribute name */
textarea[name=noresize] {
resize: none;
}
/* Or using the id */
#noresize {
resize: none;
}
Menambahkan !important
membuatnya berfungsi:
width:325px !important; height:120px !important; outline:none !important;
outline
hanya untuk menghindari garis biru pada browser tertentu.
!important
atribut. Tidak ada artinya untuk memperbaiki lebar & tinggi jika atribut CSS resize: none
dapat menghapus fitur mengubah ukuran
!important
jahat?