Боковая панель кажется прикрепленной к основной, но я не знаю, как/как ее отменить

Я разрабатываю блог/портфолио с тремя разделами: заголовок/навигация в крайнем левом углу, основной контент в центре по вертикали, а боковая панель в крайнем правом углу. Мое намерение состоит в том, чтобы заголовок/навигация находились в фиксированном положении слева, а боковая панель — в фиксированном положении справа, а основной контент прокручивался по центру по вертикали.

Я заметил, что когда я начал работать над страницей портфолио (опять же, выровняв ее по центру по вертикали), таким образом удалив основной контент, боковая панель переместилась из своего предположительно фиксированного положения в крайнее левое рядом с заголовком/навигацией.

Мне трудно найти, что именно вызывает это, и я не совсем знаю, как обеспечить, чтобы боковая панель оставалась в крайнем правом углу независимо от того, что находится (или нет) в центре.

<body>
    <header>
        <logo>
            <a href="#"><img src="img/logo.png" alt="whskytngfxtrt logo" height="139" width="158" /></a>
        </logo><!-- end logo -->
        <nav>
            <ul>
                <li id="blog"><a href="#">BLOG</a></li>
                <li id="work"><a href="#">WORK</a></li>
                <li id="about"><a href="#">ABOUT</a></li>
                <li id="contact"><a href="#">CONTACT</a></li>
            </ul>
        </nav><!-- end nav -->
    </header><!-- end header -->

    <work>
        <category>
            <ul>
                <h1>Web</h1>

                <h1>Print</h1>

                <h1>Identity</h1>
            </ul>

    <sidebar>
        <dictionary>
            <h3><b>hwis-kee tang-goh foks-trot</b></h3>
            <h4><p><i>noun</i> 1. the best damn creative studio there ever was</p></h4>
        </dictionary><!-- end dictionary -->

        <twitter>
            <h3>@whskytngfxtrt</h3>
            <h4><ul>
                <li><a href="#">sometimes i just really love the internet</a></li>
                <li><a href="#">sometimes i just really love the internet</a></li>
                <li><a href="#">sometimes i just really love the internet</a></li>
            </ul></h4>
        </twitter><!-- end twitter -->

header {
    background: none;
    float: left;
    margin-top: 123px;
    margin-left: 22px;
    position: fixed;
    width: 158px; 
}
main {
    float: left;
    margin-left: 300px;
    margin-top: 310px;
}
work {
    float: left;
    margin-left: 300px;
    margin-top: 310px;  
}
sidebar {
    border-top: 1px solid #202020;
    padding-top: 25px;
    float: right;
    margin-left: 153px;
    margin-top: 295px;
    position: fixed;
    width: 158px;
}
sidebar dictionary {
    position: fixed;
}

sidebar twitter {
    list-style-type: none;
    position: fixed;
}

person AMC    schedule 08.03.2012    source источник
comment
Это действительно ваш код или просто фрагмент? Похоже, вложенность внутри неправильная.   -  person yunzen    schedule 08.03.2012
comment
Я нахожу ваш красочный язык, описывающий вашу студию, и оскорбительным, и непрофессиональным. Буду очень признателен, если отредактируете. Если вы это сделаете, не стесняйтесь удалить этот комментарий. Спасибо!   -  person SamStar    schedule 08.03.2012
comment
@yunzen- не могли бы вы уточнить? работая в основном в печати, я все еще довольно новичок в этом.   -  person AMC    schedule 08.03.2012
comment
@samstar- спасибо за заботу. тем не менее, я не вижу ничего плохого в том, чтобы добавить немного юмора на очень простой сайт. что касается языка, мне трудно поверить, что черт возьми будет худшим из того, что вы сегодня прочтете.   -  person AMC    schedule 08.03.2012


Ответы (1)


Похоже, вам нужно немного left:?px.

<удар>т.е. #sidebar {слева: 800px;

Что касается того, что вызывает это, если я правильно понимаю проблему, все, что происходит, это то, что position:fixed выводит боковую панель из потока документов, и поскольку она находится вне потока документов, она позиционирует себя напротив браузера. окно или следующий элемент position:fixed. Это нормальная функция position:fixed, и ее можно исправить с помощью left, right, top, bottom,, а если ничего не помогает, margin and padding.

Редактировать

Попробуйте этот код заменить стили боковой панели:

