Comment float deux éléments vers la droite en maintenant le même ordre visuellement et sémantiquement?
Comment float deux éléments à l'intérieur d'une enveloppe de l'élément vers la droite en gardant le même ordre des éléments visuellement et sémantiquement?
<style>
.container { widht: 200px; height: 50px; background: #333; }
.container p { width: 50px; height: 50px; background: #f00; float: right; margin: 0; }
</style>
<div class="container">
<p class="a">Simon</p>
<p class="b">Says</p>
</div>
Lors du rendu, ce seront les éléments internes apparaissent dans l'ordre", Dit Simon", http://jsbin.com/eravan/1/edit.
OriginalL'auteur Gajus | 2013-01-26
Vous devez vous connecter pour publier un commentaire.
Vous pouvez également utiliser
display: inline-block;
au lieu defloat
pendant le réglagetext-align: right;
sur l'élément parent.http://jsbin.com/eravan/10/edit
Je sais ce que sont les conditions de commentaires. Quel est le lien entre moi?
À l'aide de
display: inline; display: inline-block
serait la voie à suivre pour traiter avec IE<8. Vous aurez également besoin de lui donner unhasLayout
la propriété: haslayout.net/haslayoutSi vous me demandez pour le display inline-block support de ie6+, vous devez ajouter *display: inline; zoom: 1;
Jusqu'à présent, cela semble la meilleure solution. Je ne peux pas penser à désactiver toutes les implications négatives.
OriginalL'auteur miru87
Les solutions courantes sont les suivantes:
L'ajout d'auxiliaires élément
http://jsbin.com/eravan/6/edit
Le problème avec cette approche est l'auxiliaire redondant élément lui-même.
De jouer avec la sémantique
http://jsbin.com/eravan/9/edit
C'est la pire des solutions et, malheureusement, la plupart des communes (Ali Bassam commentaire directement ci-dessous le prouve).
N'est pas la bonne réponse.
CSS doit être utilisé pour des éléments de style et de ne pas changer le sens du contenu. De la même manière auxiliaire éléments HTML ne doit pas être ajoutée pour le style de but.
OriginalL'auteur Gajus
Il y a beaucoup de possibilités ici avec flexbox (y compris visuellement la réorganisation des éléments), de sorte que l'approche que vous prenez dépend de l'environnement de contenu. Toutefois IE ne prend pas en charge jusqu'à la version 10.
http://caniuse.com/#feat=flexbox
http://jsfiddle.net/6NWmt/ (préfixes non inclus)
Selon l'IE docs, ils suivent la spécification à partir de début 2012. Il est pratiquement identique à la version actuelle du projet (fin 2012) avec un peu de propriétés manquantes (flex-shrink, flex-grow, flex-base), quelques propriétés avec des noms différents (flex-pack vs justifier de contenu), et quelques valeurs avec des noms différents (fin vs flex-end). gist.github.com/4461470
OriginalL'auteur cimmanon
Une autre façon de faire pourrait être de rendre les deux classes absolu et spécifier leur emplacement? Si vos éléments sont de taille fixe, ce serait relativement simple. Juste une pensée..
De bons points. Je n'avais pas pris en compte les dispositions fluides etc - juste pensé que c'est encore un autre angle d'attaque du problème.
OriginalL'auteur Mat Richardson