2012-10-20 30 views
12

मैं ट्विटर बूटस्ट्रैप और रेल का उपयोग कर रहा हूं और मैं दाईं ओर एक नौसेना आइटम फ़्लोट नहीं कर सकता।किसी भी वर्ग = पुल-दाएं या फ्लोट के साथ एक ट्विटर बूटस्ट्रैप navbar आइटम को फ़्लोट करने में असमर्थ: दाएं

मैं कुछ इस तरह उपयोग करने की कोशिश:

<li class="whoami pull-right"> <%= link_to ("Logged in as: " + current_user.name), edit_user_registration_path , :id=>"Edit account"%> </li> 

... लेकिन लिंक बाईं रुके थे और फ़ायरबग "float:left;"

पता चला तो मैं bootstrap_and_overrides.css.less में और home.html.erb में सीएसएस नाव overide करने की कोशिश की, लेकिन न तो काम किया। फायरबग ने संकेत दिया कि इसे दो सीएसएस फ्लोट स्टेटमेंट मिले, लेकिन मेरे ऊपर बूटस्ट्रैप विकल्प चुना। इसलिए मैं अटक गया हूं और सोच रहा हूं कि नेविबार को कैसे अनुकूलित किया जाए। मैं शायद यहां कुछ गलत कर रहा हूं, लेकिन मुझे बस यह नहीं दिख रहा है।

application.html.erb:

<!DOCTYPE html> 
<html> 
    <head> 
    ... removed to shorten the length of this post 
    </head> 
    <body> 
    <header> 
      <%= render 'layouts/navigation' %> 
    </header> 
    <div id="main" role="main"> 
     <div class="container"> 
     <div class="content"> 
      <div class="row"> 
      <div class="span12"> 
       <%= render 'layouts/messages' %> 
       <%= yield %> 
      </div> 
      </div> 
      <footer> 
      </footer> 
     </div> 
     </div> <!--! end of .container --> 
    </div> <!--! end of #main --> 
    </body> 
</html> 

_navigation.html.erb:

<div class="container span12"> 
    <div class="navbar navbar-fixed-top"> 
    <div class="navbar-inner"> 
     <div class="container"> 
     <ul class="nav"> 
     <%= link_to "Cases", root_path, :class=>"brand"%> 
      <% if user_signed_in? %> 
       <li> <%= link_to "My Cases", cases_path %> </li> 
       <li> <%= link_to 'Dash', dash_path %> </li> 
      <% if current_user.has_role? :admin %> 
       <li> <%= link_to 'Admin', users_path, :id=>"Admin" %> </li> 
      <% end %> 
      <li> <%= link_to 'Logout', destroy_user_session_path, :method=>'delete', :id => "Logout" %> </li> 
      <li class="whoami"> <%= link_to ("Logged in as: " + current_user.name), edit_user_registration_path , :id=>"Edit account"%> </li> 
      <% else %> 
       <li> <%= link_to 'Login', new_user_session_path %> </li> 
       <li> <%= link_to 'Sign up', new_user_registration_path %> </li> 
      <% end %> 
     </ul> 
     </div> 
    </div> 
    </div> 
</div> 

bootstrap_and_overrides.css.less:

@import "twitter/bootstrap/bootstrap"; 
body { 
    padding-top: 60px; 
} 
@import "twitter/bootstrap/responsive"; 

// Set the correct sprite paths 
// ...REMOVED to shorten the length of this post 
// Your custom LESS stylesheets goes here 
// 
// Since bootstrap was imported above you have access to its mixins which 
// you may use and inherit here 
// 
// If you'd like to override bootstrap's own variables, you can do so here as well 
// See http://twitter.github.com/bootstrap/less.html for their names and documentation 
// 
// Example: 
// @linkColor: #ff0000; 

.whoami { 
    float:right; 
} 

यहाँ मेरी कोड है

कब मैं एक पृष्ठ लोड करता हूं, मैं navbar देखता हूं, लेकिन अंतिम आइटम दाईं ओर नहीं चलाया जाता है।

इस तरह लग रहा है:
Screen capture showing firebug info

और वहाँ एक और स्क्रीन यहां टोपी कि some more info से पता चलता है।

जैसा कि आप देख सकते हैं, फ़ायरबग को "float:right;" विकल्प मिला, लेकिन इसके बजाय "float:left;" विकल्प का उपयोग किया गया था।

मुझे यहां समझने में एक अंतर है, लेकिन मुझे यकीन नहीं है कि कहां है।

के लिए प्रतिक्रियाओं को संबोधित करें:

