11
votes

Comment faire le flotteur gauche et flotter sur la même ligne?

Le problème strong>: xxx pré>

il devrait être comme ceci: strong> Entrez une description de l'image ici p>

mais le mien: strong> Entrez la description de l'image ici p>

le HTML: strong> P >

#nav ul li{
float: left;
list-style: none;
margin: 0 20px;
}

#nav .search{
float: right;
}


1 commentaires

Il semble bien ici ici jsfiddle.net/arunpjohny/pzhpm/1


5 Réponses :


8
votes

La raison pour laquelle il ne fonctionne pas comme prévu est que le

    à gauche se développe à droite, poussant ainsi le contenu vers le bas. La solution peut être de définir une largeur fixe explicite pour les zones gauche et droite qui est ce que j'ai fait lorsque j'ai rencontré ce scénario dans le passé. Mais dira qu'un mélange de flotteurs et même un positionnement absolu est ce qui fonctionnera finalement.

1 commentaires

De rien! Et Notez également que définir parfois une largeur explicite sur le

    ne fonctionnera pas. Donc, ce que vous avez à faire est d'envelopper le
      dans un
      et de flotter que
      élément avec une largeur de jeu. CSS n'est pas amusant. Mais le meilleur conseil que je puisse donner est la nidification et l'emballage des éléments dans des cas comme celui-ci fonctionnera toujours sur la plate-forme croisée et vous permettra de vous faire économiser des heures de maux de tête à enfouissement flottant.



0
votes

Avez-vous essayé d'ajouter la recherche sous forme d'un autre élément de la liste de votre valeur liquidative et de flotter à droite?

  • Voir l'exemple ci-dessous:

    http://jsfiddle.net/TewP5/


  • 0 commentaires

    4
    votes

    Vous devez utiliser un positionnement absolu et utiliser l'alignement gauche et droit.

    #nav ul, #nav .search {
        margin: 5px;
        position: absolute;
        display: inline-block;
    }
    


    0 commentaires

    0
    votes

    Vous pouvez utiliser flotteur: laissé pour l'ul et le flotteur: droite avec la zone de recherche


    0 commentaires

    16
    votes

    Une alternative aux solutions déjà mentionnées consiste à retourner l'ordre du balisage autour, de sorte que l'élément flottant à droite vienne en premier.

    p>

    <div id="nav">
       <div class="search">
         <input type="text" name="search" id="search" value="search">
       </div>       
       <ul>
         <li><a href="#">Home</a></li>
         <li><a href="#">Portfolio</a></li>
         <li><a href="#">Blog</a></li>
         <li><a href="#">Contact</a></li>
       </ul>
    </div>


    0 commentaires