прокрутка и CSS выровнены по «right: 0px» - PullRequest
1 голос
/ 09 января 2009

На HTML-странице, если я выравниваю некоторые <div> с "right: 0px", они все выглядят очень хорошо, как я и ожидал. Однако, если я уменьшу окно браузера и появится горизонтальная полоса прокрутки, при прокрутке страницы вправо я получу неожиданный пробел (вместо цветов фона моих <div> s). Кажется, что мои <div> s выровнены относительно видимой области страницы. Смотрите пример кода ниже:

<html>
    <head>
        <style>
        <!--
        #parent {
            position: absolute;
            left: 0px;
            right: 0px;
            top: 0px;
            bottom: 0px;
            background-color: yellow;
        }

        #child {
            position: absolute;
            left: 100px;
            top: 300px;
            width: 1000px;
            height: 400px;
            background-color: blue;
        }
        -->
        </style>
    </head>
    <body>
        <div id="parent"><div id="child">some text here</div></div>
    </body>
</html>

Есть ли способ заставить свойство "right: 0px" выровнять элементы управления относительно размера всей страницы, а не только видимой области?

Спасибо.

Ответы [ 6 ]

4 голосов
/ 09 января 2009

Проблема - это «абсолютная» позиция в родительском элементе, поскольку она прокручивается по определению.

Если вы установите положение «фиксированный» и дополнительный атрибут переполнится на «прокрутку», он должен выглядеть как ожидалось.

#parent {position: fixed;
         overflow: scroll;         
         left: 0px;
         top: 0px;
         right: 0px;
         bottom: 0px;
         background-color: yellow;
        }
0 голосов
/ 09 мая 2010

мой ответ: я хочу изменить прокрутку выравнивания? Пример прокрутки по правому краю.

#ex {overflow: scroll}          
0 голосов
/ 09 января 2009

Нужно ли использовать абсолютное позиционирование в вашем случае? В противном случае вы можете удалить свойства left и right и просто использовать width: 100%;

0 голосов
/ 09 января 2009

Правильно? Низ? Вы уверены, что это даже настоящие атрибуты CSS? Обычно вы просто устанавливаете top / left, а затем width / height ...

0 голосов
/ 09 января 2009

Не используйте абсолютную позицию, если вам абсолютно не нужно. Вместо этого используйте поля и отступы. И не забудьте сбросить поля и отступы, чтобы не начинать с того, что браузер имеет по умолчанию.

0 голосов
/ 09 января 2009

, если вы добавите

html{ border: 3px solid red }

к вашей таблице стилей, вы увидите, что вы устанавливаете свойство 'right' на край страницы.

Я думаю, вам нужно пересмотреть свою стратегию. Чего ты пытаешься достичь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...