Дополнительные соображения по оптимизации

Дополнительные соображения по оптимизации

Одним из возможных выходов из сложившейся ситуации будет использование характерных для IE CSS-хаков, чтобы только для него подключить фоновые изображения. В итоге вышеприведенный пример будет выглядеть примерно так:

ul {

list-style: none;

}

ul li {

margin: 0 0 1px;

background: url(data:image/gif;base64,<?php

echo base64_encode(file_get_contents("../images/flag.png "))

?>) top left no-repeat;

height: 14px;

text-indent: 10px;

}

* html ul li {

background-image: url(/images/flag.png);

}

*+html ul li {

background-image: url(/images/flag.png);

}

Также возможно кодирование изображений, которые выводятся в base64, автоматически при изменении этих изображений (для этого потребуется простой скрипт, который проверяет, обновились ли соответствующие файлы; если обновились, то перезаписывает их представление в CSS-файле, заодно и меняет хэш-строку для подключения этого файла в HTML, чтобы избежать кэширования).

Для включения небольших графиков прямо в HTML-код прекрасно подойдут условные комментарии, когда для ряда браузеров изображение выводится в base64, а для остальных (например, для IE) подключается через условные комментарии. Например, так:

<!--[if !IE]>-->

<img src="data:image/png;base64,..." alt="График" title="График"/>

<!--<![endif]-->

<!--[if IE]>

<img src="chart.png" alt="График" title="График"/>

<![endif]-->

Если использовать связку «относительное позиционирование родителя — абсолютное позиционирование дочернего элемента», то IE будет просто выводить картинку из внешнего файла поверх непонятного (для него) объекта.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Оптимизации

Из книги Сущность технологии СОМ. Библиотека программиста автора Бокс Дональд


Методы оптимизации

Из книги Генерация высококачественного кода для программ, написанных на СИ автора Хислей Филипп Н

Методы оптимизации Существуют различные методы машинно-зависимой и машинно-независимой оптимизации кода. Они могут применяться на всех синтаксических уровнях. Одним из простейших методов является "размножение констант". При его применении любая ссылка на константное


1.6.15. Правило оптимизации: создайте опытные образцы, заставьте их работать, прежде чем перейти к оптимизации

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

1.6.15. Правило оптимизации: создайте опытные образцы, заставьте их работать, прежде чем перейти к оптимизации Самый основной аргумент в пользу создания прототипов впервые был выдвинут Керниганом и Плоджером (Plauger): "90% актуальной и реальной функциональности лучше, чем 100%


12.1. Отказ от оптимизации

Из книги Установка и настройка Tor автора Стручков Юрий

12.1. Отказ от оптимизации Наиболее мощная методика оптимизации, входящая в инструментарий любого программиста, заключается в том, чтобы ничего не делать.Этот весьма выдержанный в духе Дзэн совет верен по нескольким причинам. Одной из них является экспоненциальный эффект


1. Общие соображения об анонимности в Интернет

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

1. Общие соображения об анонимности в Интернет Человек написал и отправил письмо по электронной почте, посетил какой-то сайт, оставил своё сообщение на форуме и т. д. Любое из указанных действий позволяет найти этого человека и узнать кто он такой. А при желании и привлечь


1.6.15. Правило оптимизации: создайте опытные образцы, заставьте их работать, прежде чем перейти к оптимизации

Из книги Ководство автора Лебедев Артём Андреевич

1.6.15. Правило оптимизации: создайте опытные образцы, заставьте их работать, прежде чем перейти к оптимизации Самый основной аргумент в пользу создания прототипов впервые был выдвинут Керниганом и Плоджером (Plauger): "90% актуальной и реальной функциональности лучше, чем 100%


§ 160. Два соображения

Из книги Фундаментальные алгоритмы и структуры данных в Delphi автора Бакнелл Джулиан М.

§ 160. Два соображения 3 июня 2009— Хороший логотип должен быть таким, чтобы любой человек мог его по памяти от руки изобразить.— Это хорошо, если реклама не сразу понятна. Человек потратит время на понимание смысла и лучше запомнит такую рекламу.Из-за этих двух заблуждений


Соображения по поводу эффективности

Из книги QNX/UNIX [Анатомия параллелизма] автора Цилюрик Олег Иванович

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


Соображения производительности

Из книги Linux программирование в примерах автора Роббинс Арнольд

Соображения производительности Интересны не только затраты на порождение нового процесса (мы еще будем к ним неоднократно возвращаться), но и то, насколько «эффективно» сосуществуют параллельные процессы в ОС, насколько быстро происходит переключение контекста с


1.4.5. Заключительные соображения по поводу «GNU Coding Standards»

Из книги Священные войны мира FOSS автора Федорчук Алексей Викторович

1.4.5. Заключительные соображения по поводу «GNU Coding Standards» GNU Coding Standards является стоящим для прочтения документом, если вы хотите разрабатывать новое программное обеспечение GNU, обмениваться существующими программами GNU или просто научиться программировать лучше. Принципы


14.8. Соображения эффективности A

Из книги автора

14.8. Соображения эффективности A В общем случае объект класса эффективнее передавать функции по указателю или по ссылке, нежели по значению. Например, если дана функция с сигнатурой:bool sufficient_funds( Account acct, double );то при каждом ее вызове требуется выполнить почленную


Соображения для преподавателей

Из книги автора

Соображения для преподавателей Было несколько руководящих принципов, которых я старался придерживаться. Я думаю, они делают процесс обучения гораздо более лёгким – ведь учиться программировать и так довольно тяжело. Если вы преподаёте или наставляете кого-то на путь


Отборочные соображения

Из книги автора

Отборочные соображения Тайм-аут, в течении которого я отвлёкся от проблем противостояния дистрибутивов, имена которых вынесены в заглавие цикла, подошёл к концу. И пора выполнять своё обещание – подвести окончательные (на сегодняшний день) итоги тому, что было сказано на