我有一个水平的flex
列表,每个项目都包含一个链接和另一个子列表。
我希望第一代项li
的宽度与所包含链接中的单词一样,子列表的宽度与它需要可单击而不要包装单词的宽度一样。
尝试过的选项1::我将第一个li
的宽度设置为40px,将子ul
的宽度设置为200px->子链接不再可单击。
尝试了选项2::我将子ul
的宽度设置为10px和white-space: nowrap;
,并将position: relative; z-index: 5;
的宽度设置为最终链接->子链接是可单击的...但是,这是最佳做法吗?
<ul id="menu-mobile-en" class="menu">
<li id="menu-item-20858" class="retail-only-element menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-20858 focus"><a href="#">SHOP</a><button aria-expanded="false" class="dropdown-toggle"><span class="screen-reader-text">Expand child menu</span></button>
<ul class="sub-menu toggled-on">
<li id="menu-item-9404" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9404"><a href="https://staging.mysite.com/all/">All</a></li>
<li id="menu-item-39924" class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-39924"><a href="https://staging.mysite.com/eshop2/new/">New</a></li>
<li id="menu-item-4352" class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-4352"><a href="https://staging.mysite.com/eshop2/boxers-for-men/">Boxers</a></li>
<li id="menu-item-4357" class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-4357"><a href="https://staging.mysite.com/eshop2/briefs/">Briefs</a></li>
<li id="menu-item-4358" class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-4358"><a href="https://staging.mysite.com/eshop2/tank-tops/">Tank Tops</a></li>
<li id="menu-item-4355" class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-4355"><a href="https://staging.mysite.com/eshop2/t-shirts/">T-shirts</a></li>
<li id="menu-item-4353" class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-4353"><a href="https://staging.mysite.com/eshop2/henleys/">Henleys</a></li>
<li id="menu-item-4354" class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-4354"><a href="https://staging.mysite.com/eshop2/longjohns/">Longjohns</a></li>
<li id="menu-item-4356" class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-4356 focus"><a href="https://staging.mysite.com/eshop2/accessories/">Accessories</a></li>
<li id="menu-item-34091" class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-34091"><a href="https://staging.mysite.com/eshop2/last-chance/">Last chance</a></li>
</ul>
</li>
</ul>
CSS:
/* Inner toggled menu */
.handheld-navigation {
color: black;
position: fixed;
width: 100%;
top: 85px;
bottom: 0;
background-color: white;
font-size: 15px;
letter-spacing: 3px
}
.handheld-navigation ul.menu {
display:flex;
margin-left: 7px;
margin-top: 0px;
}
.handheld-navigation ul.menu a {
font-weight: 900;
display: inline-block;
}
.handheld-navigation ul.menu li.menu-item a {
padding: 8px 0;
}
.handheld-navigation ul.menu li.menu-item ul.sub-menu {
display:flex;
flex-direction: column;
margin-left: 0;
}
.handheld-navigation ul.menu li.menu-item ul.sub-menu li a {
font-weight: normal;
color: black;
text-transform: uppercase;
}
答案 0 :(得分:0)
这似乎有用吗?
注意::运行摘要并检查元素。
/* Inner toggled menu */
ul.menu {
display: flex;
margin-left: 7px;
margin-top: 0px;
}
ul.menu a {
font-weight: 900;
display: inline-block;
}
ul.menu button {
position: absolute;
right: 10px;
top: 10px;
}
ul.menu li.menu-item a {
padding: 8px 0;
}
ul.menu li.menu-item ul.sub-menu {
display: flex;
position: absolute;
flex-direction: column;
margin-left: 0;
}
ul.menu li.menu-item ul.sub-menu li a {
font-weight: normal;
color: black;
text-transform: uppercase;
}
<ul id="menu-mobile-en" class="menu">
<li id="menu-item-20858" class="retail-only-element menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-20858 focus"><a href="#">SHOP</a><button aria-expanded="false" class="dropdown-toggle"><span class="screen-reader-text">Expand child menu</span></button>
<ul class="sub-menu toggled-on">
<li id="menu-item-9404" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9404"><a href="https://staging.mysite.com/all/">All</a></li>
<li id="menu-item-39924" class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-39924"><a href="https://staging.mysite.com/eshop2/new/">New</a></li>
<li id="menu-item-4352" class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-4352"><a href="https://staging.mysite.com/eshop2/boxers-for-men/">Boxers</a></li>
<li id="menu-item-4357" class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-4357"><a href="https://staging.mysite.com/eshop2/briefs/">Briefs</a></li>
<li id="menu-item-4358" class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-4358"><a href="https://staging.mysite.com/eshop2/tank-tops/">Tank Tops</a></li>
<li id="menu-item-4355" class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-4355"><a href="https://staging.mysite.com/eshop2/t-shirts/">T-shirts</a></li>
<li id="menu-item-4353" class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-4353"><a href="https://staging.mysite.com/eshop2/henleys/">Henleys</a></li>
<li id="menu-item-4354" class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-4354"><a href="https://staging.mysite.com/eshop2/longjohns/">Longjohns</a></li>
<li id="menu-item-4356" class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-4356 focus"><a href="https://staging.mysite.com/eshop2/accessories/">Accessories</a></li>
<li id="menu-item-34091" class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-34091"><a href="https://staging.mysite.com/eshop2/last-chance/">Last chance</a></li>
</ul>
</li>
</ul>