Записи с метками ‘верстка’

Равномерно расположить картинки по ?ирине страницы

Четверг, 27 января 2011

Бывает, возникает вопрос (по «вине» дизайнеров или заказчиков), что картинки надо расположить по ?ирине страницы (ну или родительского контейнера) равномерно, то есть первая (для читающих слева направо) картинка должна быть выровнена по левому краю, последняя – по правому, а остальные – находится друг от друга и от крайних на одинаковом расстоянии. Вот как-то так:

fig Самый простой вариант, который я сам использую – это использовать таблицу. Это, так скажем, не самое правильное использование таблицы, но зато самое простое и наименее времезатратное, что бывает важно.

Создадим табличку на пять ячеек и в каждую поместим по картинке. Выровняем картинки по центру ячеек (td {text-align: center}), а таблицу растянем на всю ?ирину (table {width: 100%})

fig2

Сейчас между картинками одинаковое расстояние, что и требуется. ? это нам необходимо сохранить. ? при этом крайние картинки должны быть прижаты к краям. Для этого добавим в таблицу пустые ячейки между ячейками, в которых находятся картинки.

fig3 Как и следовало ожидать, и как и должно было произойти (такова природа таблиц: для ячеек, содержащих боль?е отводится боль?ее место), пустые ячейки сжались до минимальной ?ирины. Поэтому для ячеек с картинками создадим класс, которому зададим свойство width:1%. Опять воспользуемся свойством таблиц: несмотря на указание ?ирины ячейкам, эти ячейки будут растянуты по ?ирине содержимого, если только таблице на задано свойство table-layout:fixed.

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

Xотите быстро продать (подержанный|б у) или новый авто? ? не хотите тратить впустую время, блуждая по сотням авто базаров. Тогда на? сервис специально для Вас! На? авторынок предлагает Вам купить или продать (подержанный|б у|) авто практически любых марок и моделей, во всех городах. На?и б у автомобили ждут своих новых владельцев, которые хотят продать автомобиль выгодно, и в кратчай?ие сроки. Если вы ре?или купить ма?ину, но новый авто вам дорого, на? авто базар предлагает подержанные автомобили по вполне де?евым ценам. Предлагаем Вам б у авто (подержанные автомобили), что совер?енно не означает значит, что у нас вы сможете купить плохое авто. Б у автомобили имеет низкую цену. Авторынок — уникальный поисковик подержанных автомобиль. Вы хотите купить или продать (подержанный|б у|) автомобиль на вторичном рынке? Теперь Вам нет необходимости заходить на каждый авто рынок, не нужно ехать на автобазар. Просто посещайте на? автобазар. Теперь купля подержанного автомобиля стала проще — добавляйте выбранные авто в Портфель по желанию. Оцените возможность искать одновременно несколько марок или моделей авто, выбирать несколько регионов, в которых продается ма?ина. Ре?или продать (подержанный|б у) или новый автомобиль? Желаете чтобы объявление было на на?ем автобазаре ? Ускорьте продажу авто, сделав его VIP с помощью СМС.

Еще раз про inline-block (коротко)

Четверг, 27 января 2011

Сегодня в очередной раз задали вопрос: как кроссбраузерно реализовать свойство inline-block. Для этого воспользуюсь хаком для ?Е 6 и 7 версий. Это необходимо, так как ?Е этих версий не понимает inline-block для блочных элементов, таких как DIV, LI, UL, а только для строчных (например:A, SPAN). Буду предельно краток.

.someclass{
    display: inline-block;
}

.someclass{
    //display: inline;/*магия ?Е*/
}

?менно вот так: в таблице стилей должны присутствовать обе записи. Если же вы предпочитаете условные комментарии, то вторая запись должна быть вынесена в стили для ?Е.
Работает в ?Е6+, ФФ3+, Опера (даже не знаю с какой версии), Хром, Сафари, далее — везде).
Для ФФ2 нужен костыль

Вы хотите быстро купить/продать (подержанный|б у) или новыйавтообиль? Не хотите тратить много время, блуждая по десяткам онлайн-авторынкам. Тогда На? сервис специально для Вас!

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

Предлагаем б у {авто} (подержанные автомобили), что не означает значит, что у нас вы сможете приобрести плохое авто. Б у авто имеет низкую стоимость.

Авто-рынок — уникальный сайт подержанных автомобиль. Вы ре?или купить (подержанный|б у|) авто на вторичном рынке? Теперь Вам нет необходимости посещать каждый авто базар в интернете, не нужно ехать на автобазар. Просто посещайте на? авторынок.

Теперь поиск автомобиля стала быстрее — добавляйте понравив?иеся ма?ины в Портфель . Оцените возможность искать одновременно несколько марок авто, выбирать по регионах, в которых продается автомолбиль.

