Почему маржинальная вершина работает, а маржинальная - нет? - PullRequest
3 голосов
/ 14 октября 2010

У меня есть следующая HTML-разметка, и я хочу, чтобы тег div меню всегда был на расстоянии 5 пикселей от нижней границы родительского контейнера.

Я могу вручную с помощью метода проб и ошибок позиционировать его, используя margin-top, но если бы мне пришлось изменить логотип или размер div, мне пришлось бы изменить это значение снова, используя метод проб и ошибок. Гораздо лучшим решением было бы сказать, всегда ли 5px от дна, вместо того, чтобы указывать, что это X пикселей сверху.

Почему это не работает? alt text

<body>
    <div id="header">
        <img src="../../Content/images/cumaviLogo.png" alt="Cumavi.com - Compras y ventas online en Bolivia!" />    
        <ol id="topuserbar">
            <li>Bienvenidos, <span class="userSalute">Sergio!</span></li>
            <li><a href="#">Mis Anuncios</a></li>
            <li><a href="#">Perfil</a></li>
            <li><a href="#">Cerrar Sesion</a></li>
        </ol>
    </div>

    <asp:ContentPlaceHolder ID="MainContent" runat="server" />
</body>

#header
{
    background-image: url('images/headerBackground.png');
    background-repeat:repeat;
    width:auto;
}

#topuserbar
{
    border: 1px solid red;  
    font-family:Georgia;
    font-size:large;
    float:right;
    margin-top:45px;  
}

#topuserbar ol
{
}

#topuserbar li
{
    display:inline;
    margin-left:10px;
    color:#fff;
}

Ответы [ 3 ]

1 голос
/ 14 октября 2010

вы используете ol, который является списком ... поэтому у него есть свои предустановки и отступы, которые могут сыграть большую роль в результате.

также вы можете использовать position: absolute для меню на вашем CSS. и position: relative для вашего родительского элемента. и затем используйте bottom: 5px; для вашего меню. это всегда будет привязывать меню 5px к родителю, который, как я полагаю, это то, что вы ищете.

также, как я сказал, проверьте, что поле и отступ тега ol были удалены.

0 голосов
/ 14 октября 2010

Общеизвестно, что заставить HTML-элементы оставаться на дне вещей.Тем не менее, вы можете попробовать переместить ol за пределы заголовка div, установив положение относительно и потянув его вверх -Ypx.

Размер изображения может измениться, но вы можете быть относительно уверены, что положение ol относительно div не изменится.

Это будет немного странно для остальныхтем не менее, ваш поток DOM, если только вы не установите нижнее поле ol на -Ypx.

Не совсем ответ ... но это может помочь.

0 голосов
/ 14 октября 2010

Ну, я всегда рекомендую людям использовать файл reset.css http://meyerweb.com/eric/tools/css/reset/

А почему ол? Я думаю, что ul имеет больше смысла в таком меню ...

...