Table d'attribut largeur est ignoré
Mon objectif est de générer un fichier html avec des tableaux et de les exporter au format pdf.
Malheureusement, je ne peux pas obtenir le tableau d'agir comme je le veux.
Une partie de la table doit afficher un calendrier avec les jours sur la ligne la plus basse, les semaines,les mois et les années sont dans les lignes ci-dessus et avoir un pré-calculé colspan.
Seulement le s pour les jours ont une largeur donnée avec CSS (style="width:..."
).
Le problème est que la largeur est totalement ignorée, afin de champs avec des jours à compter de 1 à 9 sont seulement la moitié de la largeur que les autres. Et à suivre, parce que les champs au-dessus de la taille automatiquement, car ils n'ont pas de largeur donnée, leur taille est également faux.
le texte d'alt http://img217.imageshack.us/img217/6617/scale1x.jpg
Heres la source qui est généré:
http://pastebin.com/JyiqhSzs
Ce que nous avons essayé jusqu'à présent:
- utilisé non css (
width=""
) - donner à l'autre champ d'une largeur calculée (la colspan valeur multipliée par la largeur d'un jour)
Également définir style="table-layout:fixed;"
pour la table, mais qui n'a pas d'effet.
Donc je ne sais pas comment pour obtenir le tableau de la largeur je veux avoir?
OriginalL'auteur CSchulz | 2010-07-22
Vous devez vous connecter pour publier un commentaire.
Au lieu de
width: 23px
utilisationmin-width: 23px
. Il a travaillé pour IE8 et FireFox. Je n'ai pas encore trouvé une formule magique pour IE7 pour ne pas rétrécir le seul chiffre jours (de travail). Je sais que letable-layout: fixed
n'est pas nécessaire, et à coup sûr va provoquer des problèmes avec tout IE7 affichage qui peuvent travailler.Aussi, si vous voulez toujours de la même taille, vous pouvez envisager d'utiliser
em
de dimensionnement, de sorte que si la taille du texte des modifications, votre table échelles vers le haut/vers le bas avec elle de manière proportionnelle. Je ne sais pas à tous vos besoins, mais juste une suggestion pour le voir.Edit: en Plus du navigateur croix de solution. IE6 et 7 besoin d'avoir tous les numéros dans les "jours" cellules enveloppé avec un
div
et puis, au lieu de dénommer latd
avec n'importe quel type de largeur, le style quediv
avec unwidth: 23px
pasmin-width: 23px
.min-width
a fonctionné pour moi aussi. Il serait intéressant de savoir pourquoiwidth
ne fonctionne pas.OriginalL'auteur ScottS
Est le
style
attribut fait une faute de frappe commestlye
dans votre page réelle, trop?Quelques conseils en plus:
table-layout: fixed
après la fixation de la faute de frappe.div
(ou un autre élément) pour chaque cellule et lui donner la largeur au lieu2ex
.td
pourquoi ne pas vous fixer dans la feuille de style.Exemple:
OriginalL'auteur RoToRa
Vous ne pouvez pas spécifier "width=...", vous avez à changer la façon dont le CSS de l'élément qui s'affiche...
Donc, supposons que nous voulons que la cellule soit 30px large:
display: block; raconte essentiellement le CSS qu'il faut redimensionner l'élément basé sur les dimensions de largeur et de hauteur, et ne repose pas sur ce qui est fait dans l'élément.
Cependant, il y a un petit souci avec le fait de ce que le contenu de l'élément peut dépasser les limites spécifiées par la largeur et la hauteur, mais dans ce type de situation, je ne pense pas que ça va être un gros problème.
HTH
Appliquer la modification à toutes les cellules qui sont d'avoir des problèmes, à défaut, ajouter padding: 0 2px 0 2px !important; pour le style. Cette place 2px de l'espace supplémentaire sur la gauche et à droite des cellules.
Après avoir téléchargé votre code à partir de la pastebin et de bidouiller, je vois que l'ajout de remplissage ne fonctionne pas. Si vous pouvez modifier à colspan sur les "mauvaises" cellules, qui devrait le faire, mais que cela pourrait signifier avoir à modifier chaque cellule pour l'obtenir à l'écran de droite.
Ce qui, dans l'enfer sont mauvaises cellules?
Par les "mauvaises" cellules je fais référence à des cellules qui ne s'affichent pas correctement...
OriginalL'auteur Logan Young
J'ai résolu le même problème sur un cas similaire par le réglage de la largeur à la
<td>
niveau à quelque chose d'un peu plus grand que prévu texte, comme:OriginalL'auteur WhiteSamoyed