Bagaimana cara mencegah textarea meregang di luar elemen DIV induknya?
Saya memiliki textarea ini di dalam tabel yang ada di dalam DIV dan tampaknya itu menyebabkan seluruh tabel meregang di luar batasnya.
Anda dapat melihat contoh situasi yang sama bahkan dalam kasus yang lebih sederhana, cukup dengan meletakkan area teks di dalam div (seperti yang digunakan di sini di www.stackoverflow.com)
Anda dapat melihat dari gambar di bawah ini bahwa textarea dapat melampaui ukuran induknya? Bagaimana cara mencegahnya?
Saya agak baru mengenal CSS jadi saya tidak benar-benar tahu atribut CSS apa yang harus saya gunakan. Saya mencoba beberapa tampilan seperti , dan melimpah . Tapi mereka sepertinya tidak berhasil. Ada lagi yang mungkin saya lewatkan?
UPDATE: HTML
CSS
textarea {
max-width: 50%;
}
#container {
width: 80%;
border: 1px solid red;
}
#cont2{
width: 60%;
border: 1px solid blue;
}
Jika Anda meletakkan kode ini di dalam http://jsfiddle.net , Anda akan melihat bahwa mereka bertindak berbeda. Meskipun textarea dibatasi pada persentase yang dideklarasikan dalam gaya cssnya, masih memungkinkan untuk membuatnya menyebabkan tabel induknya menjadi sebesar yang diinginkan, dan kemudian Anda dapat melihat bahwa itu tumpah melewati batas induknya. Ada pemikiran tentang cara memperbaikinya? </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> orang </s>
sumber
Jawaban:
Untuk menonaktifkan pengubahan ukuran sepenuhnya:
Untuk mengizinkan hanya pengubahan ukuran vertikal:
Untuk mengizinkan hanya pengubahan ukuran horizontal:
Atau Anda dapat membatasi ukuran:
Untuk membatasi ukuran pada lebar dan / atau tinggi orang tua:
sumber
Kontrol pengubahan ukuran area teks tersedia melalui properti pengubahan ukuran CSS3 :
Nilai yang diizinkan cukup jelas:
none
(menonaktifkan pengubahan ukuran area teks)both
,,vertical
danhorizontal
.Perhatikan bahwa di Chrome, Firefox dan Safari defaultnya adalah
both
.Jika Anda ingin membatasi lebar dan tinggi dari elemen textarea, itu tidak masalah: browser ini juga menghormati
max-height
,max-width
,min-height
, danmin-width
sifat CSS untuk memberikan Resize dalam proporsi tertentu.Contoh kode :
sumber
resize:vertical
:) Tampaknya menjadi solusi yang "benar" jika Anda ingin mengubah ukuran sebanyak yang Anda inginkan!Saya berharap Anda mengalami masalah yang sama dengan yang saya alami ... masalah saya sederhana: Buat textarea tetap dengan persentase terkunci di dalam penampung (saya baru mengenal CSS / JS / HTML, jadi bersabarlah, jika saya jangan gunakan istilah yang benar) sehingga apa pun perangkat yang digunakan untuk menampilkannya, kotak yang mengisi wadah (sel tabel) menggunakan jumlah ruang yang benar. Inilah cara saya menyelesaikannya:
Kemudian CSS Terlihat seperti ini ...
Maaf atas blok kode yang ceroboh di sini, tetapi saya harus menunjukkan kepada Anda apa yang penting dan saya tidak tahu cara memasukkan kode CSS yang dikutip di situs web ini. Bagaimanapun, untuk memastikan Anda melihat apa yang saya bicarakan, CSS yang penting tidak terlalu menjorok ke sini ...
Apa yang kemudian saya lakukan (seperti yang ditunjukkan di sini) sangat khusus mengubah persentase sampai saya menemukan yang bekerja dengan sempurna agar sesuai dengan tampilan, tidak peduli layar perangkat apa yang digunakan.
Memang, saya pikir "resize: none;" berlebihan, tetapi lebih baik aman daripada menyesal dan sekarang konsumen tidak perlu mengubah ukuran kotak, juga tidak masalah dari perangkat apa mereka melihatnya.
Ini bekerja dengan baik.
sumber
sumber