Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

верстка фото галереи

312
21 апреля 2008 года
dead_star
392 / / 26.11.2006
вобщем пытаюсь сверстать фото галлерею
уже давольно давно пытаюсь выработать
наиболее корректный вариант
удобо читабельный и удобо редактируемый

общая мысль сводится к следующему xml коду
Код:
<gallery>
 <row>
  <foto image="image/1.jpg" preview="image/preview/1.jpg" title="foto 1" />
  <foto image="image/2.jpg" preview="image/preview/2.jpg" title="foto 2" />
  <foto image="image/3.jpg" preview="image/preview/3.jpg" title="foto 3" />
 </row>
 <row>
  <foto image="image/4.jpg" preview="image/preview/4.jpg" title="foto 4" />
  <foto image="image/5.jpg" preview="image/preview/5.jpg" title="foto 5" />
 </row>
</gallery>


это лиш пример того как впринцыпе все должно работать

главный и основной минус именно той вариации галереи какая мне нужна
это то что страница должна быть разделена на несколько строк(row) и в каждой страке от 1 до 5 фото(foto).
все фотографии должны бить отцентрированны, но не просто так скучканы в центре,
а как бы отцентрированны отнасительно своего небольшого квадратика.
тоесть врезультате каждая строка(в отдельности) должна быть разделена на 1-5 частей,
частей столькоже сколько фотографий, и каждая фотка расположена по центру своей части.
прще всего это зделать через таблицы
вот что у меня получилось:
[HTML]
<table class="fototable">
<tr><td>
<div class="foto" onclick="java script:imgwin('http://www.kotya.ru/image/gallery/08/winner/slide0642_image019.jpg', '1 место. Ефимова-Соколова Ольга - Любовь');">
<div><img src="http://www.kotya.ru/image/gallery/08/winner/preview/slide0642_image019.jpg" alt="1 место. Ефимова-Соколова Ольга - Любовь" /></div>
<span>1 место<br />Ефимова-Соколова Ольга<br />"Любовь"</span>
</div>
</td><td>
<div class="foto">
<div><img src="http://www.kotya.ru/image/2_none.jpg" alt="2 место. Не присуждалось" /></div>
<span>2 место<br />не присуждалось</span>
</div>
</td><td>
<div class="foto" onclick="java script:imgwin('http://www.kotya.ru/image/gallery/08/winner/slide0644_image025.jpg', '3 место. Ефимова-Соколова Ольга - Завидово!');">
<div><img src="http://www.kotya.ru/image/gallery/08/winner/preview/slide0644_image025.jpg" alt="3 место. Ефимова-Соколова Ольга - Завидово!" /></div>
<span>3 место<br />Ефимова-Соколова Ольга<br />"Завидово!"</span>
</div>
</td></tr>
</table>
[/HTML]
css
Код:
.foto {
 display: block;
 text-align: center;
 font-size: 8pt;
 line-height: 8pt;
}
.foto div {
 width: 100px;
 height: 100px;
 margin: 0 auto 0 auto;
 text-align: center;
 vertical-align: middle;
}
.foto div img {
 cursor: pointer;
}
.foto span {
 margin-top: 5px;
 display: block;
 text-align: center;
 font-size: 8pt;
 line-height: 8pt;
 cursor: pointer;
}
.fototable {
 width: 100%;
 margin: 10px 0 10px 0;
 border: 0;
 text-align: center;
}

пример можно посмотреть здесь

вобщем вопрос:
можноли добиться тех же результатов, но через дивы
и впринципе как бы эту структуру зделать по аккуратней
36K
22 апреля 2008 года
starrich89
7 / / 15.04.2008
Проще всего сделать [FONT="Courier New"]div[/FONT]-ами. Если, конечно, ты не хочешь делать [FONT="Courier New"]vertical-align[/FONT] картинок.

[HTML]<style>
.Container div {
float:left;
border:1px solid #999;
margin:10px;
}
.Container div div {
background-color:#eee;
float:none;
margin:10px;
width:150px;
height:80px;
border:0 none;
display:table-cell;
text-align:center;
vertical-align:middle;
}
.Container span {
display:block;
margin:10px;
}
</style>[/HTML]

