среда, января 28, 2009

Темы GWT. фичобаг

Если вы делаете достаточно сложный с точки зрения вёрстки проект, и что-то у вас результат не всегда соответствует тому что вы хотите, и сильно отличается в браузерах, то советую вам взглянуть на магическую незакомментированную строчку в вашем XXX.gwt.xml файле: <inherits name="'com.google.gwt.user.theme.standard.Standard'/">

Наверное они хотели как лучше, а получилось что получилось. Я конечно понимаю что новичкам возможность выбрать одну из предустановленных тем понравится наверное, но зачем делать стандартную тему которая мешает втыкать gwt кусок в большую сложную страницу со своим css - это для меня загадка. Вобщем закомментировав указанную выше строчку вы обретёте счастье.

3 комментария:

dsa комментирует...

Ну насчет закомментировать совсем это неправильно. Можно выбросить что-то жизненно нужное.

Правильное решение поменять ее на:
inherits name='com.google.gwt.user.theme.standard.StandardResources'

а в свой index.html (например) добавить

link rel="stylesheet" href="standard.css"

ПЕРЕД своими стилями. Тогда стили определенные программистом будут очевидно иметь приоритет.

Лаврентий Палыч комментирует...

Ну там были абсолютно все элементы кастомные, так что вариант закоментить работал.

Не помню точно пробовал я там standard или нет, по-моему пробовал. Вобщем там были проблемы видимо с приоритетом стилей. Потому что в разных браузерах получались разные результаты в плане отступов у кнопок и картинок которым я прописывал специальный стиль. Вёрстка была довольно сложной и разница в итоговых размерах сложной формы была видна невооружённым взглядом.

dsa комментирует...

>Вобщем там были проблемы видимо с приоритетом стилей

Да. Это существенно. Стандартные стили имеют приоритет на определенными программистом, как это ни странно (видно в firebug'е), причем сделано намеренно.

Чтобы все таки позволить применить свои стили, можно разбить стандартный стиль на две части, одну "*Resourse" оставить в inherits, а вторую перенести непосредственно в HTML, перед или после кастамизированными стилями.

Способ документированный. Где то на гугле описан именно для приоритов стилей.