Хотите купить(продать) (подержанный|б у) или новый авто? Хотите чтобы Ва?е объявление попало на на? автобазар ? Ускорьте продажу автомобиля, сделав его VIP с помощью СМС.

Xотите быстро купить (подержанный|б у) или новый авто? Не хотите тратить впустую много время, блуждая по сотням авто-рынкам. Тогда На? сайт специально для Вас! ?нтернет авто рынок предлагает Вами (подержанный|б у|) авто во всех городах. На?и автомобили ждут своих новых владельцев, которые хотят купить (продать) автомобиль выгодно, и в кратчай?ие сроки. Если Вы хотите купить ма?ину, но новый авто ва?ей мечты вам не по карману, автобазар предлагает подержанные авто по вполне де?евым ценам. Предлагаем Вам подержанные авто , что не означает значит, что у нас Вы сможете приобрести плохое авто. Подержанные автомобили имеет более низкую стоимость. Автобазар — поисковик подержанных автомобиль. Желаете купить (подержанный|б у|) авто на вторичном рынке? Теперь Вам нет необходимости заходить на каждый авто рынок в интернете, не нужно ехать на автобазар. Просто посещайте на? онлайн авто-базар. Теперь поиск б у fdnj стала быстрее — добавляйте понравив?иеся авто в Портфель по желанию. Обратите внимание на возможность искать одновременно несколько марок или моделей авто, выбирать несколько регионов, в которых может продаваться авто. Хотите продать (подержанный|б у) или новый автомобиль? Хотите чтобы объявление было на на?ем автобазаре ? Ускорьте продажу авто, сделав его VIP прислав SMS.
Xотите быстро продать (подержанный|б у) или новый авто? ? не хотите тратить впустую время, блуждая по сотням авто базаров. Тогда на? сервис специально для Вас! На? авторынок предлагает Вам купить или продать (подержанный|б у|) авто практически любых марок и моделей, во всех городах. На?и б у автомобили ждут своих новых владельцев, которые хотят продать автомобиль выгодно, и в кратчай?ие сроки. Если вы ре?или купить ма?ину, но новый авто вам дорого, на? авто базар предлагает подержанные автомобили по вполне де?евым ценам. Предлагаем Вам б у авто (подержанные автомобили), что совер?енно не означает значит, что у нас вы сможете купить плохое авто. Б у автомобили имеет низкую цену. Авторынок — уникальный поисковик подержанных автомобиль. Вы хотите купить или продать (подержанный|б у|) автомобиль на вторичном рынке? Теперь Вам нет необходимости заходить на каждый авто рынок, не нужно ехать на автобазар. Просто посещайте на? автобазар. Теперь купля подержанного автомобиля стала проще — добавляйте выбранные авто в Портфель по желанию. Оцените возможность искать одновременно несколько марок или моделей авто, выбирать несколько регионов, в которых продается ма?ина. Ре?или продать (подержанный|б у) или новый автомобиль? Желаете чтобы объявление было на на?ем автобазаре ? Ускорьте продажу авто, сделав его VIP с помощью СМС.

Название Censored

Вторник, 1 июня 2010

Очень долгий проект — первые страницы были сделаны еще в начале декабря 2008, некоторые добавления уже в конце мая 2009. Всего около 30 ?аблонов.
Вплотную познакомился с jQuery. Конечно, код не кодерский, но вполне работоспособный.
Как обычно кастомные контролы, закругления и тени. Что мне понравилось, как я сделал, так это выбор города и упрощенный «аккордеон» собственного изготовления. Готовые аккордеоны не устроили своей громоздкостью и множеством изли?еств. В моем варианте весь аккордеон занял полтора десятка строк.

jQuery('a', '#accord').each(function(){
        if ($(this).next('ul').length > 0)
            $(this).css({
                color: '#000'
            });
        $(this).click(function(event){
            if ($(this).next('ul').length > 0) {
                event.preventDefault();
            }
            $(this).addClass('selected');
            $(this).next().show('slow');
            $('ul', $(this).parent().siblings()).hide('slow');
            $('a', $(this).parent().siblings()).removeClass('selected');
        })
    })

Все остальное просто  добротная верстка. Вот пример страницы.

главная страница сайта

главная страница сайта

Что мне не нравится на этом сайте — это огромные формы. Мне трудно представить, что  кто-то станет заполнять их полностью. Например вот такую

пример формы

пример формы

Эту форму надо не просто заполнить, проставив галочки где надо. Надо при заполнении учитывать, чтобы сумма некоторых полей составляла ровно 100%.

Отступы в кнопках в ?Е и других

Четверг, 18 июня 2009

