Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Столбец таблицы с разной шириной в разных строках - можно ли такое ?
 
 автор: Cyrax   (28.01.2009 в 15:47)   письмо автору
 
 

Имеется таблица из 4 столбцов.
Для каждых нескольких строк в 3-м столбце размещена 1 картинка. Соответственно в 3-м столбце каждые несколько ячеек объединены по вертикали и в этой объединённой ячейке размещена картинка.
Проблема в том, что картинки имеют разную ширину - есть узкие, есть широкие. Таблица большая и подстраивать ширину 3-го столбца под самую широкую картинку слишком затратно с т.з. свободного места.

Как вариант - сделать внешнюю таблицу из 3 столбцов и разместить в ячейках 2-го столбца внутреннюю таблицу из 2 столбцов. Но этот вариант неприемлем, поскольку придётся переписать половину JavaScript-кода.

Можно ли решить задачу без использования вложенных таблиц, т.е. используя 1 таблицу ?

  Ответить  
 
 автор: sim5   (28.01.2009 в 16:25)   письмо автору
 
   для: Cyrax   (28.01.2009 в 15:47)
 

Чет не понятно. А что ее подстраивать, если этот столбец и так будет автоматом по ширине самой широкой картинки?

  Ответить  
 
 автор: Cyrax   (28.01.2009 в 18:39)   письмо автору
23.1 Кб
 
   для: sim5   (28.01.2009 в 16:25)
 

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

И сделать это нужно с помощью одной таблицы, поскольку она уже обросла скриптами.
В прикреплении картинка.

  Ответить  
 
 автор: sim5   (29.01.2009 в 03:17)   письмо автору
 
   для: Cyrax   (28.01.2009 в 18:39)
 

Одной таблицей, без вложенных (либо div), такого не сделать.

  Ответить  
 
 автор: Cyrax   (29.01.2009 в 11:42)   письмо автору
 
   для: sim5   (29.01.2009 в 03:17)
 

C вложенными понятно, а с div'ами как ?

  Ответить  
 
 автор: sim5   (29.01.2009 в 13:43)   письмо автору
 
   для: Cyrax   (29.01.2009 в 11:42)
 

Как. Вставлять и позиционировать эелменты. Но у вас, судя по рисунку, строки второго столбца таблицы должны соотвествовать строкам первого столбца (быть на одной строке), вот этого достичь... Если даже задать фиксированную ширину таблице, то высота строк в первом столбце может меняться в зависимости от содержания, что может привести к несоответствию строкам во втором столбце.

  Ответить  
 
 автор: Cyrax   (29.01.2009 в 15:59)   письмо автору
 
   для: sim5   (29.01.2009 в 13:43)
 

Да, должно быть соответствие по высоте в 1,2 и 4 столбцах.
А 4-й столбец должен соответствовать по высоте нескольким строкам таблицы.

Т.е. единственный вариант - вложенные таблицы (либо div'ы) + синхронизация скриптами высоты строк ?

  Ответить  
 
 автор: sim5   (29.01.2009 в 16:26)   письмо автору
 
   для: Cyrax   (29.01.2009 в 15:59)
 

Вложенная таблица, это не гарантия соответствия высоты строк. Она будет "жить своей жизнью". Проще центрировать картинки по центру (горизонтально), тогда все будет соответствовать, да и выглядеть прилично. Чем вызвана такая необходимость в ассиметрии?

  Ответить  
 
 автор: Cyrax   (29.01.2009 в 21:10)   письмо автору
 
   для: sim5   (29.01.2009 в 16:26)
 

Это для компактности. Таблица большая, посему желательно минимизировать её высоту...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования