ASP.NET 3.5 C #: объединение изображений в одной загрузке - PullRequest
1 голос
/ 19 апреля 2010

Хотелось бы узнать, возможно ли объединить несколько изображений в 1 скачивание. На моей домашней странице я показываю 12 изображений, которые меняются в зависимости от страны пользователя.

Я заметил, что загрузка некоторых пользователей занимает много времени, и я хотел бы знать, если это можно объединить их в одну загрузку с помощью httphandler (так, как вы можете комбинировать js и css) или даже создать 1 статическое изображение из этих 12.

Для примера проверьте здесь

1 Ответ

2 голосов
/ 19 апреля 2010

Я думаю, что вы можете довольно хорошо использовать CSS Sprites в этом случае. Это HTML / CSS, поэтому они никак не связаны с ASP.Net.

Общая концепция заключается в том, что вместо множества изображений используется одно большое изображение, чтобы исключить множественные обращения к серверу для получения изображений. Тогда то, что вы делаете, показывает только часть большего изображения, где это необходимо (в качестве фона для элемента), так что в ваших <a> у вас будет что-то подобное для стиля:

.channel { 
  background: #FFFFFF url(SpriteMapUS.jpg); 
  width: 85px; 
  height: 55px; 
  display: block; /* Make the anchor render like a div, no more <img> tag */
}

Затем на определенном канале, что-то вроде этого:

.bloomberg { background-position: 0 0; }
.abcnews { background-position: -85px 0; }
.nasa { background-position: 0 -55px; }
.nasdaq { background-position: -85px -55px; }
//etc for the others...

И канал будет выглядеть так:

<a href="..." class="channel abcnews"></a>

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

...