Горизонтальное выравнивание строк таблицы

Можно ли выровнять строки таблицы по горизонтали?

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

Мой ответ: "Я не могу контролировать структуру таблицы. Просто не могу, понятно?"


Код:

tr {
    display: inline;
}

Это выглядит нормально в FireFox, но Internet Explorer 7 выравнивает строки по вертикали. Я бы предпочел не использовать JavaScript.

РЕДАКТИРОВАТЬ: Прежде чем вы начнете взламывать JavaScript, я уже придумал что-то вроде этого:

String.prototype.replace.call(table.innerHTML,/<\/tr>.*<tr>/,"")

person bopjesvla    schedule 13.07.2011    source источник
comment
почему вы начинаете новую строку, если хотите, чтобы ячейки выровнялись по горизонтали? о, подождите, я уже спрашивал об этом..   -  person Phil    schedule 13.07.2011
comment
РЖУ НЕ МОГУ! Это может быть худший вопрос с тех пор, как смысл жизни?   -  person bopjesvla    schedule 13.07.2011
comment
Я уверен, что что-то упускаю - jsfiddle.net/nJUZM/1   -  person Jawad    schedule 13.07.2011
comment
help.lockergnome.com/office2/   -  person Jawad    schedule 13.07.2011
comment
@ Jawad: Ваш пример не работает в IE 7. Ваша вторая ссылка не имеет решения CSS, а является структурным решением. Я не могу изменить структуру таблицы, потому что она создается сервером...   -  person bopjesvla    schedule 13.07.2011
comment
@bopjesvla: Может быть, если бы вы углубились в свою цель, вы могли бы найти ответ. Итак, ваш сервер что-то производит, и вы не можете контролировать формат?! Вы пытались спросить об этом скрипте на своем сервере... например, если это какая-то система статистики на стороне сервера... может быть, кто-то знает, как редактировать исходный код... Это был бы самый изящный способ. Но определенно +1 вопрос, так как цели очень ясны, и это хорошая задача.   -  person Kalle H. Väravas    schedule 29.08.2011
comment
Виртуальный хостинг - фигня ^^   -  person bopjesvla    schedule 30.08.2011


Ответы (3)


Что насчет этого?

Код:

table tr { display: table-cell; };

Надеюсь, я помог.

person tommica    schedule 13.07.2011

Попробуйте использовать float:left; вместо отображения inline.

person AlienWebguy    schedule 13.07.2011
comment
Это будет прекрасно. Возможно, потребуется отказаться от назначения ширины, но по умолчанию все должно быть в порядке. - person Shef; 13.07.2011
comment
Я думаю, вы используете более позднюю версию... Я использую IE 7.0.5730.13 - person bopjesvla; 13.07.2011
comment
Хорошо, я вернусь, когда доберусь до работы - у меня есть несколько версий IE. Удачи пока :) - person AlienWebguy; 13.07.2011
comment
Спасибо! я не тороплюсь :р - person bopjesvla; 13.07.2011
comment
Да, AlienWebguy сказал, что попытается, но я не думаю, что он понял это. Он бы ответил, очевидно. - person bopjesvla; 30.08.2011

Если вы хотите центрировать содержимое tr, напишите его как

tr {width:100%, text-align:center} 

Если вы хотите указать точную ширину и центрировать всю таблицу, сделайте следующее:

table {width:100px (exact width), margin:0 auto; text-align:center}

Если у вас возникли проблемы с выравниванием, float:left; исправит их.

person Tural Ali    schedule 13.07.2011
comment
-1 Он сказал, что хочет выровнять <tr> рядом, а не по центру, - person AlienWebguy; 13.07.2011
comment
Извините, но я не хочу центрировать строки, но все строки должны быть на одной строке. - person bopjesvla; 13.07.2011
comment
Мы пытаемся помочь друг другу в этом сообществе, и я хочу помочь вам... почему вы поставили мне минус? Ты сейчас счастлив? Спасибо большое - person Tural Ali; 13.07.2011