【问题标题】:menu layout altering, vertical instead of horizontal on initial load菜单布局改变,初始加载时垂直而不是水平
【发布时间】:2015-07-27 17:36:41
【问题描述】:

我一直在为这个问题苦苦挣扎一段时间,主要是因为它只是偶尔发生,我也不知道从哪里开始缩小这个问题的原因。所以偶尔,当我的网站页面加载时,应该是水平的菜单栏会垂直加载并一直对齐到标题的右侧。

正如我之前所说,这种情况偶尔会发生,有时它加载得很好,并且菜单布局通常会在刷新或重新加载一次页面后自行纠正(水平)

这里是菜单的css代码

div.hideSkiplink
{
margin:0px auto 0px 195px; 
position:absolute;
bottom:0;
right:0;


}


div.menu
{
background-color:#080808;


padding: 0px auto 4px auto; 
}

div.menu ul
{
background-color:#080808;
list-style:none;
margin: 0px;
padding: 0px;
width: auto;
}

div.menu ul li a, div.menu ul li a:visited
{
background-color: #080808;
/* border: 1px #585B5E solid; */
border-right:1px solid #585B5E;
color: #dde4ec;
display: block;
line-height: 2.15em;

padding: 4px 20px;
text-decoration: none;
white-space: nowrap;
}

div.menu ul li a:hover
{
background-color: #bfcbd6;
color: #465c71;
text-decoration: none;
}

div.menu ul li a:active
{
background-color: #465c71;
color: #cfdbe6;
text-decoration: none;
}

以下是正在发生的情况与应该是什么样子的图片。

不正确...

正确...

非常感谢任何有关如何弄清楚为什么会发生这种情况的提示。

我仍然无法弄清楚这一点,有人有什么想法吗? 我不知道是否会在此之前加载一些脚本来拖拽菜单加载或什么。任何有关如何弄清楚为什么会这样做的建议都会有所帮助。

【问题讨论】:

  • 请提供重现问题的完整代码。 Stack sn-p 或 JS Fiddle 会有所帮助。
  • 我是一个初学者,我不确定如何捕获重现此错误的完整代码?我可以通过在浏览器中打开开发者工具并从中复制代码来做到这一点吗?
  • 因为您似乎正在使用 ASP.NET,所以是的,您可能需要从浏览器的“查看源代码”功能中复制生成的 HTML。一旦你得到它,将它削减到重现问题的最少代码量。这可能会有所帮助:stackoverflow.com/help/mcve

标签: css asp.net menu pageload


【解决方案1】:

我认为你有 display: block 属性,可能来自某些父元素。 尝试像这样修复它:

div.menu > ul li{
 float: left !important;
}

如果这有帮助,这意味着您在显示时遇到了简单的问题:阻止属性。

【讨论】:

  • 您的意思是删除display: block 还是建议我还需要添加float: left !important
  • 从li中移除显示块,显示块表示占用所有线宽,下一个li会显示在其下,而不是并排显示。
  • add 添加浮动:left !important;
  • 好的,我会试一试,给我一点时间看看它是否会起作用,因为这会随机发生,并且布局错误可能要到明天才会再次出现,如果这不能解决它。谢谢。
  • 如果仍然发生,你可以给我网站的链接,我会看看它。如果你愿意。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-02
相关资源
最近更新 更多