2014-05-30 3 views
0

Я использовал библиотеку Raphael и столкнулся с нечеткой проблемой.Raphael 100% бумага дает мне вертикальную полосу прокрутки

В моем тестовом HTML содержится только div с идентификатором «main». Мой CSS просто-

* { 
    margin: 0px; 
    padding: 0px; 
    border: 0px; 
} 
body, html { 
    height: 100%; 
    width: 100%; 
} 
#main { 
    height: 100%; 
    width: 100%; 
} 

Я могу добавить больше материала в HTML без появления прокрутки. Но, как только я добавлю -

var paper = Raphael("main", "100%", "100%"); 

Я получаю вертикальную полосу. Кто-нибудь знает, почему? Если я установил его на «98%», он исчезнет, ​​и я готов принять это как быстрое и грязное обходное решение, но мне нравится знать причину всего. Плюс, кто знает, как это будет реагировать на разные платформы.

+0

как Johnny 5 говорит: «Need - More - Input» –

ответ

1

Человек, я действительно не мог понять, «почему»!

Но я создал скрипку с вашей проблемой (http://jsfiddle.net/Z8dYT/), и, окрашивая div и тело, можно увидеть, что div по-прежнему является правильной высотой. Просто тело немного переполнено.

Если это нормально, просто добавьте overflow:hidden к телу, и все будет в порядке. В противном случае, по крайней мере, я надеюсь, что скрипка будет полезна =)

+0

Хмм .. Это работает в jsfiddle (спасибо за это, кстати), но изменения не действуют, когда я загружаю свою локальную копию в Chrome. Изменение на FF, панель не отображается при использовании 100% или изменении CSS, но, кажется, игнорирует все мои изменения преобразования, когда я устанавливаю высоту и ширину бумаги на 100%. Который, на самом деле не является частью этой проблемы, но теперь это заставляет меня думать, что переход с прямыми жестко закодированными пикселями, а не процентами - это то, что мне может понадобиться. – Dinklebeeeerg

+0

Ах, неважно. Это сработало. Я um ... забыл связать CSS. >.> Все это время ... черт возьми: c И это, похоже, решило мою проблему FF. – Dinklebeeeerg

0

Я предполагаю, что это может быть проблема с коробкой. Попробуйте следующее:

#main { 
    box-sizing: border-box; 
} 

Jsfiddle помогает, кстати, так много. http://jsfiddle.net/

+0

Ха-ха, я действительно хотел добавить jsfiddle, но я подумал, что это может быть один из тех вопросов у которого есть очевидный ответ, что я просто отсутствовал. – Dinklebeeeerg