Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 导航中的下拉菜单定位_Html_Css_Flexbox - Fatal编程技术网

Html 导航中的下拉菜单定位

Html 导航中的下拉菜单定位,html,css,flexbox,Html,Css,Flexbox,我在网站标题中的“项目”链接上尝试设置的下拉菜单的位置有问题 我希望“项目”链接保持不变,下拉菜单在其下方打开并居中。我试图使dropdownContent div绝对定位,从而部分实现了这一点,但是菜单并没有在“Projects”链接下居中 我第一次尝试使用flex box,因为它在定位方面更加直观,但这可能是这个错误的根源 所讨论的HTML/CSS: #dropdownContent{   display:none; } #dropdownContent a{   color: #96C0

我在网站标题中的“项目”链接上尝试设置的下拉菜单的位置有问题

我希望“项目”链接保持不变,下拉菜单在其下方打开并居中。我试图使dropdownContent div绝对定位,从而部分实现了这一点,但是菜单并没有在“Projects”链接下居中

我第一次尝试使用flex box,因为它在定位方面更加直观,但这可能是这个错误的根源

所讨论的HTML/CSS:

#dropdownContent{
  display:none;
}

#dropdownContent a{
  color: #96C0CE;
  border-right: 1px white solid;
  padding-right: 5px;
  margin-top: 5px;
  margin-right: 5px;
}

#dropdownContent #tutoring{
  border: none;
}

#dropdownContent a:hover{
  color: #525564; 
}

#dropdown:hover #dropdownContent{
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
}

<li class="navlink">
<div id="dropdown">
            <a id="menuTab" href="#">
             Projects
             <i class="fa fa-caret-down"></i>
              </a>
                          <div id="dropdownContent">
                            <a href="#">Engineering</a>
                            <a href="#">Development</a>
                            <a id="tutoring" href="#">Tutoring</a>
                          </div>
             </div>
</li>
#下拉内容{
显示:无;
}
#下拉内容a{
颜色:#96C0CE;
右边框:1px白色实心;
右侧填充:5px;
边缘顶部:5px;
右边距:5px;
}
#下拉内容#辅导{
边界:无;
}
#下拉内容a:悬停{
颜色:#525564
}
#下拉:悬停#下拉内容{
显示器:flex;
弯曲方向:行;
调整内容:灵活启动;
对齐项目:居中;
}
  •                                                                                                                                                                  
  • 代码笔在这里:

    #下拉列表{
    位置:相对位置;
    }
    #下拉内容{
    位置:绝对位置;
    最高:100%;
    左:50%;
    转化:translateX(-50%);
    }
    

    注意:触摸设备没有
    :hover
    ,因此您可能还需要使用
    :hover
    向所有当前选择器添加
    :active


    你不应该指望在“项目”上有一个活跃的链接。在现代UI中解决这个问题的方法是将链接拆分为两部分:实际的链接部分和下拉菜单(或插入符号)。但是插入符号应该足够大,可以容纳一个手指,而不会有接触“链接”部分的风险(标准尺寸为
    45px)✕ 45px
    但大多数用户可以安全地使用
    35px✕ 35px
    caret)。

    谢谢Andrei!现在我还没有考虑移动设备,因为我还在学习基础知识。当我到达那里时,我会记住这一点!
    #dropdown {
      position: relative;
    }
    #dropdownContent {
      position: absolute;
      top: 100%;
      left: 0;
    }