【问题标题】:<ul> <li> <ul> not Positioned and Sized as expected<ul> <li> <ul> 未按预期定位和调整大小
【发布时间】:2011-11-07 20:00:26
【问题描述】:

标记:

<div id="topMenu"
    <ul class="topnav">
                            <li class="misReservas"><a title="" href="#" class="misReservas"><span>MIS RESERVAS</span></a></li>
                            <li class="misOfertas"><a title="" href="#" class="misOfertas"><span>MIS OFERTAS</span></a></li>
                            <li class="miCuenta"> <a title="" href="#" class="miCuenta" id="miCuenta"><span>MI CUENTA</span></a>
                                <ul class="subnav submenuMiCuenta" style="display: none;">
                                    <li class="first"><a href="#" title=""><span>MIS PUNTOS</span></a></li>
                                    <li class="last"><a href="#" title=""><span>MI PERFIL</span></a></li>
                                </ul>
                            </li>
                            <li class="misVentajas"> <a title="" href="#" class="misVentajas"><span>MIS VENTAJAS</span></a></li>
                            <li class="nuestrosHoteles"><a title="" href="#" class="nuestrosHoteles"><span>NUESTROS HOTELES</span></a></li>
                            <li class="nuestrosPartners"> <a title="" href="#" class="nuestrosPartners" id="nuestrosPartners"><span>NUESTROS PARTNERS</span></a> </li>
                        </ul>
</div>

#topmenu 的相关 CSS:

    #topmenu ul{
    list-style: none;
    display:block;
}
#topmenu li{float:left;height:50px;}
#topmenu li a{
    margin:0;
    padding:0;
    text-decoration:none;
    text-indent:0;
    background:none !important;
    width:auto;
    padding-bottom:5px;
}
#topmenu li a span{
    color: #EEEEFF !important;
    cursor: pointer;
    float: left;
    font-family: 'Cabin',Arial;
    font-size: 14px;
    height: 24px;
    letter-spacing: 0.2px;
    text-align: center;
    text-decoration: none;
    margin-top: 9px;
    padding: 15px 16px 5px 16px;
    display:inline-block;
    background:none;
}

.subNav 的 CSS

#topmenu li ul.subnav {
    display: none;
    left: 0px !important;
    position: absolute !important;
    top: 50px !important;
    z-index: 1000 !important;
    width: 98.9% !important;
}
#topmenu li ul.subnav li{
    clear: both;
    display: inline;
    float: left;
    height:33px;
    margin:0px;padding:0px;
    width: 100%;
}

#topmenu li ul.subnav li a  {
    margin:0;
    padding: 0;
    float:left;
    height:33px;
    display:inline-block;
    width:100%;
    background: url("../nImg/spriteMas.png") no-repeat scroll right -430px transparent !important;
    _background:#65ABE7;
}

问题在于使用 position:absolute;left:0px; 的位置不是我所期望的:我希望它根据 .miCuenta 偏移定位尊重它的大小,但我得到的是这样的:

知道我做错了什么吗?我没有在 px 中指定任何宽度或任何我认为它应该影响的东西......

【问题讨论】:

    标签: css size positioning css-position


    【解决方案1】:

    如果将position:absolute 赋予元素,则将position:relative 定义为parent

    在您的问题中,您将position:absolute 定义为#topmenu li ul.subnav,因此您将position:relative 定义为parent #topmenu li

    这样写:

    #topmenu li{
    position:relative;
    }
    

    【讨论】:

      猜你喜欢
      • 2012-08-25
      • 2013-05-19
      • 2021-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-13
      • 2022-12-20
      • 1970-01-01
      相关资源
      最近更新 更多