Di meja saya, saya mengatur lebar sel pertama menjadi satu kolom 100px
.
Namun, ketika teks di salah satu sel di kolom ini terlalu panjang, lebar kolom menjadi lebih dari 100px
. Bagaimana saya bisa menonaktifkan ekspansi ini?
html
css
column-width
Misha Moroshko
sumber
sumber
table-layout:fixed;
adalah solusinyaJawaban:
Saya bermain dengannya sebentar karena saya kesulitan mengatasinya.
Anda perlu mengatur lebar sel (baik
th
atautd
berfungsi, saya atur keduanya) DAN mengaturtable-layout
kefixed
. Untuk beberapa alasan, lebar sel tampaknya hanya tetap jika lebar tabel diatur juga (saya pikir itu konyol tapi whatev).Juga, berguna untuk mengatur
overflow
propertihidden
agar tidak ada teks tambahan yang keluar dari tabel.Anda harus memastikan untuk meninggalkan semua batas dan ukuran untuk CSS juga.
Ok jadi inilah yang saya miliki:
Ini dia di JSFiddle
Orang ini memiliki masalah yang sama: Lebar sel tabel - lebar memperbaiki, membungkus / memotong kata-kata panjang
sumber
overflow: visible
untuk tabel ukuran dinamis, selama ukuran sel tetap dan melimpah terlihat tidak masalah jika ukuran tabel itu sendiri lebih besar atau lebih kecil dari sel yang sebenarnya.Lihat: http://www.html5-tutorials.org/tables/changing-column-width/
Setelah tag tabel, gunakan elemen col. Anda tidak perlu tag penutup.
Misalnya, jika Anda memiliki tiga kolom:
sumber
table-layout: fixed; width: 100%;
. Terima kasih!col
ini. Ini menyarankan penggunaan css yang diterapkan pada<td>
(atau a<th
) - w3schools.com/tags/att_td_width.aspCukup tambahkan
<div>
tag di dalamnya<td>
atau<th>
tentukan lebar di dalamnya<div>
. Ini akan membantu Anda. Tidak ada lagi yang berhasil.misalnya.
sumber
style="width: 50px"
pada<td>
<td>
tidak aktif .Jika Anda membutuhkan satu kolom lagi dengan lebar tetap lebih banyak sementara kolom lainnya harus diubah ukurannya, coba atur keduanya
min-width
danmax-width
ke nilai yang sama.sumber
table-layout: fixed;
tidak.Anda perlu menulis ini di dalam CSS yang sesuai
sumber
Apa yang saya lakukan adalah:
Atur lebar td:
Atur lebar td dengan CSS:
Tetapkan lagi lebar sebagai maks dan min dengan CSS:
Kedengarannya sedikit berulang tetapi memberi saya hasil yang diinginkan. Untuk mencapai ini dengan sangat mudah, Anda mungkin perlu meletakkan nilai-nilai CSS di kelas di style-sheet Anda:
kemudian:
Tempatkan atribut kelas ke apa pun yang
<td>
Anda inginkan.sumber
Saya menggunakan ini
sumber
Jika Anda tidak menginginkan tata letak yang tetap, tentukan kelas untuk ukuran kolom yang sesuai.
CSS:
HTML:
sumber
Ini juga membantu, untuk memasukkan "sel pengisi" terakhir, dengan lebar: otomatis . Ini akan menempati ruang yang tersisa, dan akan meninggalkan semua dimensi lain seperti yang ditentukan.
sumber
Buat jawaban yang diterima merespons layar kecil ketika lebih kecil dari lebar tetap.
HTML:
CSS
JS Fiddle
https://jsfiddle.net/w9s3ebzt/
sumber
Pengaturan ini:
Bekerja untukku.
sumber
Asun memiliki ide yang tepat. Ini kode yang benar ...
sumber
Sesuai jawaban saya di sini , juga dimungkinkan untuk menggunakan kepala tabel (yang dapat kosong) dan menerapkan lebar relatif untuk setiap sel kepala tabel. Lebar semua sel dalam tubuh tabel akan sesuai dengan lebar kepala kolomnya. Contoh:
HTML
CSS
Lihat hasil
Atau, gunakan
colgroup
seperti yang disarankan dalam jawaban Hyathin.sumber
Saya menggunakan elemen :: after di sel tempat saya ingin menetapkan lebar minimal terlepas dari teks yang ada, seperti ini:
Saya tidak perlu mengatur lebar pada induk tabel atau menggunakan tata letak tabel.
sumber
Saya menemukan jawaban KAsun bekerja lebih baik menggunakan vw daripada px seperti:
<td><div style="width: 10vw" >...............</div></td>
Ini adalah satu-satunya gaya yang saya butuhkan untuk menyesuaikan lebar kolom
sumber
Anda tidak perlu mengatur
"fixed"
- semua yang Anda butuhkan adalah pengaturanoverflow:hidden
karena lebar kolom diatur.sumber