[HTML]<div class="Container">
<div><div><img src="http://www.kotya.ru/image/2_none.jpg" /></div><span>photo 1</span></div>
<div><div><img src="http://www.kotya.ru/image/2_none.jpg" /></div><span>photo 2</span></div>
<div><div><img src="http://www.kotya.ru/image/2_none.jpg" /></div><span>photo 3</span></div>
<div><div><img src="http://www.kotya.ru/image/2_none.jpg" /></div><span>photo 4</span></div>
<div><div><img src="http://www.kotya.ru/image/2_none.jpg" /></div><span>photo 5</span></div>
<div><div><img src="http://www.kotya.ru/image/2_none.jpg" /></div><span>photo 6</span></div>
<div><div><img src="http://www.kotya.ru/image/2_none.jpg" /></div><span>photo 7</span></div>
<div><div><img src="http://www.kotya.ru/image/2_none.jpg" /></div><span>photo 8</span></div>
<div><div><img src="http://www.kotya.ru/image/2_none.jpg" /></div><span>photo 9</span></div>
</div>[/HTML]

Но значение [FONT="Courier New"]table-cell[/FONT] поддерживается в [FONT="Courier New"]NN6+, Moz, FF, Op4+[/FONT]. В [FONT="Courier New"]IE6-[/FONT] оно точно не поддерживается. Может быть в 7 или 8 версии уже реализованы.
Если ты хочешь сделать [FONT="Courier New"]vertical-align:middle[/FONT] в [FONT="Courier New"]IE[/FONT], то тогда только таблицами. Можно совсем извращённо таблицу с одной ячейкой делать вместо внутреннего [FONT="Courier New"]div[/FONT]-а. Если бы я делал масштабируемую под ширину страницы галерею и хотел [FONT="Courier New"]vertical-align:middle[/FONT], я бы так и поступил.

[HTML].Container table {
margin:10px;
border:0 none;
}
.Container td {
background-color:#eee;
width:150px;
height:80px;
text-align:center;
vertical-align:middle;
padding:0;
margin:0;
}[/HTML]

[HTML]<div><table cellpadding="0" cellspacing="0"><tr><td><img src="http://www.kotya.ru/image/2_none.jpg" /></td></tr></table><span>photo 1</span></div>[/HTML]

А [FONT="Courier New"]onclick[/FONT] лучше сделать через обход [FONT="Courier New"]childNodes[/FONT], извлекая [FONT="Courier New"]src[/FONT] и [FONT="Courier New"]alt[/FONT] у [FONT="Courier New"]img[/FONT]-а. Значение, извлечённое из [FONT="Courier New"]src[/FONT], потом регулярным выражением обработать.
И зачем писать в [FONT="Courier New"]onclick[/FONT] обработчике [FONT="Courier New"]java script:[/FONT] ?
312
22 апреля 2008 года
dead_star
392 / / 26.11.2006
Цитата: starrich89
Проще всего сделать [FONT="Courier New"]div[/FONT]-ами. Если, конечно, ты не хочешь делать [FONT="Courier New"]vertical-align[/FONT] картинок.



я знаком с таким вариантом
он обычно используется при динамической генерации галлерей
где просто единой кучей свалены фотографии и рисунки

