Existe-t-il un moyen (portable) de faire pivoter le texte d'une cellule de tableau HTML de 90 °?
(J'ai un tableau avec de nombreuses colonnes et beaucoup de texte pour les en-têtes, donc j'aimerais l'écrire verticalement pour économiser de l'espace.)
html
css
text-rendering
text-styling
Florian Jenn
la source
la source
Réponses:
Tiré de http://css3please.com/
À partir de 2017, le site susmentionné a simplifié l'ensemble de règles pour supprimer l'ancien filtre Internet Explorer et s'appuyer davantage sur la
transform
propriété désormais standard :la source
90deg
, bien sûr ...)square
, sinon après la rotation, la hauteur et la largeur sont également pivotées avec l'élément qui brise l'apparence et le texte des éléments se chevauche avec d'autresSolution alternative?
Au lieu de faire pivoter le texte, cela fonctionnerait-il de l'écrire «de haut en bas»?
Comme ça:
Je pense que ce serait beaucoup plus facile - vous pouvez séparer une chaîne de texte et insérer un saut de ligne après chaque caractère.
Cela pourrait être fait via JavaScript dans le navigateur comme ceci:
... ou vous pouvez le faire côté serveur, de sorte que cela ne dépend pas des capacités JS du client. (Je suppose que c'est ce que vous entendez par "portable?")
De plus, l'utilisateur n'a pas à tourner la tête sur le côté pour le lire. :)
Mettre à jour
Ce fil de discussion consiste à faire cela avec jQuery.
la source
Il y a une citation dans la réponse originale et ma réponse précédente sur la ligne IE8 qui jette cela, juste à côté du point-virgule. Yikes et BAAAAD! Le code ci-dessous a la rotation correctement définie et fonctionne. Vous devez flotter dans IE pour que le filtre soit appliqué.
la source
Après avoir essayé pendant plus de deux heures, je peux affirmer en toute sécurité que toutes les méthodes mentionnées jusqu'à présent ne fonctionnent pas sur les navigateurs, ni pour IE même sur les versions de navigateur ...
Par exemple (réponse majorée):
tourne deux fois dans IE9, une fois pour le filtre et une fois pour -ms-filter, donc ...
Toutes les autres méthodes mentionnées ne fonctionnent pas non plus, du moins pas si vous ne devez définir aucune hauteur / largeur fixe de la cellule d'en-tête du tableau (avec la couleur d'arrière-plan), où elle devrait automatiquement s'ajuster à la taille de l'élément le plus élevé.
Donc, pour élaborer sur la génération d'image côté serveur proposée par Nathan Long, qui est vraiment la seule méthode de travail universellement, voici mon code VB.NET pour un gestionnaire générique (* .ashx):
Notez que si vous pensez que cette partie
peut être remplacé par
parce que cela fonctionne sur le serveur de développement, vous vous trompez cruellement en supposant que le même code ne lèverait pas une exception GDI + générique si vous le déployez sur un serveur Windows 2003 IIS 6 ...
puis utilisez-le comme ceci:
la source
Ma première contribution à la communauté, par exemple en faisant pivoter un texte simple et l'en-tête d'un tableau, en utilisant uniquement html et css.
HTML
CSS
Voici un exemple dans jsfiddle
la source
Filtres IE et transformations CSS ( Safari et Firefox ).
Le support d'IE est le plus ancien, Safari a [au moins une partie?] Du support dans la version 3.1.2, et Firefox n'aura pas de support avant la version 3.1.
Alternativement, je recommanderais un mélange de Canvas / VML ou SVG / VML. (Canvas a un support plus large.)
la source
En voici un qui fonctionne pour le texte brut avec un traitement côté serveur:
ce qui donne quelque chose comme:
http://jsfiddle.net/TzzHy/
la source
J'utilisais la bibliothèque Font Awesome et j'ai pu obtenir cet effet en ajoutant ce qui suit à n'importe quel élément html.
Votre kilométrage peut varier.
la source
Une autre solution:
J'admets absolument que c'est assez hackish, mais c'est une solution simple si vous voulez éviter de gonfler votre css.
la source
la source
Jetez un œil à ceci, je l'ai trouvé en cherchant une solution pour IE 7.
totalement une solution cool pour les vibrations css uniquement
Merci aiboy pour la soultion
Voici le lien
et voici le lien de débordement de pile où je suis tombé sur ce lien miaou
la source