簡體   English   中英

如何使用 flexbox 均勻間隔嵌套和未嵌套的對象?

[英]How to space nested and unnested objects evenly using flexbox?

我不太確定如何表達這個問題,但我在使用 flexbox 時甚至遇到了一些問題。 我正在 WordPress 中構建一個標題,我希望所有菜單元素之間的間距均勻。 問題是我還有另外兩個元素不屬於 WordPress 中自動生成的菜單的一部分。 我還需要它們以與菜單的嵌套列表元素相同的距離均勻分布。

我覺得這里缺乏我的知識,我需要一些關於如何解決這個問題的指示。 基本上,這是我的代碼:

 .logo { width: 15%; float: left; } .nav-wrapper { display: flex; float: right; width: 70%; flex: 2; } .nav-container { display: flex; flex: 2; } .nav-container ul { display: flex; flex: 2; justify-content: space-between; list-style: none; padding: 0; }
 <header> <div class="logo"> Logo </div> <div class="nav-wrapper"> <nav class="nav-container"> <ul> <li>Menu Item</li> <li>Menu Item</li> <li>Menu Item</li> <li>Menu Item</li> </ul> </nav> <div class="search"> <span class="search-text">Search</span> </div> <div class="mega-menu-button"> <button> Menu </button> </div> </div> </header>

https://jsfiddle.net/3qo56h8j/1/

現在,這是一團糟。 可能根本不正確。 問題是我看不到錯誤在哪里,可以使用一些幫助。 垂直對齊關閉,但我可以解決這個問題。 最大的問題是如何將搜索和超級菜單按鈕與 WordPress 生成的菜單項保持相同的距離? 最好以隨屏幕縮放的方式進行。

而且我不能將其他項目移動到列表中,因為列表是由 WordPress 生成的。

你做得很好只需要計算每個容器的 flex 。

header {
    display: flex;
}

.logo {
    flex: 1;
}

.nav-wrapper {
    display: flex;
    float: right;
    flex: 6;
}

.nav-container {
    display: flex;
    flex: 4;
}

.nav-container ul {
    display: flex;
    flex: 2;
    justify-content: space-between;
    list-style: none;
}

.nav-container li {
    flex: 1;
}

.search {
    flex: 1;
}

嘗試從上到下使用 flex 屬性。 從標題開始。 然后相應地間隔項目。

 header { display: flex; } .logo, .nav-wrapper, .search, .mega-menu-button { flex: 1 0 10%; display: flex; align-items: center; justify-content: center; } .nav-wrapper { flex-basis: 70%; } .nav-container { flex: 1; } .nav-container ul { display: flex; justify-content: space-around; list-style: none; padding: 0; } body { margin: 0; }
 <header> <div class="logo">Logo</div> <div class="nav-wrapper"> <nav class="nav-container"> <ul> <li>Menu Item</li> <li>Menu Item</li> <li>Menu Item</li> <li>Menu Item</li> </ul> </nav> </div><!-- new; close .nav-wrapper --> <div class="search"> <span class="search-text">Search</span> </div> <div class="mega-menu-button"> <button> Menu </button> </div> </header>

jsFiddle 演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM