Проблема с переполнением IE: авто;и Рафаэль холст загружается в DIV - PullRequest
1 голос
/ 16 августа 2011

Я пытаюсь поместить холст Рафаэля в div, который меньше, чем фактический холст. Так что в основном у меня есть что-то вроде этого:

var paper = Raphael("test", 2000, 2000); 
var a = paper.rect(0, 0, 2000, 2000).attr({fill: "#000"}); 
//
<div id="test" style="width: 500px; height: 500px; overflow: auto;"></div>

Кажется достаточно простым? У большинства браузеров с этим нет проблем, но IE7 заставляет весь прямоугольник 2000x2000 на экране игнорировать все ограничения div.

Я попытался поместить div в другой div следующим образом:

<div id="ieholder" style="width: 500px; height: 500px; overflow: auto;">
<div id="test" style="width: 2000px; height:2000px;"></div>
</div> 

Но не повезло, случилось то же самое. Это можно обойти? это Все это уже компромисс, так как я использую Raphael-ZPD, чтобы дать пользователям функция масштабирования и панорамирования, но так как она не работает в IE, я подумал, что просто дайте пользователям IE изображение с базовыми функциями панорамирования, но нет! Черт ты IE!

http://jsfiddle.net/WdwGQ/

<div id="ieholder" style="width: 500px; height: 500px; overflow: auto;">
<div id="map" style="width: 2132px; height: 2872px;">

    <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="2000" height="2000">
    <desc>Created with Raphaël</desc>
    <defs>
    <rect x="0" y="0" width="2000" height="2000" r="0" rx="0" ry="0" fill="#000000" stroke="#000">
    </svg>

</div>
</div>

Ответы [ 2 ]

1 голос
/ 14 мая 2012

Этот пост дает ответ:

Ошибка при просмотре CSS в IE7

Создание внешнего <div> (тот, что в стиле overflow:auto) position:relative сортирует его.

1 голос
/ 16 августа 2011

Предложите своим пользователям использовать Google Chrome Frame , который встраивает движок рендеринга Chrome в IE?

В качестве альтернативы, предложите им использовать лучший браузер ?

Это на самом деле не решение основной проблемы, но это сделает основную проблему неактуальной.Может или не может быть способ заставить IE7 делать то, что вы хотите.Я часто находил, что нет ...

...