我有一个使用display:table/table-cell:auto布局的ul/li菜单,它被拉伸以填充容器并在菜单项之间分配水平空间。我必须将另一个UI元素对齐到最后一个菜单项。我可以通过将该元素添加为最后一个li元素的子元素并使其宽度为100%来实现这一点。
然而,我需要将此UI元素(语言选择器)部分放置在主内容之外,因此我通过相对定位right:-10px来定位它。但副作用是选择器的左边缘向右移动,与菜单元素相比。通常我会增加选择器div的宽度10px,但由于它是100%,所以我无法做到这一点。而父li的宽度是由其文本内容确定的。
是否有一种纯CSS的方法来解决这个问题?我不能在选择器上添加padding,因为我需要其子内容填满整个div。
这是一个可用的示例: http://jsfiddle.net/hJXng/13/
然而,我需要将此UI元素(语言选择器)部分放置在主内容之外,因此我通过相对定位right:-10px来定位它。但副作用是选择器的左边缘向右移动,与菜单元素相比。通常我会增加选择器div的宽度10px,但由于它是100%,所以我无法做到这一点。而父li的宽度是由其文本内容确定的。
是否有一种纯CSS的方法来解决这个问题?我不能在选择器上添加padding,因为我需要其子内容填满整个div。
<div class="menu">
<ul>
<li><a href="#">first</a>
</li>
<li><a href="#">second</a>
<div id="selector">
<a href="#">EN</a>
<a href="#">FR</a>
</div>
</li>
</ul>
</div>
这是一个可用的示例: http://jsfiddle.net/hJXng/13/
display:table
,table-cell
等属性,这使得我尝试使用大多数 CSS 技巧变得困难(例如 - 相对定位中的绝对定位或负边距)。 - Kobi