如果父元素不是全屏宽度,如何使子菜单跨屏全屏?

时间:2015-06-05 15:49:19

标签: html css

this site的顶部,当您将鼠标悬停在解决方案,品牌等上时,会出现蓝色下拉菜单。我希望它能够覆盖页面的整个宽度,但即使我将该元素的宽度(div.mega-dropdown-inner)设置为100%,它也只会填满100%的宽度。父元素,而不是整页。

是否有一种相对简单的方法来实现这一目标,或者是我唯一的选择,使父元素首先100%宽度?

我想我要问的是......有没有办法告诉CSS我想要"宽度"参数以屏幕宽度为基础,而不是父元素宽度?就像重写一样。

我假设没有,但我想请一些聪明的人来确认。

4 个答案:

答案 0 :(得分:2)

简单的css行应该可以解决问题:

firstButton.tag = (NSInteger)menuHeaderID;

NSNumber *pos = [_menuHeaderPositions objectForKey:[NSNumber numberWithInteger:thisTap.view.tag]];

通过将下拉列表的宽度设置为视口的大小,它将忽略它的容器宽度,并且只能通过css实现,而无需定位div。

答案 1 :(得分:0)

您可以创建两个不同的CSS3类:用于菜单顶级和子菜单,并设置例如子菜单git merge。希望这可能有所帮助。

答案 2 :(得分:0)

如果下拉列表的所有父元素都没有position:relative,则您只需提供position:absolute; left:0; width: 100%;即可相对于正文。

https://jsfiddle.net/afelixj/f0ktvxcv/

答案 3 :(得分:0)

不,div会一直看着他们的父母寻求指导。您可以将宽度设置为300%的荒谬,或者您可以使用javascript来获取活动窗口屏幕大小并将其设置为相等,但随后您将打开大量调整大小的问题。

你有像这样的线......

<div class="nav-child dropdown-menu mega-dropdown-menu" style="left: -383.53125px;">

您可以执行设置left:-100%的操作,或使用导航栏。因此,如果您的导航栏设置为65%或类似的东西,那么您将设置left:-65%。它可能需要一些游戏。您也可以像这样为父母设置选项......

position:absolute;
left:0;

它应该在最左侧对齐。