Страницы: 1
Всем привет. Я делаю некий XUL-интерфейс к серверному приложению. Суть в том что, "XUL файлы" на сервере имеют вид "some-file.xul.php", соответственно обрабатываются сервером как PHP. В браузер файлы отдаются так (пример).
<?php header('Content-Type: application/vnd.mozilla.xul+xml'); echo "<?xml version='1.0'?>\n"; echo "<?xml-stylesheet href='chrome://global/skin/' type='text/css'?>\n"; echo "<?xml-stylesheet href='double.css' type='text/css'?>\n"; ?> <window id="example-window" title="Example 8.1.2" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <tree flex="1"> <treecols> <treecol id="sender" label="Sender" flex="1"/> <treecol id="subject" label="Subject" flex="2"/> </treecols> <treechildren> <treeitem> <treerow> <treecell label="joe@somewhere.com"/> <treecell label="Top secret plans"/> </treerow> </treeitem> <treeitem> <treerow> <treecell label="mel@whereever.com"/> <treecell label="Let's do lunch"/> </treerow> </treeitem> </treechildren> </tree> </window>
Теперь проблема: исчезли <treechildren>!!! Заголовки есть, а самого "дерева" нет. Что я делаю не так?
Вот скриншоты:
PHP + XUL: http://img186.imageshack.us/img186/9981/phpxulfalseda7.jpg
Обычный XUL: http://img80.imageshack.us/img80/5577/xulokpe0.jpg
Отредактировано [S] (30-12-2007 14:56:02)
Отсутствует
Вот я тоже смотрю что все верно, но что-то не то.
Сравнивая два выходных файла, оказалось что причина вот в этом:
смотрим код double.css:
Дальнейшим методом своеобразного "половинного деления" выяснил, что проблема была в hbox{-moz-box-align:center;}
В CSS я не очень, но не пойму что тут неправильного было. Подскажите!
Вот как оказывается, что "неправильно определенный" стиль может свалить все приложение. Спасибо.
Отсутствует
Этот кусок кода я взял из туториала с xulplanet http://xulplanet.com/references/elemref … rties.html
По моему он должен делать следующее:
любой тэг <hbox> этот стиль превращает в такой:
Отсутствует
<hbox> является дочерним элементом <treerows> и hbox{-moz-box-align:center;} сбрасывает размеры treechildren в 0. Если эта часть css не предназначена для дерева, может быть, проще усложнить селектор ?
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton
Спасибо за комментарий. Честно говоря, то что "<hbox> является дочерним элементом <treerows>", это для меня - новость.
Можно ссылку откуда такие сведения? Хотелось бы еще узнать какие еще элементы являюся дочерними для других, чтобы в будущем так не попасть.
hbox{-moz-box-align:center;} действительно не предназначен для дерева, а только для <hbox> (всех), подумаю как сделать по другому.
Отсутствует
Можно ссылку откуда такие сведения?
Инструменты -> Инспектор DOM. В крайнем случае - chrome/toolkit/global/bindings
hbox{-moz-box-align:center;} действительно не предназначен для дерева, а только для <hbox> (всех), подумаю как сделать по другому.
можно
hbox:not([class="tree-bodybox"]) { ... }
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Страницы: 1