Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Сообщения об ошибках » Неправильно присвоен класс в таблицах в движке Майбб..


Неправильно присвоен класс в таблицах в движке Майбб..

Сообщений 1 страница 4 из 4

1

Недавно решил заняться дизайном и столкнулся с интересной особенностью присвоения классов:
Для начала посмотрим таблицу на главной странице:

<table cellspacing="0" summary="Список форумов в категории: Информационный раздел">
    <thead>
        <tr>
        <th class="tcl" scope="col">Форум</th>
        <th class="tc2" scope="col">Тем</th>
        <th class="tc3" scope="col">Сообщений</th>
        <th class="tcr" scope="col">Последнее сообщение</th>
        </tr>
    </thead>
    <tbody class="hasicon">
        <tr id="forum_f1" class="alt1">
        <td class="tcl">
            <div class="intd">
            <div class="icon"><!-- --></div>
            <div class="tclcon"><h3><a href="http://forum.mybb.ru/viewforum.php?id=1">Информация сервиса</a></h3>Этот форум предназначен для извещения пользователей о всех изменениях, нововведениях в сервисе, а так же и на этом форуме.</div>
            </div>
        </td>
        <td class="tc2">50</td>
        <td class="tc3">5903</td>
        <td class="tcr"><a href="http://forum.mybb.ru/viewtopic.php?id=22588&amp;p=27#p826950">17 марта 2010г.: Отключение рекламы и Фонд форума</a><br>Вчера 06:02:20 - electro</td>
        </tr>
        </tbody>
    </table>

В данном случае все понятно и хорошо с классами: tcl, tc2, tc3, tcr - всё логично..А теперь возьмем таблицу с Активными:

<table cellspacing="0">
    <thead>
        <tr><th class="tcl" style="width:25%" scope="col">Имя</th>
        <th class="tcl" style="width:25%" scope="col">Последнее действие</th>
        <th class="tc3" scope="col">Время</th>
    </tr></thead>
    <tbody>
        <tr>
        <td class="tcl"><a href="http://forum.mybb.ru/profile.php?id=23723">kolobdur74</a></td>
        <td class="tcl" style="width:25%"><a href="http://forum.mybb.ru/online.php">Смотрит список активных пользователей</a></td>
        <td class="tc3">Сегодня 20:47:52</td>
        </tr>
        </tbody>
    </table>

А здесь уже не все хорошо, а уже грустно: Две ячейки с одинаковым классом: tcl (это вместо того, чтобы вторая была с классом: tc2 - по логике однако), и последняя ячейка идет с классом не с tcr как по логике должно быть, а с tc3..То есть уже дизайн таблиц общим не сделаешь - какой прок от таких классов, если они ведут себя как ИД, уж лучше было бы ИД в таком случае...Но и это еще не грустно, гораздо грустнее ситуация с Участниками:

<table cellspacing="0" summary="Пользователи, отфильтрованные по критерию.">
    <thead>
        <tr>
        <th class="tcl" scope="col">Имя</th>
        <th class="tc2" scope="col">Статус</th>
        <th class="tc3" scope="col">Уважение</th>
        <th class="tc3" scope="col">Сообщений</th>
        <th class="tc3" scope="col">Зарегистрирован</th>
        <th class="tc3" scope="col">Был</th>
        </tr>
    </thead>
    <tbody>
        <tr class="altstyle">
        <td class="tcl"><span class="usersname"><a href="http://forum.mybb.ru/profile.php?id=31982">morganchees</a></span></td>
        <td class="tc2">Стремящийся</td>
        <td class="tc3">+1</td>
        <td class="tc3">13</td>
        <td class="tc3">Вс, 22 Дек 2013</td>
        <td class="tc3">Сегодня</td>
        </tr>
        </tbody>
    </table>

И на фига, спрашивается, козе баян? Четыре с классом: tc3, и опять таки в конце нет tcr, хоть tcl не два...Вот и спрашивается - на фига такая структура, если при минимальной правке стиля нужно применять костыль в виде скрипта? К примеру, в последнем случае я не знаю как можно без использования скрипта сделать закругление бордюра в верхнем правом углу только у последней ячейки, а не у всех четырех с классом tc3...Это выходит, что нормальный (под нормальным имею ввиду, что не только прямоугольники с одинаковыми цветами) легкий стиль в принципе невозможен на такой структуре..
Ну, если вы думаете, что на этом всё, то заблуждаетесь - идем в Сообщения:

