Voici mon cas de système de grille 960:
<div class="kundregister_grid_full">
<div class="kundregister_grid_1">ID</div>
<div class="kundregister_grid_1">Namn</div>
<div class="kundregister_grid_1">Anv.Namn</div>
<div class="kundregister_grid_1">Email</div>
<div class="kundregister_grid_1">Roll</div>
<div class="kundregister_grid_1">Aktiv</div>
</div>
Ceci est mon ensemble de div, utilisé comme structure de table.
CSS dit suivant:
.kundregister_grid_1 {
display: inline-block;
float: left;
margin: 0;
text-align: center;
}
.kundregister_grid_1 {
width: 140px;
}
Ne vous inquiétez pas de la dénomination suédoise. Je veux que les divs s'affichent même s'ils n'ont aucune valeur.
<div class="kundregister_grid_full">
<div class="kundregister_grid_1">ID</div>
<div class="kundregister_grid_1"></div>
<div class="kundregister_grid_1"></div>
<div class="kundregister_grid_1">Email</div>
<div class="kundregister_grid_1">Roll</div>
<div class="kundregister_grid_1">Aktiv</div>
</div>
De même, dans ce cas, il n'y a pas de «Namn» et «Avn.Namn» dans les deux colonnes. Cependant, lors de l'exécution de cela dans Chrome, ils sont supprimés et ne poussez plus les autres divs dans l'ordre float:left
. Donc, si j'ai des catégories dans les mêmes divs ci-dessus, les valeurs seraient placées sous une mauvaise catégorie.
element.text(" ");
dans jQuery et
apparaît sur la page.Essayez d'ajouter
aux éléments vides.Je ne comprends pas pourquoi vous n'utilisez pas
<table>
ici? Ils feront ce genre de choses automatiquement.la source
<table>
== MAUVAIS.
, aussi populaire soit-elle, peut entraîner des problèmes dans certains scénarios. Comme lorsque vous supprimez dutext-decoration: line-through;
texte ( ), le trait apparaîtra
, alors que ce que vous voulez vraiment est juste un div vide.Légère mise à jour de la réponse @ no1cobla. Cela cache la période. Cette solution fonctionne dans IE8 +.
la source
.class:after:empty
Une solution simple pour les div flottants vides consiste à ajouter:
de cette façon, vous pouvez conserver la fonctionnalité flottante et la forcer à remplir l'espace lorsqu'elle est vide.
J'utilise cette technique dans les colonnes de mise en page, pour garder chaque colonne dans sa position même si les autres colonnes sont vides.
Exemple:
la source
min-height
est la meilleure solutionwidth
. Cependant, cela n'empêche pas le div d'avoir une hauteur nulle. (essayez de définir l'arrière-plan div pour voir le problème). Par conséquent & nbsp; est une solution plus générale. Aussi le contenu: "." corrige le problème de hauteur zéro.Ajoutez simplement un caractère d'espace de largeur nulle à l'intérieur d'un pseudo élément
la source
C'est une façon:
la source
content: "\200b";
pour un espace de largeur nulle . L'avantage supplémentaire est que le navigateur ne sélectionnera pas ce caractère (par exemple,CTRL+A
CTRL+C
il se comportera toujours de la même manière).Vous pouvez:
o Réglé
.kundregister_grid_1
sur:width
(ouwidth-min
) avecheight
(oumin-height
)padding-top
padding-bottom
border-top
border-bottom
o Ou utilisez des pseudo-éléments :
::before
ou::after
avec:{content: "\200B";}
{content: "."; visibility: hidden;}
.o Ou mettre à l'
intérieur d'un élément vide, mais cela peut parfois apporter des effets inattendus par exemple. en combinaison avectext-decoration: underline;
la source
Pourquoi ne pas simplement ajouter "min-width" à votre classe css?
la source
fonctionne mais ce n'est pas la bonne façon, je pense que le w min-height: 1px;
la source
En utilisant le bloc en ligne, il se comportera comme un objet en ligne. donc pas de flotteurs nécessaires pour les mettre côte à côte sur une seule ligne. Et en effet, comme l'a dit Rito, les flotteurs ont besoin d'un «corps», comme ils ont besoin de dimensions.
Je suis totalement d'accord avec Pekka sur l'utilisation des tableaux. Tous ceux qui créent des mises en page à l'aide de div évitent les tables comme si c'était une maladie. Mais utilisez-les pour les données tablulaires! C'est à cela qu'ils servent. Et dans votre cas, je pense que vous en avez besoin :)
MAIS si vous voulez vraiment vraiment ce que vous voulez. Il existe un moyen de piratage css. Identique au hack float.
Ajoutez celui-ci et vous êtes également défini: D (Remarque: ne fonctionne pas dans IE, mais cela peut être réparé)
la source
S'ils doivent être flottants, vous pouvez toujours simplement définir la hauteur min à 1px pour qu'ils ne se réduisent pas.
la source
En créant un ensemble personnalisé de balises de mise en page, j'ai trouvé une autre réponse à ce problème. Vous trouverez ici l'ensemble personnalisé de balises et leurs classes CSS.
HTML
CSS
La clé ici est le dimensionnement et le rembourrage de la boîte.
la source