Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Правильное формирование таблицы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Aricus
Отправлено: 05 Марта, 2015 - 11:35:27
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Апр. 2014  


Помог: 0 раз(а)




Есть таблица:
CODE (html):
скопировать код в буфер обмена
  1. <table class="wide" cellspacing="15" cellpadding="10" border="0">
  2. <tr class="borderRed"><td class="tdUser">...</td>
  3.         <td colspan="2">...</td> </tr>
  4. <tr> <td colspan="3">...</td> </tr>
  5. <tr class="borderGreen"> <td colspan="2">...</td>
  6.         <td class="tdVar">...</td></tr></table>

, где установлена относительная ширина колонок:
CODE (html):
скопировать код в буфер обмена
  1. td.tdUser {width:20%; font-size:larger; line-height: 1.1}
  2. td.tdVar {vertical-align:middle; text-align:center; width:15%}

Так вот, почему правильно ширина распределяется только если в таблицу вставить пустую строку с прозрачными однопиксельными изображениями,
CODE (html):
скопировать код в буфер обмена
  1. <tr> <td><img src="image/Transparent.gif" alt="" /></td>
  2.         <td><img src="image/Transparent.gif" alt="" /></td>
  3.         <td><img src="image/Transparent.gif" alt="" /></td></tr>

и можно ли добиться правильного формирования как-нибудь ещё?
Без этой строки крайние колонки занимают почти всё доступное место.
 
 Top
RickMan
Отправлено: 05 Марта, 2015 - 11:44:39
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




&nbsp; - попробуй это вместо однопиксельной картинки.
 
 Top
GoDr
Отправлено: 06 Марта, 2015 - 05:36:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




Aricus пишет:
Без этой строки крайние колонки занимают почти всё доступное место.
Если не секрет, какой браузер и его версия? Я не смог повторить проблему, по крайней мере на http://jsfiddle[dot]net/ Была такая проблема в древних браузерах..
Ну или картинку приложи что и как.

RickMan пишет:
&nbsp; - попробуй это вместо однопиксельной картинки.
Лучше картинку. Мы же не знаем заполнение таблицы. А вдруг содержимое будет больше 1-го пикселя но меньше размера пробела


-----
Система управления веб-содержимым Lotos CMS
 
 Top
DelphinPRO
Отправлено: 06 Марта, 2015 - 11:51:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Aricus пишет:
Так вот, почему правильно ширина распределяется только если в таблицу вставить пустую строку с прозрачными однопиксельными изображениями,

Задайте таблице стиль

CODE (css):
скопировать код в буфер обмена
  1. table { table-layout: fixed; }


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

Если вам нужно не так жестко выдерживать размеры, то задайте размер самой таблице. Например

CODE (css):
скопировать код в буфер обмена
  1. table { width: 100%; }
  2. /* или */
  3. table { width: 500px; }

(Добавление)
Да, еще заметил, что у вас в примере в таблице всего две колонки, а вы колспаном делите как-будто их три. Это неверно.

(Отредактировано автором: 06 Марта, 2015 - 11:55:48)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Aricus
Отправлено: 06 Марта, 2015 - 17:00:05
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Апр. 2014  


Помог: 0 раз(а)




DelphinPRO пишет:

CODE (css):
скопировать код в буфер обмена
  1. table { width: 100%; }
  2. /* или */
  3. table { width: 500px; }

Да, еще заметил, что у вас в примере в таблице всего две колонки, а вы колспаном делите как-будто их три. Это неверно.

width: 100% у меня уже задано.
Ну, я хочу сделать так, чтобы в первой строке была шире вторая колонка, а в последней - первая, и при этом они были в одной таблице, потому так и сделал. По результату я понял, что это не правильно, потому и спрашиваю, есть ли другое решение проблемы кроме вставления пустой строки?

(Отредактировано автором: 06 Марта, 2015 - 17:00:56)

 
 Top
DelphinPRO
Отправлено: 06 Марта, 2015 - 18:00:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Нет. таким образом расставить colspan'ы не получится.
Как минимум одна строка нужна с полным набором колонок.
Но в эти пустые ячейки вовсе необязательно вставлять пиксельные картинки. Они могут быть реально пустыми ячейками.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTML, Дизайн & CSS »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB