Я часто получаю проекты от наших художников, которые содержат большие сложные изображения, которые можно превратить в фоновый цвет, немного мозаики и наложить меньшие изображения. Проблема в том, что это часто занимает довольно много времени и усложняет структуру html. Как мне решить, стоит ли это делать?
Например, это кнопка/наведение курсора мыши:
Все кнопки в атласе занимают целых 232 КБ*.
Я могу уменьшить это до 40 КБ, используя цвет фона и накладывая следующее:
Но тогда вместо 1 элемента html кнопка заняла бы несколько. Кроме того, мне пришлось бы потратить еще несколько часов, чтобы все вырезать и сделать html/css.
Итак, как новый веб-разработчик, есть ли какие-либо рекомендации относительно того, когда разделить изображения, а когда просто использовать все это? В зависимости от размера/разницы, затраченного времени и дополнительной сложности DOM?
В этом конкретном случае, по крайней мере, извлечение свечения кажется очевидным решением, так как оно добавляет только один элемент и вдвое уменьшает количество изображений.
* Я новичок в веб-разработке из не-веб-программирования и могу ошибаться, но 200+ КБ кажутся огромными только для некоторых художественных ресурсов.
Я бы попросил дизайнера поработать с вами, чтобы переосмыслить кнопку с точки зрения кода, а не экспортируемой графики. Абсолютно стоит усилий, чтобы сделать графику кнопки легче (по размеру). На ваш взгляд, на странице загружается гораздо больше: остальная графика, CSS, HTML, javascript и черт знает что еще. Зачем тратить место из-за небрежного процесса проектирования.
Градиенты и цвет фона можно было бы сделать с помощью CSS, что сделало бы кнопку легче при загрузке и проще в обновлении. Это также означает, что у вас есть один стиль, который можно применять (с корректировками по мере необходимости) к целому ряду кнопок без проблем с согласованностью.
Вы можете уменьшить это, используя живой шрифт для этикеток.
Не уверен, что понимаю проблему.
... 23,6k при «высоких» настройках jpg.
и с помощью раздвижных дверей CSS......
23k конечно приемлемо. Вероятно, его можно было бы еще уменьшить.
Я понимаю, что 10 кнопок такого размера могут составить 200 тысяч, которые вы упомянули. Но, не зная всего макета и цели сайта, трудно определить, приемлемо ли это. Например, загрузка больших изображений более приемлема для сайтов электронной коммерции или развлечений.
Я думаю, что пример кода в jsfiddle выше слишком сложен в HTML. Большая часть эффектов, которые вы ищете, может быть достигнута с помощью css на основе классов для одного элемента. Этот подход позволит вам использовать один (семантический) элемент и соответствующим образом стилизовать его...
из того, что я вижу, вы можете использовать один или, может быть, 2 элемента с добавленными псевдоэлементами css и css, чтобы добиться почти того же самого.
см. пример, который я быстро создал: http://codepen.io/peterSalvato/pen/kDvra
это настолько близко, насколько я могу получить во время работы без редактора изображений, чтобы создавать прозрачные изображения для размещения в дизайне. как только у вас есть прозрачные изображения для добавления к кнопке вместо текста (вы должны поместить их в css:pseudoElements, где написано «контент»... вот некоторые чтения о псевдоэлементах: http://www.w3schools .com/css/css_pseudo_elements.asp
одно дополнительное преимущество этого подхода заключается в том, что он позволяет тексту вашей кнопки быть текстом HTML. Это хорошо как для SEO, так и для доступности (программы чтения с экрана и тому подобное)...
надеюсь это поможет.
карпат
Эми Бланкеншип
простая одежда
Дом
простая одежда