Неболь?ое предисловие. Так случилось, что я подписался на сайте WSG на мейл-лист для обсуждения различных вопросов, связанных с применением веб-стандартов в ежедневной практике. Да, в этой подписке случаются интересные обсуждения, но зачастую там появляются вопросы настолько простые, что даже становится как-то неловко за авторитет уважаемой WSG. Вот и в этот раз вопрос был просто потрясающим: можно ли использовать картинку-бекграунд для кнопки с нефиксированной ?ириной. Но не это меня побудило меня черкануть пару строк. В одном из ответов, как луч?е все сделать проскользнул совет:

Something like this (как-то так):
button {padding:2px 5px;background: #FAF9F5 url(../images/bgimg.png) repeat;line-height: 1.5;
}
then use smaller padding left/right value for IE, e.g. (и потом умень?ите отступы для ?Е)
button {padding: 2px 1px !important}

Вот последняя строчка и вызвала мое изумление. Уважаемый подписчик WSG не знает как можно избавиться от ли?них отступов по бокам в кнопках в ?нтернет Експлорере.

Поясню в чем дело. ?нтернет Експлорер в версиях до 7 включительно добавлял в кнопках (будь то input, илиbutton) справа и слева непонятные отступы, причем, чем длиннее была надпись на кнопке, тем боль?е отступы. Вот как-то так:

ли?ние отступы в кнопках в браузерах ?нтернет Експлорер 5-7

Тогда как в остальных браузерах (для меня это Файрфокс, Опера и Хром) все выглядит так:

отступы в кнопках в файрфоксе

отступы в кнопках в файрфоксе

Никаких непонятных отступов, все одинаково, независимо от количества знаков в надписи.

? что же делать? Как привести в чувство этот загадочный ?Е? (далее…)

Геоинформационная Система ?нвестора Санкт-Петербурга

Понедельник, 8 июня 2009

Состоит из двух частей: непосредственно сайт и картографический модуль. (http://www.investinfo.spb.ru/ru/about/info/  и http://map.investinfo.spb.ru/mapview/ соответственно)

На сайте я немного необычно, как мне кажется, сделал меню (первый его уровень). Как обычно, я старался умень?ить количество картинок, используемых для создания меню. ? делая это меню, я еще не использовал CSS-свойство clip. Думается мне, что это свойство мне могло пригодится. Но обо?елся и без него, сделав все кроссбраузерно, использовав минимум картинок, причем PNG с альфа-каналом. Вот из-за альфа-канала весь сыр-бор, как обычно. Как известно ?Е6 не поддерживает альфа-прозрачность в PNG напрямую, а только через проприетарные майкрософтовские фильтры. ? поэтому не получилось просто сдвигать фон пунктов меню, как обычно это делается для меню, реализованных фоновыми картинками. Ну раз нельзя двигать фон, будем двигать целиком элемент, в котором фоном будет необходимая нам картинка.

?так, делаем картинку, состоящую из двух частей: одна с белой надписью, вторая с красной (синий фон добавлен, чтобы читалась белая надпись, но синий в данном случае означает прозрачный).

пункт меню

Высота картинки равна двойной высоте меню (в данном случае 51 пиксель). Создаем в таблице стилей описание для элемента, фоном которого будет на?а картинка. Размеры элемента равны размеру картинки. Это необходимо для, чтобы пнг-фильтр для ?Е6 отобразил картинку полностью. ? теперь нам только остается сдвигать этот элемент с фоном при наведении на соответсвующий пункт меню.

иллюстрация к идее

иллюстрация к идее

Чтобы показать как все это ведет себя в браузере воспользуюсь возможностями FireBug.

исходное состояние. элемент с необходимым фоном подсвечен голубым цветом

исходное состояние. элемент с необходимым фоном подсвечен голубым цветом

Красным обведены стили, отвечающие за исходное состояние.

наведенное стояние пункта меню

наведенное стояние пункта меню

Как видите (обведено красным), я поспользовался отрицательным <code>margin</code>, чтобы сдвинуть элемент с фоном и показать красную надпись.

Вот такой вариант мне при?ел в голову, когда я верстал этот макет. ? вот итог работы.

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

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

Что касается карты, то в ней единственной сложностью было, что приходилось работать через удаленный рабочий стол, имея не очень хоро?о сгенеренный картографическим модулем HTML. При?лось много перелопачивать уже готовых ?аблонов вывода результатов. Но общий каркас мне удался) Аж самому понравилось. К тому же было принято несколько моих предложений по, как мне кажется улуч?ению интрефейса. ? верстка получилась в общем компактная, вполне себе семантичная. ? почти без Expressions для ?Е6) В общем смотрите, любуйтесь, что понравилось — используйте. К сожалению в статичном варианте раздела карты у меня нет, по причине укзанной вы?е. Все делалось наживую на удаленном сервере. Но будет время, соберу воедино все стили и всю верстку карты и выложу на общее обозрение.

