html - 位置 : relative; 的冲突问题

标签 html css

我最近编辑了为 MyBB 设计模板的方式。幸运的是,我完全按照我的预期做了它,但是,导航栏似乎坏了。尝试导航后,发现只能点击导航的下半部分。 http://gyazo.com/99337bd5252b37e118ce119d5168bcf3 如您所见,我画红框的地方是链接激活起作用的唯一地方。大约 2 小时后,我发现我的问题是由于“position:relative;”。当我删除它时,导航工作正常,但我的面板 div 一直向右移动并偏离了位置。

<div class="main-bg">
<div class="main-width">

    <a name="top" id="top"></a>

    <div class="top-bar blue-texture"></div>

    <div id="header">


      <div id="panel">
 {$welcomeblock}
      </div>


      <div class="logo" >
         <a href="{$mybb->settings['bburl']}/index.php"><img src="{$theme['logo']}" alt="{$mybb- >settings['bbname']}" title="{$mybb->settings['bbname']}" /></a>
</div>
      <hr class="hidden" />
     </div>
  </div>
  </div>
   <div id="container">
<div class="bg-img">
 </div>
    <hr class="hidden" />

    <div class="menu blue-texture">

            <span class="search">
    <form action="search.php" method="post">
        <input type="hidden" name="action" value="do_search" />
        <input type="hidden" name="postthread" value="1" />
        <input type="hidden" name="forums" value="all" />
        <input type="hidden" name="showresults" value="threads" />
        <input type="text" name="keywords" value="search..." onfocus="if(this.value == 'search...') { this.value = ''; }" onblur="if(this.value=='') { this.value='search...'; }" size="22" />
        <input type="submit" value="Go" class="search-button" title="Search the forums" />
    </form>
            </span>

     <ul>
      <li><a href="{$mybb->settings['bburl']}/index.php">Home</a></li>
      <li><a href="{$mybb->settings['bburl']}/page.php?page=tournaments">Tournaments</a></li>
     </ul>
    </div>

这里有关于我如何开发它的完整代码。但是,问题主要出在 CSS 上。

#header {
    padding: 60px 0 85px;
    height: 56px;
    text-align: left;
    position: relative;
}

#panel {
    background: rgba(0,0,0,0.4);
    color: #fff;
    border: 1px solid #07090b;
    border-radius: 6px;
    position: absolute; 
    top:0; 
    margin-top: 0px;
    right: 0;
    padding-top: 4px;
    font-size: 12px;
    padding-right: 12px;
    padding-left: 12px;
    height: 130px;
    }
.menu {
     border-radius: 6px;
     -webkit-border-radius: 6px;
     border: 1px solid #174d7b!important;
     height: 50px;
     }

但是我找不到解决问题的方法,因为无法添加 position:relative;并使导航链接仍然按预期工作。

最佳答案

如果没有实际链接或工作片段,将很难找到问题所在,但请尝试使用此 css 来解决您的问题:

.menu { width: 100%; }
.menu ul li a { display: inline-block; width: auto; float: left; }

希望对你有帮助

关于html - 位置 : relative; 的冲突问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26068405/

相关文章:

html - 导航栏中第一个元素有额外间距的问题

javascript - 用于切换 css 动画暂停的按钮 |运行播放状态

html - 创建一个图标

javascript - 如何使用 google map api 和 javascript 查找附近的医院

php - 如何避免机器人对表单的攻击

css - Bootstrap 4 中的图标居中

php - € 等 Html 实体在 CSV 转换中未转换为其符号

javascript - 创建一个 HTML 邮件编辑器。继承类?

HTML/CSS hack 允许 overflow-x : auto & overflow-y: visible?

html - 如何在 CSS 中改变蓝色阴影点击指示器的形状