पुल सही की
  • उपयोग और बूटस्ट्रैप नेवबार ट्विटर फ़ायरबग उत्पादन स्वरूपण
  • अधिभावी सीएसएस
  • व्याख्या

    संपादित करें: मैं अपनी पहली पोस्ट किया है कभी यहां jsfiddle: http://jsfiddle.net/uCHQs/2/ यह ब्राउज़र के शो स्रोत की प्रतिलिपि/पेस्ट का प्रतिनिधित्व करता है और जो मैं एकत्र करता हूं वह रिलीज सीएसएस लोड और से है रेल द्वारा rved।

अग्रिम धन्यवाद!

उत्तर

21

समझ लिया बाहर टिप्पणी का प्रयास करें।

इसे नौकरी तत्वों की एक से अधिक अनियंत्रित सूची के साथ नेविबार-इनर में घोंसले वाले कंटेनर को भरने की आवश्यकता है।

<div class="container span12"> 
    <div class="navbar navbar-fixed-top"> 
    <div class="navbar-inner"> 
     <div class="container"> 
     <%= link_to "Cases", root_path, :class=>"brand"%> 
      <ul class="nav"> 
      <% if user_signed_in? %> 
       <li> <%= link_to "My Cases", cases_path %> </li> 
       <li> <%= link_to 'Dash', dash_path %> </li> 
      <% if current_user.has_role? :admin %> 
       <li> <%= link_to 'Admin', users_path, :id=>"Admin" %> </li> 
      <% end %> 
      <li> <%= link_to 'Logout', destroy_user_session_path, :method=>'delete', :id => "Logout" %> </li> 
      </ul> 
      <ul class="nav pull-right"> <li> <%= link_to ("Logged in as: " + current_user.name), edit_user_registration_path , :id=>"Edit account"%> </li></ul> 
      <% else %> 
      <ul class="nav"> 
       <li> <%= link_to 'Login', new_user_session_path %> </li> 
       <li> <%= link_to 'Sign up', new_user_registration_path %> </li> 
      </ul> 
      <% end %> 
     </ul> 
     </div> 
    </div> 
    </div> 
</div> 
+0

मुझे navbar-search के साथ एक ही समस्या थी। बहुत धन्यवाद! – Bendim

3

क्या आपने अपने सीएसएस के साथ और अधिक विशिष्ट होने का प्रयास किया है?

.navbar ul.nav li.whoami { 
    float:right; 
} 

कभी-कभी यदि पूर्व सीएसएस (इस मामले में bootstrap) बहुत विशिष्ट है, यह विशिष्टता (या अधिक) ओवरराइड कर के समान स्तर की आवश्यकता है।

एक jsfiddle पोस्ट करने में मददगार हो सकता है। स्क्रीनशॉट डिबग करने के लिए मुश्किल कर रहे हैं;)

+0

ठीक है, यह वास्तव में मुझे ओवरराइड और फायरबग शो फ्लोट करने देता है: दाएं। ब्राउजर अभी भी नेविबार को हमारे आइटम को फ्लोट-राइट के साथ देता है। मुझे एक jsfiddle पोस्ट करने में खुशी होगी, लेकिन मुझे यकीन नहीं है कि कई पथों से जेएस, सीएसएस, और एचटीएमएल की तरह क्या लगता है। क्या ऐसा करने के लिए एक निफ्टी रेल-रास्ता है? –

+0

आपकी मदद के लिए धन्यवाद। मैं उपरोक्त उत्तर पर पहुंचे। मैं अपनी समस्या को "सीएसएस डेवलपर के बारे में सोचने की मेरी खराब समझ" में से एक के रूप में वर्णित करता हूं। अब जब मैं कामकाजी कोड देखता हूं, मुझे आश्चर्य है कि मुझे इतना लंबा क्यों लगा और सीएसएस लेआउट बहुत अधिक समझ में आता है। मुझे jsfiddle में भी चिपकने के लिए धन्यवाद। –

0

लाइन

//...REMOVED

+0

धन्यवाद जेसन। मैंने वास्तव में अपनी (लंबी) पोस्ट को छोटा करने के लिए पहले से ही टिप्पणी किए गए कोड के ब्लॉक को हटा दिया। –

0
<li><a href="#examples"><span class="glyphicon glyphicon-chevron-right" style="float:right;"></span> Examples</a></li> 
1

कोड यू लिखा है

class="nav navbar-nav" col-12 

है ऊपर कोड इस

class="nav navbar-nav col-12" 
तरह बदला जा सकता है: यह jsfiddle मुझे रास्ता http://jsfiddle.net/N6vGZ/4/

इस कोड काम करता है पता चला है

और नेक्स पर भी टी डालने

class pull-right in your li button 
0

नया वर्ग = "पंक्ति"

क्या अपने कोड ..in हुआ जोड़ें। जब यह मोबाइल डिवाइस में आ रहा है तो div अन्य div पर संलग्न है। यह आसान समाधान है।