карта Геоинформационной Системы ?нвестора Санкт-Петербурга

При верстке карты обнаружил забавную мелочь: из всех браузеров, которые у меня установлены (?Е6-8, ФФ 2-3,5. Опера 9.2-10, Хром 3.0.183.1 и Сафари 4 бета (кстати, надо скачать уже не бету)), только Сафари и ?Е8 понимают свойство background-image для selecta‘а. background-color понимают все, даже ?Е6, а вот background-image отнюдь нет.

Факультет — новая литература нового поколения

Среда, 3 июня 2009

Давно длится проект (с марта месяца 2009 года), для которого сверстал общий макет и несколько внутренних страниц. Особенностями проекта по верстке я бы назвал обилие закругленных уголков на различных, местами неоднородных, фонах. Макет тянущийся с прижатым к низу страницы футером. Да, чуть не забыл, ко всему прочему здесь еще и «кастомные контролы» присутствуют. Как ни убеждай дизанеров, что «кастомные контролы» — это зло, а клиент всегда прав.

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

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


типовая страница

типовая страница


личный кабинет

личный кабинет


книжная полка пользователя

книжная полка пользователя

Как заставить ?Е6 держать указанную ?ирину?

Четверг, 23 апреля 2009

Есть у ?Е6 такая особенность: если какому-либо блоку задать ?ирину, то ?Е6 воспринимает эту ?ирину, как минимально возможную и, если содержимое блока оказывается ?ире заданной ?ирины, то ?Е6 растягивает блок до размеров содержимого. Тогда как другие браузеры, в полном соответствии стандартам сохранят указанную ?ирину, а содержимое просто покажут выступающим за пределы блока (если не указано свойство overflow, отличное от значения visible (значение по умолчанию)).

(далее…)

Я бы сделал луч?е 2)

Среда, 8 апреля 2009

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

Что же мне не понравилось в это раз? Ну, ни то, что не понравилось, но все же.

Приводится способ выравнивания блоков с картинками по центру родительского контейнера. Что ж, хоро?ий способ применения нечасто используемого свойства inline-block. Но…

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

Рецепт основан на двойственной природе элемента INS. Как известно элементы INS и DEL могут быть как блочными (display: block), так и строчными (display: inline). При этом, будучи строчными, они могут быть контейнерами для блочных элементов, таких как DIV или P. Впервые подобный трюк я увидел около двух лет назад у Stuart Nicholls. Там была необходимость расположить по центру меню из табов при произвольной общей ?ирине меню. К сожалению, это пример был пересмотрен 24 января этого года)). Я сам использовал этот прием на своей народовской страничке (не смеяться!!!). Что забавно, в новом способе центрирования меню использован метод, который я впервые увидел у Лебедева. Но вернемся к на?им баранам.

(далее…)

Я бы сделал луч?е)

Среда, 25 марта 2009

Студия Лебедева порадовала нас новым творением — обновился интернет-магазин Техносилы. Все мило и, как обычно в последнее время у Лебедева, лаконично, но…

Что мы видим на первой же странице:

technosila1

Названия товаров не помещаются и просто обрезаются свойством overflow: hidden
Не очень красиво, я бы сказал. Но ведь есть же замечательное, но крайне редко используемое (мне ни разу не попадалось на глаза его использование) свойство text-overflow: ellipsis. Что удивительно, его (это свойство) поддерживает дружное семейство браузеров по имени Internet Explorer. Это свойство имеет два (согласно с сайтом MS) значения: clip (по умолчанию) и   ellipsis, что в сочетании со свойством  overflow: hidden дает замечательный результат: текст, который не помещается в каком-либо элементе обрезается с заменой последних символов на многоточие!!! Получается очень аккуратно и симпатично.
А вот и примеры:

Без применения overflow и text-overflow

Съе?ь еще этих мягких французских булок

Теперь установим overflow: hidden и text-overflow:clip; (поведение по умолчанию)

Съе?ь еще этих мягких французских булок

? наконец требуемый результат в результате применения overflow: hidden и text-overflow:ellipsis;

Съе?ь еще этих мягких французских булок

Некоторые браузеры, в частности Opera, требуют своего префикса для этого свойства. MSDN рекомендует так же использовать префикс -ms для ?Е8, но понимает это свойство и без него

Проверил, что Хром 2 и Сафари 4 понимают без префиксов, а ФайрФокс 3 не понимает вовсе

Но если не использовать это свойство, то хотя бы снабдить заголовок соответствующей всплывающей подсказкой, хотя бы в виде title