Float:right renverse l'ordre des travées
J'ai le code HTML:
<div>
<span class="label"><a href="/index/1">Bookmix Offline</a></span>
<span class="button"><a href="/settings/">Settings</a></span>
<span class="button"><a href="/export_all/">Export</a></span>
<span class="button"><a href="/import/">Import</a></span>
</div>
et CSS:
span.button {
float:right;
}
span.label {
margin-left: 30px;
}
Dans le navigateur, s'étend à afficher dans l'ordre inverse: d'Importer les Paramètres d'Exportation.
Puis-je modifier l'ordre en changeant seulement le fichier CSS et de laisser le code HTML que c'est?
- J'ai testé toutes les réponses ici, et aucun des travaux tels que l'étiquette est sur la GAUCHE et l'autre s'étend "basculé" sur le membre de droite sans changer de balisage. Veuillez voir ceci: stackoverflow.com/a/18243885/703717
- Cela a été utile pour moi, à plusieurs reprises -> flex solution
Vous devez vous connecter pour publier un commentaire.
La solution générale de ce problème consiste à inverser l'ordre de la droite flottait éléments dans le code HTML, ou enveloppez-les dans un contenant d'élément et d'un flotteur qui à le droit à la place.
Si vous voulez faire la liste de vos éléments alignés à droite, sans inverser l'ordre ne pas flotter vos éléments de liste. Faire inline à la place. text-align:right votre span
display: inline-block;
pour obtenir la marge de droiteOui, cela peut être fait avec votre exacte de balisage.
L'astuce est d'utiliser
direction: rtl;
Balisage
CSS
VIOLON
div > * { direction: ltr }
.div
très facile!
Mise à jour: Deux léger CSS solutions:
À l'aide de flex, flex-flow et ordre:
Exemple1: Démo De Violon
Sinon, inverser l'échelle Y:
Exemple2: Démo De Violon
Flotteur de la div de droite au lieu de la durée des éléments?
Suffit d'utiliser display:inline-block et text-align:right au lieu de float:right:
De répondre à vos questions à jour:
Je dis "chemin d'accès à la div" ci-dessus parce que vous faut bien cibler ce un div, qui n'est pas (selon vos cotés code) ont une classe ou un ID de son propre. Ce n'est pas un problème si nous pouvons le faire avec la structure.
Ainsi, par exemple, si le
div
est la seule div à l'intérieur d'un récipient avec de l'id (dire) "navigation", qui pourrait être:Ou si il y a d'autres divs dans le conteneur, mais c'est la seule qui
un enfant direct de la navigation conteneur, vous pouvez utiliser un sélecteur d'enfant au lieu d'un sélecteur de descendant:
Cela fonctionne sans réarrangement de l'html et est très simple. Heres un exemple de travail: http://jsfiddle.net/dzk7c/2/
html:
et css:
peut-être ce qui, pour quelqu'un...
http://jsfiddle.net/15abbg81/
seul horizontale, peut-être à utiliser: rtl/ltr de tables
devrait fonctionner dans tous les navigateurs qui prennent en charge table-cell css
normal:
inverse:
Il peut être obtenu à l'aide de flex marge de positionnement. Veuillez noter que cela ne fonctionne que sur IE10+
Je reçois aussi coincé avec ce... voici donc ma solution
J'ai eu ce Avant et que ce Après
HTML ressemble à ce
CSS ressemble à ceci
html
css
vous auriez besoin pour faire flotter les travées de gauche, et de faire flotter le conteneur parent droite.
cela dépendra du type de mise en page que vous essayez d'atteindre toutefois.
il est prévu de comportement, pour le bénéfice des lecteurs d'écran et comme je l'imagine. l'autre option consiste à ajuster la marque, mais cela, comme vous le dites, peut ne pas être souhaitable.