Зависание прокрутки в Safari - PullRequest
3 голосов
/ 13 июля 2011

Я делаю сайт, который должен работать со всеми браузерами.Я протестировал IE, FF, Opera, Chrome и решил множество вещей, связанных с совместимостью CSS и jQuery ... но последнее, что сводит меня с ума: (

Safari не работает должным образомна вертикальной полосе прокрутки div. Он блокируется в нижней части div при первом доступе. Увеличение / уменьшение масштаба страницы - единственный способ разблокировать ее ... тогда это работает ...

У меня есть этоCSS (только часть):

html, body {
margin: 0px 0px 0px 0px; 
font-family: "Trebuchet MS", sans-serif;
background-color:#FFF2E6;
height:100%;
overflow:hidden;
}

#content {
margin-top:5px;
margin-left:170px;
position:fixed;
float:right;
width:88%; 
height: 85%; 
display:inline;
overflow:auto;
background-color:#E5E5E5;
}

#main_content {
position:static;
width:99.8%; 
height: 85%; 
}

HTML-страница (только интересующий блок):

<div id="main_content">
  <div id="menu">
      <p>Menu</p>
      ... menu block ...
  </div>
  <div id="content"><p>Content</p></div>
</div>

Есть ли способ решить проблему с застреванием прокрутки div в Safari?Большое спасибо за вашу помощь и извините за мой английский.

Ответы [ 2 ]

0 голосов
/ 14 июля 2011

Проблема в том, что у меня есть страница, сгенерированная PHP, которая печатается в #content div через функции Ajax, ну, на этой странице есть некоторые теги iframe для загрузки файлов (единственный рабочий прием для загрузки файла в jQuery / Ajaxcontext ..) Эти iframe имели свойство src, установленное на src='#', что заставило Safari зависнуть при простой прокрутке div ...

Так что, если вы столкнулись с такой проблемой, просто не забудьте исправить iframe src="#" до iframe src=".

0 голосов
/ 13 июля 2011

Просто счастливый выстрел, не уверен, сработает ли он:

попробуйте использовать zoom:1; в вашем блоке #content css.Хотя это не широко поддерживаемый тег, но я вспоминаю, что он совершил чудеса для некоторых CSS в IE, возможно, он будет работать и для Safari.

Извините, если я ошибаюсь.

...