Ответ 1
Да, возможно, на тэге html введите style="overflow-x: hidden"
. Это сделает трюк...
У меня есть абсолютно позиционированный элемент, который является "вне" страницы, но я хочу, чтобы браузеры (я использую Firefox 3) не отображали горизонтальные полосы прокрутки. Кажется, что отображение div, расположенного слева (например, имеющего "left: -20px" ), в порядке, и ни одна полоса прокрутки не отображается. Однако одно и то же справа (справа: -20px) всегда показывает полосу прокрутки. Можно ли скрыть полосу прокрутки, но чтобы сохранить стандартную прокрутку? Я имею в виду, что я хочу отключить прокрутку из-за этого элемента с абсолютным позиционированием, но сохранить прокрутку из-за других элементов (я знаю, что могу полностью отключить полосы прокрутки, это не то, что я хочу).
<!DOCTYPE html>
<html>
<body>
<div id="el1" style="position: absolute; top: 0; background-color: yellow; left: -20px;">
element
</div>
<div id="el2" style="position: absolute; top: 0; background-color: yellow; right: -20px;">
element
</div>
<h1>Hello</h1>
<p>world</p>
</body>
</html>
Да, возможно, на тэге html введите style="overflow-x: hidden"
. Это сделает трюк...
На самом деле это можно сделать с использованием прямого CSS без каких-либо ограничений на ширину страницы и т.д. Это можно сделать:
Содержимое в вашем первом div будет правильно выровнено с содержимым вашего второго div, но любое его содержимое, выходящее за пределы периметра окна, будет усечено.
Вот рабочий пример, который сохраняет изображение в фиксированном положении относительно остальной части содержимого без использования JavaScript:
#widthfitter {
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
overflow: hidden;
}
#contentWrapper {
width: 100%;
position: absolute;
text-align: center;
top: 0;
left: 0;
}
.content {
width: 600px;
position: relative;
text-align: left;
margin: auto;
}
<div id="widthfitter">
<div class="content">
<img src="https://i.stack.imgur.com/U5V5x.png" style="position:absolute; top: 240px; left: 360px" />
</div>
</div>
<div id="contentWrapper">
<div class="content">
Tested successfully on:
<ul>
<li>IE 8.0.6001.18702IS</li>
<li>Google Chrome 17.0.963.46 beta</li>
<li>Opera 10.10</li>
<li>Konqueror 4.7.4</li>
<li>Safari 5.1.5</li>
<li>Firefox 10.0</li>
</ul>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip
ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit
augue duis dolore te feugait nulla facilisi.
</p>
</div>
</div>
Что вам нужно сделать, так это добавить оболочку за пределы ваших div.
Вот CSS: я вызываю свой класс 'main_body_container'
.main_body_container {
min-width: 1005px; /* your desired width */
max-width: 100%;
position: relative;
overflow-x: hidden;
overflow-y: hidden;
}
Надеюсь, это поможет:)
Обновление
Создал ручку для нее, см. здесь
Не слишком уверен, что это поможет, но вместо этого вы можете попробовать изменить стиль для указанных div:
<div id="el1" style="position:fixed; left:-20px; top:0; background-color:yellow; z-index:-1">element</div>
<div id="el2" style="position:fixed; left:20px; top:0; background-color:yellow; z-index:-1">element</div>
Вместо того, чтобы устанавливать положение как фиксированное, оно "блокирует" указанные разделители, пока остальная часть содержимого все еще прокручивается. Конечно, это предполагает, что в том случае, если остальная часть содержимого укладывается в z-index, чтобы быть выше определенных div.
Надеюсь, что это поможет.
Добавьте это в свой CSS:
div {
overflow-x:hidden;
overflow-y:hidden;
}
Стили переполнения-x и -y не распознаются IE. Поэтому, если вы только обеспокоены Firefox 3, это будет работать нормально. В противном случае вы можете использовать javascript:
document.documentElement.style.overflow = 'hidden'; // firefox, chrome
document.body.scroll = "no"; // ie only
Поместите следующий стиль
html {overflow-x:hidden;}
Я смог решить эту проблему, изменив атрибут позиции элемента на фиксированный:
положение: фиксированный;
Более горизонтальная прокрутка, вызванная этим элементом, но все же горизонтальная прокрутка, вызванная другими элементами.