Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   CSS выравнивание элементов (http://forum.oszone.net/showthread.php?t=109394)

maaxiim 17-06-2008 19:35 828485

CSS выравнивание элементов
 
Подскажите, пожалуйста, начинающему вебмастеру...

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

Пробовал различные варианты, например, картинки поместить в еще один div и задать центральной картинке фиксированный (в px) padding left, right, но в разных браузерах отображается по-разному. Может быть есть какое-нибудь более изящное решение вопроса?

Костэн 17-06-2008 21:11 828550

maaxiim, может это поможет :

<p align = left><img src="image1"></p><p align = center><img src="image2"></p><p align = right><img src="image3"></p>

maaxiim 17-06-2008 21:30 828566

Костэн, нет, это не поможет. Р - это же абзац. Соответственно каждый новый абзац будет ниже предыдущего, а нужно в один ряд.

Костэн 17-06-2008 21:41 828581

maaxiim, создай внутри div таблицу, в которой будут рисунки.
<div>
<table width=100% border=0>
<tr>
<td align=left><img src="image1"></td><td align=center><img src="image2"></td><td align=right><img src="image3"></td>
</tr>
</table>
</div>

Coutty 17-06-2008 21:56 828603

Например, так:
HTML код:

<div style="width:100%">
<div style="float:left; position:absolute; top:0; width:100%"><img src="1.jpg" /></div><div style="text-align:center; top:0; position:absolute; width:100%"><img src="1.jpg" /></div><div style="float:right"><img src="1.jpg" /></div>
</div>

Но я чувствую, что это неверный подход:)

Sham 18-06-2008 03:39 828778

imho таблички самый надежный вариант... подозреваю, что вариант Coutty не вполне кроссбраузерный...

Coutty 18-06-2008 09:12 828877

Sham, я ещё потом заметил, что даже в Опере оно не совсем на одной линии отображается. Правая картинка чуть ниже (где-то на 10 пкс).
Поддержу таблички:) Хоть это и не относится к CSS, но тут важнее цель, а не средство.

Костэн 18-06-2008 14:31 829158

Цитата:

Цитата Coutty
Хоть это и не относится к CSS, но тут важнее цель, а не средство. »

Это надёжней. :)

maaxiim 19-06-2008 14:16 830053

Таблички, конечно же, надежней, но неужели нельзя решить этот, в общем-то, несложный вопрос таким мощным средством, как CSS?
Цитата:

Цитата Coutty
Но я чувствую, что это неверный подход »

подход, действительно, неверный
Цитата:

Цитата Coutty
position:absolute; top:0; »

позиционирует картинки в самом верху окна браузера.
Цитата:

Цитата Coutty
width:100% »

растягивает блок картинки на всю ширину предыдущего блока.

Эксперименты продолжаются :), так что, если у кого-нибудь появятся идеи именно по CSS, буду рад.

Busla 19-06-2008 15:27 830115

чтобы отцентрировать картинку можно родительскому элементу задать text-align: center
либо переопределяем картинку {display: block; position: relative; left: 50%; margin-left: минус половина ширины картинки}
боковые делаем float;
как вариант, можно картинку запихать в background какого-нибудь элемента

maaxiim 19-06-2008 16:43 830222

Цитата:

Цитата Busla
чтобы отцентрировать картинку можно родительскому элементу задать text-align: center »

почти получилось :). Однако правая картинка (<div style="float:right;") смещается вниз и на попытки задать ей position не реагирует.
Цитата:

Цитата Busla
либо переопределяем картинку {display: block; position: relative; left: 50%; margin-left: минус половина ширины картинки} »

ломает макет страницы

Костэн 19-06-2008 17:41 830296

maaxiim, что тебе загорелся так этот CSS ? Тебе уже дали решение твоей проблеммы более простым способом...

maaxiim 19-06-2008 18:44 830362

Костэн, я, наверно, не совсем точно сформулировал свою мысль. Картинки я вставил в табличку, так, как ты и предложил, но я сейчас вплотную изучаю CSS и, поэтому вопрос не только практический, но и теоретический. И, к тому же, т.к. на сайте это используется не один раз, целесообразно было бы централизованно описать это в файле стилей.

Busla 19-06-2008 19:43 830405

Цитата:

Цитата maaxiim
ломает макет страницы »

не должно бы...
а зачем правой картинке position? чтобы правая картинка не смещалась вниз - она должна идти в коде до центральной

maaxiim 19-06-2008 21:22 830499

Благодарю всех участников обсуждения:)!
Вариант, предложенный Busla, решил вопрос.
Может кому-нибудь пригодится:

<div style="text-align:center">
<div style="float:left"><img src="mg_1.jpg" border="0"></div>
<div style="float:right"><img src="img_3.jpg" border="0"></div>
<img src="img_2.jpg" border="0">
</div>


Время: 08:21.

Время: 08:21.
© OSzone.net 2001-