Schéma simple:
<tr class="something">
<td>A</td>
<td>B</td>
<td>C</td>
<td>D</td>
</tr>
Je dois définir une largeur fixe pour <td>
. J'ai essayé:
tr.something {
td {
width: 90px;
}
}
Aussi
td.something {
width: 90px;
}
pour
<td class="something">B</td>
Et même
<td style="width: 90px;">B</td>
Mais la largeur de <td>
est toujours la même.
css
twitter-bootstrap
width
html-table
user984621
la source
la source
style="width: 1% !important;"
pour rendre la largeur aussi serrée que le mot le plus long de la colonne, c'est utile pour la première colonne ID / #. Testé en chrome (desktop & mobile), opera (desktop), IE (desktop), edge (desktop), firefox (desktop)Réponses:
Pour Bootstrap 4.0:
Dans Bootstrap 4.0.0, vous ne pouvez pas utiliser les
col-*
classes de manière fiable (fonctionne dans Firefox, mais pas dans Chrome). Vous devez utiliser la réponse d'OhadR :Pour Bootstrap 3.0:
Avec twitter bootstrap 3, utilisez:
class="col-md-*"
où * est un nombre de colonnes de largeur.Pour Bootstrap 2.0:
Avec twitter bootstrap 2, utilisez:
class="span*"
où * est un nombre de colonnes de largeur.** Si vous avez des
<th>
éléments, définissez la largeur là-bas et non sur les<td>
éléments.la source
J'avais le même problème, j'ai fait le tableau fixe et puis spécifié ma largeur td. Si vous en avez, vous pouvez aussi les faire.
Modèle:
Veuillez utiliser CSS pour structurer les mises en page.
la source
class
dans letd
tag au lieu d'appliquer le style directementth
like:<th style="width: 25%;"></th>
cela affectera la largeur des autres colonnestable-layout: fixed
. Cela est nécessaire car de nombreux modèles construits avec BS4 appliquent flex à tout, y compris les tableaux.Au lieu d'appliquer les
col-md-*
classes à chacunetd
dans la ligne, vous pouvez créer uncolgroup
et appliquer les classes à lacol
balise.Démo ici
la source
<col class="col-md-4 col-sm-6">
aura une largeur de 33% en taille d'écran moyenne et 50% en petite taille d'écran)J'espère que celui-ci aidera quelqu'un:
https://github.com/twbs/bootstrap/issues/863
la source
Si vous utilisez
<table class="table">
sur votre table, la classe de table Bootstrap ajoute une largeur de 100% à la table. Vous devez changer la largeur en auto.De plus, si la première ligne de votre table est une ligne d'en-tête, vous devrez peut-être ajouter la largeur à th plutôt qu'à td.
la source
th
normale, car elle est actuellement à l'heure actuelle car ces en-têtes ne se casseront pas.Dans mon cas, j'ai pu résoudre ce problème en utilisant
min-width: 100px
au lieu dewidth: 100px
pour les cellulesth
outd
.la source
Pour Bootstrap 4, vous pouvez simplement utiliser l'assistant de classe:
la source
.w-25, .w-50, .w-75, .w-100, .w-auto
donc si vous voulez autre chose, disons,w-10
vous devrez ajouter.w-10 { width: 10% !important; }
à votre fichier CSS localisé.Essaye ça -
la source
text-overflow: ellipsis
pour m'assurer que le texte de coupure est apparentBootstrap 4.0
Sur Bootstrap 4.0, nous devons déclarer les lignes du tableau en tant que flex-boxes en ajoutant la classe d-flex, et également supprimer les suffixes xs, md, pour permettre à Bootstrap de le dériver automatiquement de la fenêtre.
Il ressemblera donc à ceci:
J'espère que cela sera utile à quelqu'un d'autre!
À votre santé!
la source
Cette solution combinée a fonctionné pour moi, je voulais des colonnes de largeur égale
Résultat :-
la source
Ok, je viens de découvrir où était le problème - dans Bootstrap est configuré comme valeur par défaut
width
pour l'select
élément, ainsi, la solution est:Rien d'autre ne me fonctionne.
la source
Difficile de juger sans le contexte de la page html ou le reste de votre CSS. Il pourrait y avoir une multitude de raisons pour lesquelles votre règle CSS n'affecte pas l'élément td.
Avez-vous essayé des sélecteurs CSS plus spécifiques tels que
Ceci pour éviter que votre CSS ne soit remplacé par une règle plus spécifique du CSS d'amorçage.
(au fait, dans votre échantillon css en ligne avec l'attribut style, vous avez mal orthographié la largeur - cela pourrait expliquer pourquoi cet essai a échoué!)
la source
Je me bats avec le problème depuis un certain temps, donc juste au cas où quelqu'un commet la même erreur stupide que moi ... À l'intérieur,
<td>
j'aiwhite-space:pre
appliqué l'élément avec style. Cela a mis au rebut tous mes tours de table / tr / td. Lorsque j'ai supprimé ce style, tout à coup tout mon texte a été joliment formaté à l'intérieur dutd
.Donc, vérifiez toujours le conteneur principal (comme
table
outd
) mais aussi, vérifiez toujours si vous n'annulez pas votre beau code quelque part plus profondément :)la source
Utilisez d-flex au lieu de la ligne pour "tr" dans Bootstrap 4
Le fait est que la classe "row" prend plus de largeur que le conteneur parent, ce qui pose des problèmes.
la source
Dans bootstarp 4, vous pouvez utiliser
row
etcol-*
dans le tableau, je l'utilise comme ci-dessousla source
C'est comme ça que je le fais souvent quand je n'ai pas à faire face à IE
De cette façon, vous pouvez avoir une grille de 12 couleurs familière.
la source
Rien de tout cela ne fonctionne pour moi, et j'ai beaucoup de colonnes sur datatable pour que la classe% ou sm soit égale à 12 éléments sur le bootstrap.
Je travaillais avec les tables de données Angular 5 et Bootstrap 4, et j'ai de nombreux cols dans le tableau. La solution pour moi était
TH
d'ajouter unDIV
élément avec une largeur spécifique. Par exemple, pour les colonnes "Nom de personne" et "Date de l'événement", j'ai besoin d'une largeur spécifique, puis mettez undiv
dans l'en-tête de colonne, la largeur de col entière se redimensionne ensuite à la largeur spécifiée à partir de la div sur leTH
:la source
utiliser quelque chose sans td ou th
la source
la source