Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Вопрос с собеседования. Единственный.


Автор: vlad275 29.3.2009, 23:17
Как поменять местами левый и правый <td> в таблице. Я не  знал. На работу не взяли. неужели 
.left {align:right;}  ?

Автор: WebDisaster 30.3.2009, 05:08
Средствами css? Тогда, по-видимому, речь идёт о dir: ltr (rtl)

Автор: FightInGlory 30.3.2009, 08:50
А нафига вообще это?)

Автор: vlad275 30.3.2009, 14:41
FightInGlory, Это тест при приеме на работу.

Автор: vlad275 30.3.2009, 17:13
Это не направление вывода текста (dir: ltr)
Задание было такое. В таблице есть две колонки N1 и N2. Их нужно поменять местами на CSS. когда я сказал, что не знаю как это сделать. горботодатель посмотрел на меня как на кусок дерьма и на этом собеседование закончилось.

Автор: NDenis 30.3.2009, 17:22
vlad275, с этим dir: ltr возникают проблемы в опере. Там происходит не замена местами ячеек, а замена местами текста. И если ячейки у вас разной ширины, то проблемы можете представить.
Поэтому вопрос верный "А нафига оно нужно". И если только из-за этого вопроса прекращают собеседование, то мое мнение, вам очень повезло.

Автор: bars80080 30.3.2009, 18:05
Цитата(NDenis @  30.3.2009,  17:22 Найти цитируемый пост)
И если только из-за этого вопроса прекращают собеседование, то мое мнение, вам очень повезло

угу. помнится мне в одном месте дали задание, я сделал что-то, мне его завернули с общими фразами на троечку. я: "а как надо? в чём ошибка?". мне показали их реализацию - дык, они сами не выдержали своих критериев.
таких фирм надо держаться подальше, обычно 5 начальников и один арбайтер на конвеере, а клиенты потом плюются

Автор: webster 30.3.2009, 21:36
Если подобный вопрос задается без предоставления машинного времени на реализацию, то следует "вежливо" отказаться.
Если это устный вопрос, типа... то всегда надо отвечать - да, конечно можно!

А на практике действительно можно поменять две колонки (но подобная задача во всех случаях останется надуманной :-( ):
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="ru" xml:lang="ru" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Sample</title>
    <style type="text/css">
    * {
        margin: 0px;
        padding: 0px;
    }
    table {
        width: 100%;
        float: left;
        border-collapse: collapse;
    }
    td {
        height: 50px;
        width: 50%;
        position: relative;
        display: inline-block;
    }
    .leftcol {
        background: red;
        left: 50%;
    }
    .rightcol {
        background: green;
        margin-left: -50%;
        left: auto!important;
        left: -50%;
    }
    </style>
</head>
<body>
<table>
<tr>
<td class="leftcol"></td>
<td class="rightcol"></td>
</tr>
</table>
</body>
</html>

Автор: WebDisaster 31.3.2009, 05:35
Цитата(webster @  30.3.2009,  21:36 Найти цитируемый пост)
подобная задача во всех случаях останется надуманной 


Представьте себе, что Вам достался в редизайн сайт с табличным шаблоном, "вписаным" в движок. При этом движок переписывать нельзя (или нецелесообразно). Здесь когда-то описывалась реальная задача, которую можно было порешать подбными средствами. Причём предлагаемый Вами вариант, насколько помнится, там не проходил, поскольку ширина колонок менялась динамически в зависимости от контента (поэтому и td {width: 50%} неприменимы). Жизнь иногда подкидывает задачи, которые себе даже представить трудно.

Я бы этот тред даже поискал, но времени нет совсем =). 

Автор: webster 31.3.2009, 06:47
Цитата(WebDisaster @  31.3.2009,  05:35 Найти цитируемый пост)
с табличным шаблоном, "вписаным" в движок.

Представление html сейчас обычно отделено в движках от кода PHP (или иного) и это правильно и логично. Так легче исправить макет и начать выводить динамическую информацию именно там (в той колонке) где нужно. Но даже если код вписан в движок, то и в этом случае лучше изменить шаблон, преобразовать, переставить местами, чем через CSS на столько сильно "ломать" макет.
Если же этого "земными силами" сделать невозможно, то редизайн требуется и движку или его надо менять на более адекватный.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)