À l'aide de balises div à afficher sous forme de tableau de données
Je veux afficher les données comme suit:
Title Subject Summary Date
Donc mon HTML
ressemble:
<div class="title"></div>
<div class="subject"></div>
<div class="summary"></div>
<div class="date"></div>
Le problème est, tout le texte n'apparaît pas sur une seule ligne. J'ai essayé d'ajouter display="block"
mais cela ne semble pas fonctionner.
Ce que je fais mal?
Important: Dans ce cas, je ne veux pas utiliser un table
élément, mais bâton avec div
balises.
De quoi êtes-vous fait mal? L'affichage de données tabulaires à l'aide de divs. Les Tables sont des tables, des divs sont pour la disposition. Utiliser des tableaux à la place!
+1 pour l'utilisation de la balise table. Ce n'est pas le mal quand il est utilisé pour l'affichage réel des données tabulaires.
mise à jour, ce site ne permet pas d'afficher des données tabulaires. C'est pourquoi ils n'utilisent pas les tables. Vous parlez d'un tableau.
Pensez à utiliser le tableau pour les données que vous souhaitez utiliser une table de votre choix traitement de texte. utiliser des divs lorsque vous êtes sur le point de "juste la position de quelque chose" quelque part sur la page, comme vous le feriez utiliser des cadres dans wordprocessing (en espérant qu'ils sont appelés cadres dans l'anglais de l'Isu?)
Je pense que vous avez apporté vos pensées sur les tables vs vrd à travers assez bien. Mais il a posé une simple question et mérite une réponse. "L'utilisation d'une table" n'est pas une réponse à "comment cela fonctionne", alors pourquoi est-ce que chacun à droit de vote de ces table-les choses?
+1 pour l'utilisation de la balise table. Ce n'est pas le mal quand il est utilisé pour l'affichage réel des données tabulaires.
mise à jour, ce site ne permet pas d'afficher des données tabulaires. C'est pourquoi ils n'utilisent pas les tables. Vous parlez d'un tableau.
Pensez à utiliser le tableau pour les données que vous souhaitez utiliser une table de votre choix traitement de texte. utiliser des divs lorsque vous êtes sur le point de "juste la position de quelque chose" quelque part sur la page, comme vous le feriez utiliser des cadres dans wordprocessing (en espérant qu'ils sont appelés cadres dans l'anglais de l'Isu?)
Je pense que vous avez apporté vos pensées sur les tables vs vrd à travers assez bien. Mais il a posé une simple question et mérite une réponse. "L'utilisation d'une table" n'est pas une réponse à "comment cela fonctionne", alors pourquoi est-ce que chacun à droit de vote de ces table-les choses?
OriginalL'auteur public static | 2008-09-22
Vous devez vous connecter pour publier un commentaire.
Il semble que vous êtes désireux d'afficher un tableau, à droite? Donc, aller de l'avant et utiliser le <table> tag.
OriginalL'auteur Andy Lester
Je voudrais utiliser le balisage suivant:
Une autre chose à garder à l'esprit avec toutes ces div et de la liste de mises en page, même ceux qui spécifier des largeurs fixes, c'est que si vous avez un peu de texte qui est plus large que la largeur (par exemple, une url), la mise en page de casser. La bonne chose à propos des tableaux de données tabulaires, c'est qu'ils ont en fait la notion d'une colonne, à laquelle aucune autre html.
Même si ce site a certaines choses, comme la page d'accueil, qui sont mis en œuvre avec des divs, je dirais que des données tabulaires (tels que voix, les réponses, titre, etc) DOIVENT être dans un tableau. Les gens qui poussent les divs ont tendance à le faire pour le balisage sémantique. Vous êtes à la poursuite à l'opposé de ce.
+1 pour thead et tbody. C'est un domaine dans mon développement web qui pourraient être améliorés.
OriginalL'auteur Chris Marasti-Georg
Je ne veux pas paraître condescendant; si je le fais, j'ai mal compris et je suis désolé.
La plupart des gens froncer les sourcils sur les tables parce que les gens les utilisent pour la mauvaise raison. Souvent, les gens utilisent de grandes tables à positionner les choses dans leur site web. Ce est ce que les divs doit être utilisé pour. Pas les tables!
Cependant, si vous souhaitez afficher données tabulaires, telles qu'une liste des équipes de football, victoires, défaites, et des liens, vous devez très certainement utiliser des tableaux. C'est presque du jamais vu (mais pas impossible) d'utiliser des divs pour cela.
Rappelez-vous juste, si c'est pour l'affichage des données, vous pouvez certainement utiliser une table!
OriginalL'auteur stalepretzel
Si il y a une raison légitime de ne pas utiliser une table puis vous pourriez donner à chaque div de largeur, puis flotter. c'est à dire
...ou spécifier la taille de la police px, ce qui désactive efficacement taille de police dans les navigateurs (zoom fonctionne encore bien).
OriginalL'auteur da5id
Est-il une raison de ne pas utiliser les tables? Si vous êtes à afficher des données tabulaires, il est préférable d'utiliser des tables - c'est ce qu'ils sont conçus pour.
Pour répondre à votre question, le mieux est probablement à attribuer une largeur fixe à chaque élément et l'ensemble float:left. Vous aurez besoin d'avoir un mannequin élément à la fin qui est clair:les deux, ou vous aurez à mettre clear:both sur le premier élément de chaque ligne. Cette méthode n'est toujours pas infaillible, si le contenu d'une cellule forces de la div pour être plus large, il ne sera pas redimensionner la colonne, seule la cellule. Vous peut peut-être éviter le redimensionnement en utilisant overflow:auto ou overflow:hidden, mais cela ne fonctionnent pas comme des tableaux.
OriginalL'auteur gregmac
ou en effet, ce qui est très littéralement à l'aide de tables de données tabulaires:
https://stackoverflow.com/badges
OriginalL'auteur
Juste pour illustrer les propos de la réponse à la question précédente, vous invitant à utiliser le tableau au lieu de div pour tabulaire de données:
CSS Tableau de la galerie est un excellent moyen d'afficher de belles tables dans de nombreux de nombreux différents styles visuels.
OriginalL'auteur VonC
Désolé, mais, je vais vous dire l'utilisation de tables. Parce que c'est des données tabulaires.
Peut-être que vous pourriez nous dire pourquoi vous ne pas souhaitez utiliser les tables?
Il me semble, et je suis sûr que beaucoup d'autres personnes, que vous êtes confus au sujet de "ne pas utiliser les tables". Ce n'est pas "de ne pas utiliser les tables", c'est "ne pas utiliser des tableaux pour faire la mise en page".
Ce que vous faites ici est à la pose de données tabulaires, alors bien sûr, il devrait être dans un tableau.
Dans le cas où vous êtes confus au sujet de l'idée de "tableau de données", je le définir comme ceci: bits de données dont le sens n'est pas clair à partir des données, il doit être déterminé en regardant un en-tête.
Dire que vous avez un train ou un autobus calendrier. Ce sera un énorme bloc de temps. Ce que n'importe quel particulier le temps? Vous ne pouvez pas dire en regardant le temps lui-même, mais se réfèrent à la ligne ou en-têtes de colonne et vous verrez que c'est le temps qu'il s'écarte d'une certaine station.
Vous avez des chaînes de texte. Sont-ils le titre, le résumé, ou de la date? Les gens vont dire que de vérifier les en-têtes de colonne. C'est donc un tableau.
OriginalL'auteur AmbroseChapel
La propriété CSS float est ce que vous cherchez, si vous voulez la pile div à l'horizontale.
Voici un bon tutoriel sur la flotte: http://css.maxdesign.com.au/floatutorial/
OriginalL'auteur Gavin M. Roy
display:block garauntees que les éléments de pas apparaissent sur la même ligne. Flottant pour la mise en page est de l'abus tout comme les tableaux pour la mise en page est de l'abus (mais pour le moment, il est nécessaire d'abus). La seule façon de garauntee qu'ils apparaissent tous sur la même ligne est d'utiliser une balise table. Que, ou display:inline, et utiliser seulement les (Espace insécable) entre vos éléments et les mots, au lieu d'un espace normal. Le vous aideront à prévenir le retour à la ligne.
Mais oui, si il n'y a pas une raison légitime pour éviter les tables, utiliser les tables de données tabulaires. C'est ce qu'ils sont pour.
OriginalL'auteur
À l'âge de frameworks CSS, je ne vois vraiment pas un point de la dérive loin de la balise table complètement. Alors qu'il est maintenant possible de le faire
display: table-*
quelle que soit l'élément que vous voulez, mais la table est toujours un préféré balise en forme des données sous forme de tableaux (en n'oubliant pas qu'il est plus sémantiquement correct). Il suffit de choisir l'un des populaires framework CSS pour rendre les données tabulaires a l'air sympa au lieu de piratage de la présentation de<div>
balises pour réaliser tout ce que il n'est pas conçu pour faire.ne fonctionnera certainement pas, essayez de
ou flotter tout à gauche puis placez-les en conséquence
mais si vous avez des données tabulaires, alors il est le meilleur pour les marques dans
<table>
tagcertains de référence: de sitepoint
OriginalL'auteur Jeffrey04
Vous aurez besoin pour vous assurer que tous vos "cellules" flotter à gauche ou à droite (selon leurs procédures internes de la commande), et ils ont aussi besoin d'un correctif de largeur.
Aussi, assurez-vous que leur "ligne" a une largeur fixe, qui est égal à la somme des largeurs de cellule + marge + rembourrage.
Enfin, assurez-vous que il ya une largeur fixe sur la "table" niveau de la div, qui est la somme de la largeur de ligne + marge + rembourrage.
Mais si vous souhaitez afficher des données tabulaires, vous devriez vraiment utiliser un tableau, certains navigateurs (plus de commun avec la génération précédente) poignée de chars, de remplissage et de marge différemment (rappelez-vous la célèbre IE 6 bug qui a doublé la marge?).
Il y a eu beaucoup d'autres questions ici sur quand utiliser et quand ne pas utiliser les tables qui peut aider à expliquer quand et où utilise les divs et les tables.
OriginalL'auteur Aaron Powell
L'aide de ce code :
Vous avez 2 solutions (adapter les sélecteurs css à votre cas):
1 - Utiliser inline blocs
Cela aura pour résultat de mettre les blocs sur la même ligne, mais de supprimer le contrôle, vous pouvez avoir plus de leurs tailles.
2 - Utiliser float
Le flotteur de la propriété est très utile pour le positionnement CSS : http://www.w3schools.com/css/pr_class_float.asp
Oui, vous avez raison. Je corrige ça.
OriginalL'auteur e-satis
La raison pour laquelle les questions de la page sur un débordement de pile pouvez utiliser des DIVs est parce que le vote/réponses compteur est de largeur fixe.
OriginalL'auteur Jimmy
Données tabulaires peuvent également être représentés par des listes imbriquées à - dire des listes de listes:
Que vous pouvez layout comme un tableau et aussi sémantiquement correct(ish).
OriginalL'auteur Darren Walker
Pour le texte à afficher sur une seule ligne que vous auriez à utiliser display="inline"
En outre, vous devriez vraiment utiliser des listes pour obtenir cet effet
Le style pourrait ressembler à ceci:
.les en-têtes{padding:0; margin:0}
.les en-têtes de li{display:inline; padding:0 10px} /Le rembourrage de contrôle de l'espace sur les côtés du texte dans l'en-tête/
Aussi, les colonnes dessous ne seraient pas alignés correctement avec leurs en-têtes, puisque chaque élément de la liste aurait une largeur variable en fonction de son contenu.
OriginalL'auteur Matthew Encinas
J'ai posé une question similaire il y a un moment Calendrier en HTML et tout le monde m'a dit d'utiliser les tables de trop.
Si vous avez fait une page d'accueil igoogle, juste yoink leur code.
J'ai fait un système de colonnes et des articles dans les colonnes d'une page. Avis à google, vous ne pouvez pas avoir un nombre infini de colonnes et qui choque nos sensibilités comme objet des gens. Voici certaines de mes conclusions:
J'ai fait un calendrier avec des balises DIV, car il est impossible d'obtenir XSL pour valider sans que le codage d'un nombre maximal de semaines dans le mois, qui est très offensif.
Le plus gros problème est que chaque zone doit être à la même hauteur, si vous voulez des informations pour être associé à un champ dans votre table avec des balises div, vous allez assurez-vous que l'
whitespace:scroll
ouwhitespace:hidden
est dans votre CSS.OriginalL'auteur Peter Turner
Préface: je suis un peu confus par les réponses jusqu'à présent, de faire des colonnes à l'aide de balises div et CSS est assez bien documentée, mais il n'a pas l'air comme l'une des réponses à couvert jusqu'à présent la façon dont il est fait normalement. Ce que vous avez besoin est de quatre DIVISIONS, chacune avec un plus "à gauche:" attribut. Vous ajoutez vos données pour chaque colonne dans la DIV (colonne).
Voici un site qui devrait vous aider. Ils ont de nombreux exemples de faire des colonnes avec CSS/DIV tags:
http://www.dynamicdrive.com/style/layouts/
Tout ce que vous avez à faire est d'extrapoler à partir de leurs 2 colonne exemples pour votre 4-colonne besoins.
OriginalL'auteur dj_segfault
Vous devez utiliser travées avec:
Cela vous permettra de définir une largeur pour chacun des éléments tout en restant sur la même ligne.
Voir ici, spécifiquement cette section.
Maintenant, pour apaiser les downvoters - bien sûr tableaux de données doit être dans un tableau. Mais il a très expressément ne veut PAS d'une table. Le ci-dessus est la réponse à SA QUESTION!!!
OriginalL'auteur SamGoody
Première
display:block
devrait êtredisplay:inline-block
, Bien que vous pourriez avoir pensé à elle déjà.Deuxièmement, vous pouvez également utiliser
display:table
,display:table-cell
,display:table-row
et d'autres propriétés.Bien que ces ne sont pas aussi bon que l'aide de la table.
OriginalL'auteur Sanuj