Est-ce que quelqu'un sait comment le coiffer comme on aime?
J'ai utilisé border-collapse sur la table, après que tr's puisse afficher une bordure solide de 1px que je leur donne.
Cependant, quand j'ai essayé -moz-border-radius
, cela ne fonctionne pas. Même une simple marge ne fonctionne pas.
border-collapse: separate;
cela ne fonctionnera pas.separate
est nécessaire pour Chrome 44.Espacement réel entre les lignes
Ceci est un vieux fil, mais j'ai remarqué la lecture des commentaires du PO sur d'autres réponses que l'objectif initial était apparemment d'avoir
border-radius
sur les lignes, et les écarts entre les lignes. Il ne semble pas que les solutions actuelles fassent exactement cela. La réponse de theazureshadow va dans la bonne direction, mais semble avoir besoin d'un peu plus.Pour ceux qui s'y intéressent, voici un violon qui sépare les lignes et applique le rayon à chaque ligne. (REMARQUE: Firefox a actuellement un bogue dans l'affichage / le découpage
background-color
au niveau des rayons de bordure .)Le code est le suivant (et comme l'a noté theazureshadow, pour la prise en charge antérieure du navigateur, les différents préfixes de fournisseur
border-radius
ont été ajoutés au besoin).la source
Info bonus:
border-radius
n'a aucun effet sur les tables avecborder-collapse: collapse;
et bordure définie surtd
's. Et peu importe siborder-radius
est activétable
,tr
outd
- il est ignoré.http://jsfiddle.net/Exe3g/
la source
L'élément tr respecte le rayon de la frontière. Peut utiliser du HTML pur et du CSS, pas de javascript.
Lien JSFiddle: http://jsfiddle.net/pflies/zL08hqp1/10/
la source
Je pense que l'effondrement de vos frontières n'est pas la bonne chose à faire dans ce cas. Les réduire signifie essentiellement que la frontière entre deux cellules voisines devient partagée. Cela signifie qu'il n'est pas clair dans quelle direction il doit se courber en fonction d'un rayon.
Au lieu de cela, vous pouvez donner un rayon de bordure aux deux coins à gauche du premier TD et aux deux coins à droite du dernier. Vous pouvez utiliser les sélecteurs
first-child
etlast-child
comme suggéré par theazureshadow, mais ceux-ci peuvent être mal pris en charge par les anciennes versions d'IE. Il peut être plus facile de définir simplement des classes, telles que.first-column
et.last-column
de servir cet objectif.la source
Selon Opera, la norme CSS3 ne définit pas l'utilisation de
border-radius
sur les TD. Mon expérience est que Firefox et Chrome le prennent en charge, mais Opera ne le fait pas (je ne sais pas pour IE). La solution de contournement consiste à envelopper le contenu td dans un div, puis à appliquer leborder-radius
au div.la source
N'essayant pas de prendre des crédits ici, tout le mérite revient à @theazureshadow pour sa réponse, mais j'ai personnellement dû l'adapter pour une table qui en a
<th>
au lieu de<td>
cellules de la première ligne.Je publie juste la version modifiée ici au cas où certains d'entre vous voudraient utiliser la solution de @ theazureshadow, mais comme moi, en avoir
<th>
dans le premier<tr>
. La classe "reportTable" ne doit être appliquée qu'à la table elle-même:N'hésitez pas à ajuster les rembourrages, les rayons, etc. selon vos besoins. J'espère que cela aide les gens!
la source
J'ai trouvé que l'ajout de border-radius aux tables, très et tds ne semble pas fonctionner à 100% dans les dernières versions de Chrome, FF et IE. Ce que je fais à la place, c'est envelopper la table avec un div et y mettre le rayon de la bordure.
Si votre table ne l'est pas
width: 100%
, vous pouvez faire votre emballagefloat: left
, n'oubliez pas de le vider.la source
Utilisez border-collapse: seperate; et espacement des bordures: 0; mais n'utilisez que border-right et border-bottom pour le tds, avec border-top appliqué à th et border-left appliqué uniquement à tr td: nth-child (1).
Vous pouvez ensuite appliquer un rayon de bordure au coin tds (en utilisant nth-child pour les trouver)
https://jsfiddle.net/j4wm1f29/
la source
Ou utilisez box-shadow si la table est réduite
la source
Toutes les réponses sont bien trop longues. Le moyen le plus simple d'ajouter un rayon de bordure à un élément de table qui accepte la bordure comme propriété consiste à faire un rayon de bordure avec débordement: masqué.
la source