Html 下拉列表不相对于父对象居中

Html 下拉列表不相对于父对象居中,html,css,Html,Css,我正在努力将我的下拉列表居中。父级具有位置:相对且子具有位置:绝对,但它仍然没有居中 这里有一个在您的代码中尝试一下 <style> /** Desktop **/ header #desktop-nav { padding: 0 0 20px; } header #desktop-nav ul li { display: inline-block; width: 175px; font-size: 18px; positio

我正在努力将我的下拉列表居中。父级
  • 具有
    位置:相对
    且子
    具有
    位置:绝对,但它仍然没有居中

    这里有一个

    在您的代码中尝试一下

     <style>
            /** Desktop **/
    header #desktop-nav {
        padding: 0 0 20px;
    }
    header #desktop-nav ul li {
        display: inline-block;
        width: 175px;
        font-size: 18px;
        position: relative;
        padding-bottom: 20px;
    }
    header #desktop-nav ul li:first-child {
        margin: 0;
        padding: 0;
        position: relative;
        top: 13px;
        width: 40px;
        left: -20px;
    }
    
    
      header #desktop-nav ul li ul.second-level {
            background: transparent;
        padding: 0;
        visibility: hidden;
        opacity: 0;
        position: absolute;
        top: 36px;
        left: -4em;
        z-index: 1;
        -webkit-transition: all 0.4s;
        -moz-transition: all 0.4s;
        -ms-transition: all 0.4s;
        transition: all 0.4s;
    }
    header #desktop-nav ul li ul.second-level .arrow-container {
        color: #4c4c4c;
        position: relative;
        top: 6px;
    }
    header #desktop-nav ul li ul.second-level li {
        padding: 12px 0;
        border-bottom: 1px solid #67676b;
        background: #4c4c4c;
        -webkit-transition: all 0.4s;
        -moz-transition: all 0.4s;
        -ms-transition: all 0.4s;
        transition: all 0.4s;
        width: 240px;
    }
    header #desktop-nav ul li ul.second-level li:last-child {
        border-bottom: 0 solid transparent !important;
    }
    header #desktop-nav ul li ul.second-level li a {
        display: block;
        font-size: 15px;
        color: #eaeaea;
        border-bottom: 0;
        text-align: center;
    
    }
    header #desktop-nav ul li ul.second-level li a > img {
        position: fixed;
        top: 10px;
    }
    header #desktop-nav ul li ul.second-level li:hover {
        background: #363636;
    }
    header #desktop-nav ul li ul.second-level li .up-arrow {
        color: #4c4c4c;
        cursor: default;
        font-size: 14px;
        left: 48%;
        position: absolute;
        top: -11px;
    }
    header #desktop-nav ul li.active a {
        color: #c40009;
        border-bottom: 3px solid #c40009;
        padding-bottom: 8px;
    }
    header #desktop-nav ul li:hover > .second-level {
        visibility: visible;
        opacity: 1;
    }
    header #desktop-nav ul li:hover > a {
        color: #c40009;
        border-bottom: 3px solid #c40009;
        color: #c40009;
        padding-bottom: 8px;
    }
    header #desktop-nav ul li:hover > a.stickyLogo {
        border-bottom: 0;
    }
    header #desktop-nav a {
        -webkit-transition: color 0.4s;
        -moz-transition: color 0.4s;
        -ms-transition: color 0.4s;
        transition: color 0.4s;
    }
    
        </style>
    
    
    /**桌面**/
    标题#桌面导航{
    填充:0 20px;
    }
    标题#桌面导航ul li{
    显示:内联块;
    宽度:175px;
    字号:18px;
    位置:相对位置;
    垫底:20px;
    }
    标题#桌面导航ul li:第一个孩子{
    保证金:0;
    填充:0;
    位置:相对位置;
    顶部:13px;
    宽度:40px;
    左:-20px;
    }
    标题#桌面导航二级{
    背景:透明;
    填充:0;
    可见性:隐藏;
    不透明度:0;
    位置:绝对位置;
    顶部:36px;
    左:-4em;
    z指数:1;
    -webkit转换:所有0.4s;
    -moz转换:全部为0.4s;
    -ms转换:所有0.4s;
    过渡:全部为0.4s;
    }
    标题#桌面导航ul li ul.二级箭头容器{
    颜色:#4c;
    位置:相对位置;
    顶部:6px;
    }
    标题#桌面导航二级li{
    填充:12px0;
    边框底部:1px实心#676b;
    背景:#4c;
    -webkit转换:所有0.4s;
    -moz转换:全部为0.4s;
    -ms转换:所有0.4s;
    过渡:全部为0.4s;
    宽度:240px;
    }
    标题#桌面导航ul li ul.二级li:最后一个子级{
    边框底部:0实心透明!重要信息;
    }
    标题#桌面导航ul li ul.二级li a{
    显示:块;
    字体大小:15px;
    颜色:#eaeaea;
    边界底部:0;
    文本对齐:居中;
    }
    标题#桌面导航ul.second-level li a>img{
    位置:固定;
    顶部:10px;
    }
    标题#桌面导航ul li二级li:悬停{
    背景#3636;
    }
    标题#桌面导航ul li.二级li.向上箭头{
    颜色:#4c;
    游标:默认值;
    字体大小:14px;
    左:48%;
    位置:绝对位置;
    顶部:-11px;
    }
    标题#桌面导航ul li.active a{
    颜色:#c40009;
    边框底部:3px实心#c40009;
    垫底:8px;
    }
    标题#桌面导航ul li:hover>。第二级{
    能见度:可见;
    不透明度:1;
    }
    标题#桌面导航ul li:悬停>a{
    颜色:#c40009;
    边框底部:3px实心#c40009;
    颜色:#c40009;
    垫底:8px;
    }
    标题#桌面导航ul li:悬停>a.stickyLogo{
    边界底部:0;
    }
    标题#桌面导航a{
    -webkit过渡:颜色0.4s;
    -moz过渡:颜色0.4s;
    -ms转换:颜色0.4s;
    过渡:颜色0.4s;
    }
    
    在您的代码中尝试这一点

     <style>
            /** Desktop **/
    header #desktop-nav {
        padding: 0 0 20px;
    }
    header #desktop-nav ul li {
        display: inline-block;
        width: 175px;
        font-size: 18px;
        position: relative;
        padding-bottom: 20px;
    }
    header #desktop-nav ul li:first-child {
        margin: 0;
        padding: 0;
        position: relative;
        top: 13px;
        width: 40px;
        left: -20px;
    }
    
    
      header #desktop-nav ul li ul.second-level {
            background: transparent;
        padding: 0;
        visibility: hidden;
        opacity: 0;
        position: absolute;
        top: 36px;
        left: -4em;
        z-index: 1;
        -webkit-transition: all 0.4s;
        -moz-transition: all 0.4s;
        -ms-transition: all 0.4s;
        transition: all 0.4s;
    }
    header #desktop-nav ul li ul.second-level .arrow-container {
        color: #4c4c4c;
        position: relative;
        top: 6px;
    }
    header #desktop-nav ul li ul.second-level li {
        padding: 12px 0;
        border-bottom: 1px solid #67676b;
        background: #4c4c4c;
        -webkit-transition: all 0.4s;
        -moz-transition: all 0.4s;
        -ms-transition: all 0.4s;
        transition: all 0.4s;
        width: 240px;
    }
    header #desktop-nav ul li ul.second-level li:last-child {
        border-bottom: 0 solid transparent !important;
    }
    header #desktop-nav ul li ul.second-level li a {
        display: block;
        font-size: 15px;
        color: #eaeaea;
        border-bottom: 0;
        text-align: center;
    
    }
    header #desktop-nav ul li ul.second-level li a > img {
        position: fixed;
        top: 10px;
    }
    header #desktop-nav ul li ul.second-level li:hover {
        background: #363636;
    }
    header #desktop-nav ul li ul.second-level li .up-arrow {
        color: #4c4c4c;
        cursor: default;
        font-size: 14px;
        left: 48%;
        position: absolute;
        top: -11px;
    }
    header #desktop-nav ul li.active a {
        color: #c40009;
        border-bottom: 3px solid #c40009;
        padding-bottom: 8px;
    }
    header #desktop-nav ul li:hover > .second-level {
        visibility: visible;
        opacity: 1;
    }
    header #desktop-nav ul li:hover > a {
        color: #c40009;
        border-bottom: 3px solid #c40009;
        color: #c40009;
        padding-bottom: 8px;
    }
    header #desktop-nav ul li:hover > a.stickyLogo {
        border-bottom: 0;
    }
    header #desktop-nav a {
        -webkit-transition: color 0.4s;
        -moz-transition: color 0.4s;
        -ms-transition: color 0.4s;
        transition: color 0.4s;
    }
    
        </style>
    
    
    /**桌面**/
    标题#桌面导航{
    填充:0 20px;
    }
    标题#桌面导航ul li{
    显示:内联块;
    宽度:175px;
    字号:18px;
    位置:相对位置;
    垫底:20px;
    }
    标题#桌面导航ul li:第一个孩子{
    保证金:0;
    填充:0;
    位置:相对位置;
    顶部:13px;
    宽度:40px;
    左:-20px;
    }
    标题#桌面导航二级{
    背景:透明;
    填充:0;
    可见性:隐藏;
    不透明度:0;
    位置:绝对位置;
    顶部:36px;
    左:-4em;
    z指数:1;
    -webkit转换:所有0.4s;
    -moz转换:全部为0.4s;
    -ms转换:所有0.4s;
    过渡:全部为0.4s;
    }
    标题#桌面导航ul li ul.二级箭头容器{
    颜色:#4c;
    位置:相对位置;
    顶部:6px;
    }
    标题#桌面导航二级li{
    填充:12px0;
    边框底部:1px实心#676b;
    背景:#4c;
    -webkit转换:所有0.4s;
    -moz转换:全部为0.4s;
    -ms转换:所有0.4s;
    过渡:全部为0.4s;
    宽度:240px;
    }
    标题#桌面导航ul li ul.二级li:最后一个子级{
    边框底部:0实心透明!重要信息;
    }
    标题#桌面导航ul li ul.二级li a{
    显示:块;
    字体大小:15px;
    颜色:#eaeaea;
    边界底部:0;
    文本对齐:居中;
    }
    标题#桌面导航ul.second-level li a>img{
    位置:固定;
    顶部:10px;
    }
    标题#桌面导航ul li二级li:悬停{
    背景#3636;
    }
    标题#桌面导航ul li.二级li.向上箭头{
    颜色:#4c;
    游标:默认值;
    字体大小:14px;
    左:48%;
    位置:绝对位置;
    顶部:-11px;
    }
    标题#桌面导航ul li.active a{
    颜色:#c40009;
    边框底部:3px实心#c40009;
    垫底:8px;
    }
    标题#桌面导航ul li:hover>。第二级{
    能见度:可见;
    不透明度:1;
    }
    标题#桌面导航ul li:悬停>a{
    颜色:#c40009;
    边框底部:3px实心#c40009;
    颜色:#c40009;
    垫底:8px;
    }
    标题#桌面导航ul li:悬停>a.stickyLogo{
    边界底部:0;
    }
    标题#桌面导航a{
    -webkit过渡:颜色0.4s;
    -moz过渡:颜色0.4s;
    -ms转换:颜色0.4s;
    过渡:颜色0.4s;
    }
    
    您可以通过
    转换:translateX()实现它规则

    请参阅更新的小提琴:

    以下是css:

    .second-level {
      padding: 0;
      -webkit-transform: translateX(-25%);
      -ms-transform: translateX(-25%);
      transform: translateX(-25%);
    }
    
    编辑


    抱歉,我忘了添加css3前缀-我已经用新的fiddle更新了链接。

    您可以通过
    transform:translateX()实现它规则

    请参阅更新的小提琴:

    以下是css:

    .second-level {
      padding: 0;
      -webkit-transform: translateX(-25%);
      -ms-transform: translateX(-25%);
      transform: translateX(-25%);
    }
    
    编辑


    抱歉,我忘了添加css3前缀-我已经用新的fiddle更新了链接。

    用你的代码更新了fiddle,仍然不起作用-使用这个编辑过的答案,它有完整的样式表并复制粘贴它来代替原来的样式hmm,我全部替换了它,它仍然没有居中。我希望下拉框出现在父LIN的中间,更新您的代码,仍然不工作-使用这个编辑的答案,它有完整的样式表和复制粘贴它代替原来的样式表,我把它全部替换了,它仍然没有居中。我希望下拉框出现在父LII的中间