<table cellspacing="0">
                <thead>
                <tr>
                    <th class="tcl pmtcl1" scope="col">Тема</th>
                    <th class="tc2 pmtc22" scope="col">Отправитель</th>
                    <th class="tc3 pmtc33" scope="col">Дата</th>
                    <th class="tc2 pmtc24" scope="col"><input type="checkbox" id="checker" title="Выделить все" onclick="checkAll(document.getElementsByName('multi_delete[]'), this.checked)"></th>
                </tr>
                </thead>
                <tbody class="hasicon">
                <tr>
                    <td class="tcl pmtcl1">
                    <div class="intd">
                        <div class="icon"><!-- --></div>
                        <div class="tclcon"><a href="http://forum.mybb.ru/messages.php?box=0&amp;p=1&amp;id=341845">RE(2): Privet.</a></div>
                    </div>
                    </td>
                    <td class="tc2 pmtc22"><a href="http://forum.mybb.ru/profile.php?id=6908">Je Ane</a></td>
                    <td class="tc3 pmtc33">Вчера</td>
                    <td class="tc2 pmtc24"><input type="checkbox" name="multi_delete[]" value="341845"></td>
                </tr>
                </tbody>
            </table>

Правда симпатишно: tcl, tc2, tc3, tc2? На конце видим опять таки не логичный: tcr, а совсем алогичный: tc2..И выходит, что короткий красивый код под все уровни для таблицы фиг сделаешь - попробуешь сделать, и где нибудь будет обязательно криво...

И в связи со всем выше сказанным, у меня вопрос к Администратору сервиса: Возможно ли поправить шаблон, чтобы в любой таблице tcl - был всегда слева, tcr - всегда справа, и чтобы в одной строке их не было по десять штук, а только слева и справа? В принципе я так понимаю, что изначально так и задумывалось, но почему от этого отказались?

0

2

kolobdur74
Как то не придавал значение данной проблеме, - знаю о ней.

Данный финт изменения классов был применён для выравнивания размеров ячеек(По-ходу он из исходника движков), ибо стандартные на главной не подходят для равноценной инфы по ширине

Есть селектор страницы, ежели нун привести к виду на главной
Ко всему прочему есть во всех браузерах, - кроме cтарых Ие псевдоклассы:
для общего случая: nth-child (а так же есть для первого и последнего элемента родителя и т.д)
Применяем через родительский tr

Отредактировано Deff (Вс, 12 Янв 2014 01:11:05)

0

3

Deff написал(а):

Данный финт изменения классов был применён для выравнивания размеров ячеек(По-ходу он из исходника движков), ибо стандартные на главной не подходят для равноценной инфы по ширине

Ну, в таких случаях применяются другие классы, а так все равно выравнивание криво выходит - как пример: http://forum.mybb.ru/userlist.php - это явно ненормальное выравнивание ячеек, под ник давать такое огромное пространство, а под тот же Зарегистрирован оставить столько место, что само слово не помещается, и это на всех стандартных дизах, и опять таки без танцев с бубном это не исправить, бо приходится править всё это через дополнительные селекторы и дополнительное нагромождения кода..

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

0

4

kolobdur74 написал(а):

под ник давать такое огромное пространство, а под тот же Зарегистрирован оставить столько место, что само слово не помещается, и это на всех стандартных дизах, и опять таки без танцев с бубном это не исправить, бо приходится править всё это через дополнительные селекторы и дополнительное нагромождения кода..

Согласен.
Пришлось править через CSS, когда это должно по идее изначально сделано правильно.
Такая же [пренебрежительное описание] на странице Показать всех пользователей с этим IP

http://s6.uploads.ru/t/RwYTa.jpg

0


Вы здесь » Единый форум поддержки » Сообщения об ошибках » Неправильно присвоен класс в таблицах в движке Майбб..