sidebar {
border-top: 1px solid #202020;
height: 100%;
margin-left: 153px;
margin-top: 295px;
padding-top: 25px;
position: fixed;
width: 158px;

Поплавки не работают с position:fixed. Это исправило это для меня... Но я все еще не вижу логотип. Судя по вашему URL-адресу, похоже, что img находится в файле на вашем компьютере и недоступно для реальной сети.

Это помогает?

person SamStar    schedule 08.03.2012
comment
Спасибо за помощь. При изменении position:fixed на position:right на странице index.html (или на главной) элементы «боковой словарь» и «боковой панели twitter» остаются на месте, а граница перемещается вместе с основным содержимым. На странице work.html элементы боковой панели отправляются в нижнюю часть страницы, хотя по-прежнему кажется, что они перемещаются вместе с «рабочим» содержимым. Я чувствую, что это, возможно, проблема вложенности, как предположил @yunzen, хотя я не уверен, как точно определить, что не так. - person AMC; 08.03.2012
comment
хм... с трудом представляю. Можете ли вы опубликовать как есть, а должно быть изображение? - person SamStar; 08.03.2012
comment
@samstar- у меня еще недостаточно баллов/кредитов для публикации изображений. могу я написать по электронной почте? - person AMC; 08.03.2012
comment
кажется, мы работаем примерно в одно и то же время... так что, как насчет завтрашней беседы около 9:30 утра по восточному поясу США? - person SamStar; 09.03.2012
comment
К сожалению, у меня сегодня довольно напряженный рабочий график. Мне удалось загрузить файлы, чтобы их можно было увидеть вживую.. логотип не отображается на моем конце - возможно, вы его видите? в любом случае, правая боковая панель должна находиться в фиксированном положении на одном уровне с левой навигацией. achenn.site90.net - person AMC; 09.03.2012
comment
Внес изменения. В index.html все работает нормально, однако боковая панель по-прежнему находится внизу страницы в work.html.. ? - person AMC; 09.03.2012
comment
Похоже, вам придется применить эти изменения к каждой странице, на которой у вас в настоящее время есть боковая панель, потому что все, что я видел, имело float:right, которое не работает с position:fixed. - person SamStar; 09.03.2012
comment
Я применил изменения к одному файлу style.css, который читают и index.html, и work.html. Я что-то упустил? - person AMC; 09.03.2012
comment
можно сделать по ссылке которую ты мне дал? - person SamStar; 09.03.2012
comment
Firebug Firefox по-прежнему показывает, что боковая панель смещена вправо. - person SamStar; 09.03.2012
comment
i.imgur.com/zldJd.png я сделал снимок экрана, показывающий изменения, внесенные на моем конец. Я применил предложенные вами изменения, загрузил на временный сайт, открыл firebug для проверки. мне пришлось немного уменьшить масштаб, чтобы показать боковую панель. * Я действительно так благодарен за всю вашу помощь. благодарю вас. - person AMC; 09.03.2012
comment
Это была моя привилегия! Так это исправлено? - person SamStar; 10.03.2012
comment
к сожалению нет, просто неловко отнимать у вас столько времени. .. как вы думаете, может ли это вызвать мое использование ‹sidebar›, ‹twitter› и т. д. для тегов вместо класса div или идентификатора div? - person AMC; 10.03.2012
comment
эй, это хобби, и HTML/CSS практика для меня, так что не беспокойтесь об этом. Это могло бы... определенно более продвинутые теги требуют более продвинутых браузеров... Это HTML5? Я не знаком с этим ... так или иначе, стандартные div, вероятно, облегчили бы разработку ... Я не буду так много на выходных, но я вернусь сильным Пн. Может быть, тогда мы сможем поболтать (пока SO не вышвырнет нас...). :) - person SamStar; 10.03.2012
comment
Наконец-то я разобрался со своей проблемой с боковой панелью. Я забыл закрыть несколько тегов в разделе «Работа». Как только я закрыл их, боковая панель подскочила туда, где я хотел. Спасибо еще раз. - person AMC; 11.03.2012
comment
для справки в будущем, проверка вашего HTML немедленно выявила бы проблему. Сайт проверки: validator.w3.org. - person SamStar; 11.03.2012
comment
Я использовал инструмент проверки в Coda — я полагал, что он поймает это. Я проверю w3 в следующий раз! - person AMC; 11.03.2012