Можно также аннулировать высоту строки родителя:
#wrapper {
line-height: 0;
}
Все исправления: http://jsfiddle.net/FaPFv/
В конце я должен был переписать большую часть кода, но следующий "прием" был получен:
я повредил перечисления C#, и используйте статических участников на регулярном классе. Этот класс был превращен в одиночный элемент и является inited на приложении, запускаются.
конструкторам Моих статических участников разрешают сослаться на другого статического участника как на "родителя".
Затем, мой init метод использует отражение для прохождения через каждого статического участника и индексирует их на основе нескольких свойств. Эти индексы хранятся в хеш-таблицах, которые являются также членами одиночного элемента.
я таким образом добираюсь:
одноэлементный объект, который:
Мой init метод делает изрядное количество проверки. Если недопустимый (такие как дубликат) статические участники создаются, Вы получаете ошибку времени выполнения на запуске приложения.
, Очевидно, довольно большой взлом, но я довольно доволен им.
Вы могли определить значения с помощью перечисления, но затем сослаться на них через константы в статических классах так, чтобы разработчики не становились сверхстолкнутыми большим перечислением. Вы могли иметь:
enum MySuperEnumGroup
{
Group1Item1,
Group1Item2,
Group1Item3,
Group2Item1,
Group2Item2,
Group2Item3,
Group3Item1,
Group3Item2,
Group3Item3,
}
static class MySuperEnumGroup_Group1
{
public const MySuperEnumGroup Item1 = MySuperEnumGroup.Group1Item1;
public const MySuperEnumGroup Item2 = MySuperEnumGroup.Group1Item2;
public const MySuperEnumGroup Item3 = MySuperEnumGroup.Group1Item3;
}
static class MySuperEnumGroup_Group2
{
public const MySuperEnumGroup Item1 = MySuperEnumGroup.Group2Item1;
public const MySuperEnumGroup Item2 = MySuperEnumGroup.Group2Item2;
public const MySuperEnumGroup Item3 = MySuperEnumGroup.Group2Item3;
}
//etc.
Я бы пошел с этим (который работает, по крайней мере, в VB.NET)
enum MySuperEnumGroup
{
Group1Item1,
Group1Item2,
Group1Item3,
Group2Item1,
Group2Item2,
Group2Item3,
Group3Item1,
Group3Item2,
Group3Item3,
}
enum MySubEnumGroup
{
Group2Item1 = MySuperEnumGroup.Group2Item1
Group3Item1 = MySuperEnumGroup.Group3Item1
Group3Item3 = MySuperEnumGroup.Group3Item3
}
Затем сделайте какой-нибудь CType, когда вам нужно.