Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2015, 22:59   #1
Skyrazor
Пользователь
 
Аватар для Skyrazor
 
Регистрация: 31.05.2009
Сообщений: 22
По умолчанию Центрировать блок с элементами с float:left внутри

Есть div с изображениями (на картинке - красный блок), которые выводятся друг за другом. Ширина div позволяет уместить несколько фотографий одинакового размера в ряд (в зависимости от ширины, она меняется). Если в ряду остаётся меньше фотографий, чем вмещается в ряду, они должны выравниваться по левому краю.

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

div с фотками успешно центрируется относительно родительского с помощью text-align: center, но стоит мне прописать float: left или align=left к фотографии, как центрирование блока относительно родительского утрачивается и весь блок уезжает влево. Как решить проблему?
Изображения
Тип файла: jpg 894.jpg (26.1 Кб, 157 просмотров)

Последний раз редактировалось Skyrazor; 10.05.2015 в 23:06.
Skyrazor вне форума Ответить с цитированием
Старый 11.05.2015, 10:28   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Внешний инлайн-блок в любом случае будет расширяться на всю ширину. Спасти может только абсолютное позиционирование, но тогда он будет вырван из потока, что не есть гуд.
Есть прстой хак для инлайн-блоков: насыпать снизу плейсхолдеров.
http://jsfiddle.net/Na1ve/cuvzc6zs/
Помогает как при выравниванию по центру, так и для выравнивания по ширине.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 12.05.2015, 02:57   #3
Skyrazor
Пользователь
 
Аватар для Skyrazor
 
Регистрация: 31.05.2009
Сообщений: 22
По умолчанию

Цитата:
Сообщение от Naive Посмотреть сообщение
насыпать снизу плейсхолдеров.
Работает, спасибо! Я так понимаю, их нужно вставить в количестве n-1, где n - максимальное количество элементов в ряду
Skyrazor вне форума Ответить с цитированием
Старый 12.05.2015, 08:52   #4
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Да, не меньше. Большее количество ни на что влиять не будет (кроме производительности).
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Div aside и float:left/right Smogg HTML и CSS 5 17.09.2014 16:55
float:left ZhenyaKad HTML и CSS 1 06.04.2014 21:55
margin-left, float: left segail HTML и CSS 1 01.02.2012 22:56
Ошибка типа cannot convert `float*' to `float' for argument `1' ... Trackman Помощь студентам 3 23.05.2011 17:09
IE8. не работает padding-left, margine-left dimonnnn HTML и CSS 7 13.08.2010 19:33