2014-02-05 60 views
0

我一直在試圖建立其分爲三個部分菜單影響:CSS UL是從另一個UL

JSFIDDLE

現在你看,左邊的菜單從中間菜單的影響,即使我做:

display:inline 

我想也增加級以上則navgroups:

1000px 

或或者刪除這一行,但它不會改變任何內容。

感謝您的幫助!

UPDATE:

除了什麼上面寫的,我想嘗試中等菜單用圖片代替文字,然後我只是說這個:

<img src=".."> 

但圖像會太低了,我想把它放在更高的位置。
有人可以幫助我嗎?

非常感謝支持,偉大的論壇!

+0

浮動元素的左側和右側應該首先在HTML中,然後,流中的內容將擱置在中間,如果有足夠的空間。 litlle更多關於花車:http://css-tricks.com/all-about-floats/ –

+0

謝謝!但如果我需要站在其他菜單的行,我應該做display:inline-block;。 再次感謝! – rolory

+0

這是你在找什麼http://jsfiddle.net/QE7Yd/2/?或者它有點像顯示:flex; justify-content:space-between; ? http://codepen.io/gc-nomade/pen/nrbDl –

回答

0

如果您仍然無法定位,您可以簡單地在.navgroups div上添加另一個容器。

這裏的CSS與小提琴:http://jsfiddle.net/QE7Yd/4/

.navwrap { 
    text-align:center; 
} 

.navgroups { 
    display:inline-block; 
    background-color:#CC0000; 
} 

.navgroups:before, 
.navgroups:after { 
    display:table; 
    content:''; 
    clear:both; 
} 

.navgroups li { 
    display: inline; 
    padding: 5px; 
} 
.navgroups .menuleft { 
    padding:0px; 
    float: left; 
} 
.navgroups .menumiddle { 
    padding: 0px; 
    float: left; 
} 
.navgroups .menuright { 
    padding: 0px; 
    float: left; 
} 

基本上你是在告訴.navgroups像對待和inline元素,並使用.navwrap說裏面的文字應居中。

+0

正是我想要的那樣。非常感謝! – rolory

+0

太棒了!我很高興這是你需要的。如果這回答你的問題,那麼你能將它標記爲接受的答案嗎? – disinfor

+0

我還沒有這個選項。我的聲譽太低。 但是,如果你能看到,我更新了這個問題,我想聽聽你的建議。 再次感謝! – rolory

1

如果你想讓它們全部水平排列,你應該將它們全部左移。這是一個update to your fiddle來演示。 ...

.navgroups { 
    margin: 0 auto; 
    display: table; 
} 
.navgroups li { 
    display: inline; 
    padding: 5px; 
} 
.navgroups .menuleft { 
    padding:0px; 
    float: left; 
} 
.navgroups .menumiddle { 
    padding: 0px; 
    float: left; 
    text-align: center; 
} 
.navgroups .menuright { 
    padding: 0px; 
    float: left; 
    text-align: right; 
} 

UPDATE:爲了適應你在更新了圖片,你可以添加上的文字等於圖像高度line-height。我不確定你希望他們如何列隊,但這會讓你調整它。這裏是一個小提琴:http://jsfiddle.net/QE7Yd/7/

+0

但菜單不對齊居中,邊距:0自動;不起作用。 – rolory

+0

您將無法使用'margin:0 auto',因爲'.navgroups' div沒有指定的寬度。有一個工作...看到我的答案。 – disinfor

+0

只需將'display:table;'添加到.navgroups,它將居中。我更新了小提琴。 –

0

ul(像divs)自動帶有display:block,意味着它將佔用它所在的任何容器的整個寬度。如果是我,我會讓三個包含可以處理浮動的uls的div。這裏有一個Fiddle來幫助解釋。所有的div都有一個浮點數,因爲我從來沒有發現它有用於混合不同類型的浮點數。

.navgroups { 
    margin: 0 auto; 
} 
.navgroups .menuleft { 
    padding:0px; 
    float: left; 
} 
.navgroups .menuright { 
    padding: 0px; 
    float: left; 
} 
.navgroups .menumiddle { 
    padding: 0px; 
    float: left; 
    text-align: center; 
} 

此外,要刪除從ul的項目符號點,將此添加到您的CSS,這將防止圖像向下移動。

.navgroups li { 
    list-style-type: none; 
} 
+0

正如我對Brian Stephens所說的那樣,菜單並未與中心對齊(保證金:0 auto;不起作用)。 GCyrillus已經幫了我,但我有另一個問題。如果我放置圖像而不是「TEXT」,圖像就會消失,就像它已經清楚:兩者都是。 其大小調整爲menuleft和menuright之間的距離,但它仍然下降。 – rolory

+0

如果您遇到其他問題,請更新您的問題。 – disinfor

+0

我不認爲你可以將ul與中心對齊,你必須使用包含帶有margin的div:0 auto;要做到這一點。我也不確定圖片向下移動的意思。你的意思是它被子彈移下來了嗎?編輯@rolory如果是這樣的話,我更新了我的答案。如果是這樣,我可以提供另一個小提琴。 – maggiekh