2012-04-13 3 views
5

У меня есть div с position: absolute набор, и он чуть-чуть шире моего окна браузера. Я успешно спрятал горизонтальную полосу прокрутки, но я все еще могу прокручивать трекпад с Macbook.body: overflow-x - все еще можно прокручивать трекпад

Есть ли способ обойти это?

<div id="container"> 
    <div id="big-image"></div> 
</div><!-- #container --> 

#container { 
    overflow-x: hidden; 
} 

#big-image { 
    background: transparent url('/path/to/image.png') no-repeat center top; 
    position: absolute; 
    width: 1307px; 
    left: 50%; 
    margin: 0 0 0 -653.5px; 
    z-index: 4; 
} 

ответ

7

Если вы не ограничиваете высоту # контейнера, просто установите переполнение в скрытое, поскольку переполнение-x странно, поскольку оно удаляет полосу прокрутки, но все же позволяет вам прокручивать.

Пример

body { 
    overflow-x: hidden; 
} 

#container { 
    overflow: hidden; 
    width: 100%; 
} 
+0

Это сработало, но есть небольшая проблема, когда окно достаточно мало, чтобы область _content_ вызывала горизонтальную полосу прокрутки. То есть вы можете прокручивать, но изображение, которое я использовал, отключено, и оно просто белое, куда должно идти изображение. Тем не менее, спасибо! На данный момент я работал над ним с JS, но можно ли это сделать с помощью чистого CSS? –

+0

Я не уверен, что вы имеете в виду по области содержимого: S Возможно, также установлено свойство переполнения для скрытия? –

+0

Я просто понял, что никогда не ответил на ваш вопрос. Я не помню, на что я работал в то время, но я думаю, что могу объяснить. Технически я никогда не понял это полностью, и у меня все еще есть способ обхода JS на месте lol. –

1

Вы могли бы, вероятно, использовать position: fixed; на #big-image.

+0

Пользователю еще нужно прокручивать _down_ и 'позиции: fixed' будет держать DIV посаженный на вершине даже после прокрутки. но все равно спасибо. –

+0

Добрый трудный вам помочь, когда я не знаю ваших требований. –

+0

Извините, я ценю ваше намерение помочь! :) –