CSS - Как предотвратить горизонтальную прокрутку?

Этот вопрос, вероятно, имеет простое решение.

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

Это сделано намеренно, так как я хочу, чтобы прокручивался только правый столбец, если он будет содержать читаемый контент для страницы. Так что все отлично, правда?

Не совсем, левый столбец перемещается влево, а правый столбец также перемещается с достаточно большим левым полем, чтобы позволить правильно размещаться на странице при загрузке.

Однако, когда экран слишком мал по горизонтали, пользователь может прокручивать влево и вправо, перемещая второй столбец вокруг и даже под моим фиксированным первым столбцом. Это то, что я хочу предотвратить.

Как я могу заставить второй столбец прокручиваться вертикально, но не двигаться горизонтально?

Вот фрагмент кода CSS:

#main-content {float: left; margin: 100px 0 0 0; background: rgba(128,127,128,0.9); padding: 15px 25px 15px 15px; width: 500px; -moz-border-radius: 20px; -webkit-border-radius: 20px; border-radius: 20px;}
#button-glue {float: left; position: fixed; padding: 0 25px 15px 0px; width: 525px;}
#button{
    float:right; margin: 5px -20px 0 0;
}
#button a {
    background:url(../images/button.png) 
    no-repeat;
    display:block; /* Necessary, since A is not a block element */
    width: 167px;
    height: 58px; 
}
#button a:hover {
    background:url(../images/buttonhover.png) no-repeat;
    width:167px;
    height:58px;
}
.right {float:right; margin: 0 0 5px 25px;}
#secondary-content {float: right; margin: 100px 0 15px 569px; background: rgba(128,127,128,0.9); padding: 20px; background: rgba(128,127,128,0.9); width:405px; -moz-border-radius: 20px; -webkit-border-radius: 20px; border-radius: 20px;}

Спасибо!

2 ответа

overflow-x:hidden

это не позволит полосам прокрутки на элементе и скрыть что-либо висит над.

Надеюсь, я правильно понял ваш вопрос, но почему вам не нужно использовать float.

Float - это толкание элемента влево или вправо, и я думаю, что это очень удобно, но для решения вам оно не нужно. Вместо этого вы можете использовать в своей позиции div вторичного контента: absolute. Вместо использования полей проще использовать верхнюю часть слева. Поэтому, если вы хотите, чтобы ваш div-контент был в нужном месте, вы можете использовать:

position: absolute;
top: 100px;
left: 569px;

Я предлагаю вам сделать то же самое с другими элементами и использовать поля для создания пространства вокруг ваших элементов.

Другие вопросы по тегам