у меня же сложно структурированные галереи
каждая строка абсолютно независима отнасительно другой
галереи такого типа создают вручную((
вобщем в моем варианте лучше таблиц ничего не придумаешь(((

Цитата: starrich89
А [FONT="Courier New"]onclick[/FONT] лучше сделать через обход [FONT="Courier New"]childNodes[/FONT], извлекая [FONT="Courier New"]src[/FONT] и [FONT="Courier New"]alt[/FONT] у [FONT="Courier New"]img[/FONT]-а. Значение, извлечённое из [FONT="Courier New"]src[/FONT], потом регулярным выражением обработать.


интересная мысль
мне такое в голову не пришло
спасибо за подсказку

сейчас зделал. супер
полная динамика
спасибо за помощь

Цитата: starrich89
И зачем писать в [FONT="Courier New"]onclick[/FONT] обработчике [FONT="Courier New"]java script:[/FONT] ?


если честно незнаю
я не спец в JS
просто частенько сталкиваюсь с такой вариацией
если я не ошибаюсь то таким образом
в старых браузерах жестко фексировали тип кода.
тут я могу ошибаться

312
22 апреля 2008 года
dead_star
392 / / 26.11.2006
Цитата: dead_star

сейчас зделал. супер
полная динамика
спасибо за помощь



хотя с этим тоже возникла проблема
но с этим в раздел Web программирование :)

35K
29 апреля 2008 года
HacK
7 / / 28.04.2008
Цитата: dead_star
вобщем пытаюсь сверстать фото галлерею
уже давольно давно пытаюсь выработать
наиболее корректный вариант
удобо читабельный и удобо редактируемый

общая мысль сводится к следующему xml коду
Код:
<gallery>
 <row>
  <foto image="image/1.jpg" preview="image/preview/1.jpg" title="foto 1" />
  <foto image="image/2.jpg" preview="image/preview/2.jpg" title="foto 2" />
  <foto image="image/3.jpg" preview="image/preview/3.jpg" title="foto 3" />
 </row>
 <row>
  <foto image="image/4.jpg" preview="image/preview/4.jpg" title="foto 4" />
  <foto image="image/5.jpg" preview="image/preview/5.jpg" title="foto 5" />
 </row>
</gallery>


это лиш пример того как впринцыпе все должно работать

главный и основной минус именно той вариации галереи какая мне нужна
это то что страница должна быть разделена на несколько строк(row) и в каждой страке от 1 до 5 фото(foto).
все фотографии должны бить отцентрированны, но не просто так скучканы в центре,
а как бы отцентрированны отнасительно своего небольшого квадратика.
тоесть врезультате каждая строка(в отдельности) должна быть разделена на 1-5 частей,
частей столькоже сколько фотографий, и каждая фотка расположена по центру своей части.
прще всего это зделать через таблицы
вот что у меня получилось:
[HTML]
<table class="fototable">
<tr><td>
<div class="foto" onclick="java script:imgwin('http://www.kotya.ru/image/gallery/08/winner/slide0642_image019.jpg', '1 место. Ефимова-Соколова Ольга - Любовь');">
<div><img src="http://www.kotya.ru/image/gallery/08/winner/preview/slide0642_image019.jpg" alt="1 место. Ефимова-Соколова Ольга - Любовь" /></div>
<span>1 место<br />Ефимова-Соколова Ольга<br />"Любовь"</span>
</div>
</td><td>
<div class="foto">
<div><img src="http://www.kotya.ru/image/2_none.jpg" alt="2 место. Не присуждалось" /></div>
<span>2 место<br />не присуждалось</span>
</div>
</td><td>
<div class="foto" onclick="java script:imgwin('http://www.kotya.ru/image/gallery/08/winner/slide0644_image025.jpg', '3 место. Ефимова-Соколова Ольга - Завидово!');">
<div><img src="http://www.kotya.ru/image/gallery/08/winner/preview/slide0644_image025.jpg" alt="3 место. Ефимова-Соколова Ольга - Завидово!" /></div>
<span>3 место<br />Ефимова-Соколова Ольга<br />"Завидово!"</span>
</div>
</td></tr>
</table>
[/HTML]
css
Код:
.foto {
 display: block;
 text-align: center;
 font-size: 8pt;
 line-height: 8pt;
}
.foto div {
 width: 100px;
 height: 100px;
 margin: 0 auto 0 auto;
 text-align: center;
 vertical-align: middle;
}
.foto div img {
 cursor: pointer;
}
.foto span {
 margin-top: 5px;
 display: block;
 text-align: center;
 font-size: 8pt;
 line-height: 8pt;
 cursor: pointer;
}
.fototable {
 width: 100%;
 margin: 10px 0 10px 0;
 border: 0;
 text-align: center;
}

пример можно посмотреть здесь

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



Можно сделать так:


<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Фотогаллерея</title>
</head>

<body>

<!--webbot bot="PhotoAlbum" U-Include="file:///C:/Documents and Settings/^Zлобный Spamer^/Local Settings/Temporary Internet Files/FrontPageTempDir/wpd1u8b9.htm" clientside TAG="BODY" -->&nbsp;</body></html>

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог