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

Форум PHP

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

 

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

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

тема: Картинка+данные из базы
 
 автор: Лена   (30.06.2009 в 23:44)   письмо автору
 
 

Хочу сделать так: слева - картинка, справа - информация, которая тянется из базы(текст, под ним - группа ссылок). Сделала в теге картинки левое выравнивание, чтобы текст был справа от картинки. Но у меня получается так: первое изображение выводится нормально, второе - выравнивается справа от первой картинки под тестом, третье - срава от второго изображения, в результате на странице изображения+текст идут "лесенкой".
Вот код, упростила, оставила только суть.


<?php
$result 
db_query(//запрос....
 
while ($book db_fetch_object($result)) {
 
$page_content .= '<p>';
  
$path_to_img '/'file_directory_path() .'/images/col_author/'.  $book->nid .'.jpg';
  
$page_content .= '<img src="' $path_to_img '" width="150" height="210" alt="' $book->title '" align="left" />';
  
$page_content .= $book->title '<br>';
  
//ссылка
  
$page_content .= l('ФФФФФФФФФФ','colauthor/book->ntid/first_chapter') . '<br>';
  
$page_content .= //ссылка
  
$page_content .=  //ссылка
  
$page_content .= '</p>';
  
$page_content .= '<hr width = 75% align = "left"><br>';
  }
?>

Может, это как-то можно иначе сделать? Лучше таблицей? Тогда в одной ячейке изображение, в другой - текст?

  Ответить  
 
 автор: sim5   (01.07.2009 в 03:00)   письмо автору
 
   для: Лена   (30.06.2009 в 23:44)
 

Чтобы ответить на этот вопрос, нужно видеть HTML-код результирующий в купе с его стилями. А вообще: изображение + параграф, и текст будет обтекать изображение справа, если картинка выравнивается по левому краю. Но если текста не достаточно для обтекания изображения по всей его высоте, и далее будет идти следующее изображение, то получите то, что получаете.

  Ответить  
 
 автор: Лена   (01.07.2009 в 09:51)   письмо автору
 
   для: sim5   (01.07.2009 в 03:00)
 

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

  Ответить  
 
 автор: Петр   (01.07.2009 в 10:01)   письмо автору
 
   для: Лена   (30.06.2009 в 23:44)
 

Каждую запись нужно заключить в отдельный блок.

<div class="item">
<img src="..." alt="..."><p>текст...</p>
</div>


А в CSS-стилях укажи:
div.item {
    float: left;
    width: 200px;
    height: 200px;
}


Т.о. каждый новый блок будет прижиматься к предыдущему. А внутри блока разметь картинку и текст как тебе нужно (выравнивай, делай отступы, обводки и пр.)

  Ответить  
 
 автор: Лена   (01.07.2009 в 11:57)   письмо автору
 
   для: Петр   (01.07.2009 в 10:01)
 

Спасибо, но мне не нужно, чтобы каждый новый блок прижимался к предыдущему, мне нужно, чтобы блоки располагались один под другим и слева - картинка, справа - текст.
Проблема в том, что когда я, допустим, прописываю в стилях картинки float: left; тест располагается справа от картинки, но картинка из следующего блока становится строго под этим текстом.
Сделала таблицей, наверное, по-другому никак.

  Ответить  
 
 автор: Петр   (01.07.2009 в 13:58)   письмо автору
 
   для: Лена   (01.07.2009 в 11:57)
 

Таблицей надежнее (во всех браузерах точно работать будет), но можно и блоками:

<div class="">
 <img src="" alt="">
 <p>текст</p>
</div>
<div class="clear"></div>


CSS:

div.clear { clear: both; }

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

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