Масштабирование изображения с CSS не совсем возможно, но подобный эффект может быть достигнут следующим образом, все же.
Использование эта разметка:
со следующим CSS:
#background {
width: 100%;
height: 100%;
position: absolute;
left: 0px;
top: 0px;
z-index: 0;
}
.stretch {
width:100%;
height:100%;
}
и Вы должны быть сделаны!
для масштабирования изображения, чтобы быть "полным выходом за край" и поддержать соотношение сторон, можно сделать это вместо этого:
.stretch { min-width:100%; min-height:100%; width:auto; height:auto; }
Это удается вполне приятно! Если один размер будет обрезан, однако, он будет обрезан только на одной стороне изображения, вместо того, чтобы равномерно обрезаться с обеих сторон (и центрироваться). Я протестировал его в Firefox, Webkit и Internet Explorer 8.
Сложность больше всего связана с ограничением времени. Я бы разделил приоритет любого, кто не указывал временные ограничения, на 365 (год), а затем использовал бы время как часть весового коэффициента. Итак:
Client 1 priority: 10000/10 = 1000
Client 2 priority: 1000/365 ~ 3
Client 3 priority: 10000/365 ~30
Это должно дать вам довольно приличный индикатор приоритета. Теперь вы не можете смешивать и сопоставлять показы и клики, не так ли? Они либо идут по маршруту впечатления, либо по маршруту кликов. Поскольку вы не можете контролировать клики, но вы можете контролировать показы (по крайней мере, больше, чем клики), я бы взвесил это по показам.
Не можете ли вы смешивать и сопоставлять показы и клики? Они либо идут по маршруту впечатления, либо по маршруту кликов. Поскольку вы не можете контролировать клики, но вы можете контролировать показы (по крайней мере, больше, чем клики), я бы взвесил это по показам. Не можете ли вы смешивать и сопоставлять показы и клики? Они либо идут по маршруту впечатления, либо по маршруту кликов. Поскольку вы не можете контролировать клики, но вы можете контролировать показы (по крайней мере, больше, чем клики), я бы взвесил это по показам.Используйте генератор случайных чисел, чтобы выбрать, какое объявление показывать, и присвоите ему приоритет для каждого объявления. Установите более высокий весовой коэффициент для клиентов, которым нужно больше показов или у которых есть крайний срок. Вы можете увеличить весовой коэффициент, если время почти истекло.
После того, как клиент выполнит свои запрошенные показы, снизьте вес до 0, чтобы предотвратить показ рекламы.
Весовой коэффициент по умолчанию может быть равен 1 или около того, при этом клиентам разрешается доплачивать для повышения приоритета (не сообщая им механику - выставлять счет как «премиальное» размещение и т. Д.).
Изменить: детали взвешивания
Вы можете сделать это настолько простым или сложным, насколько захотите, но базовая версия будет включать следующие термины:
Клиенты крайнего срока должны быть ограничены 90% всех отображений страниц или чем-то еще, чтобы гарантировать, что они не вытеснят других. Последний термин указывает на «срочность» для клиентов с установленным сроком - она увеличивается до бесконечности по мере достижения крайнего срока, поэтому вы должны поставить условие на оставшуюся часть времени, чтобы предотвратить проблемы с этим.
добавить термин для (оставшиеся показы / купленные показы) / (оставшееся время / общее время)Клиенты крайнего срока должны быть ограничены 90% всех отображений страниц или чем-то еще, чтобы гарантировать, что они не вытеснят других. Последний термин указывает на «срочность» для клиентов с установленным сроком - она увеличивается до бесконечности по мере достижения крайнего срока, поэтому вы должны поставить условие на оставшуюся часть времени, чтобы предотвратить проблемы с этим.
добавить термин для (оставшиеся показы / купленные показы) / (оставшееся время / общее время)Клиенты крайнего срока должны быть ограничены 90% всех отображений страниц или чем-то еще, чтобы гарантировать, что они не вытеснят других. Последний термин указывает на «срочность» для клиентов с крайним сроком - она увеличивается до бесконечности по мере достижения крайнего срока, поэтому вы должны поставить условие на оставшуюся часть времени, чтобы предотвратить проблемы с этим.
Мне очень нравится подход AlbertoPL, основанный на времени, но он не учитывает количество кликов. Легко продемонстрировать патологические случаи, когда клики релевантны:
Любой разумный человек даст 1 клик. парень высший приоритет. Расчет на самом деле довольно тривиален: предположим, что ваш клик составляет 100 показов на клик.
Клиенту A требуется 10 000 показов или 1 клик, поэтому нам требуется минимум 100 показов для получения оплаты. При цене 1000 долларов за 100 показов вы можете рассчитать, что ваш клиент готов платить 10 долларов за показ.
Клиент Б хочет 10 000 показов или 5000 кликов. 5000 кликов требует 500 000 показов, мы точно соберем 10, 000 показов до этого момента, поэтому мы предполагаем, что клиент действительно предлагает заплатить 1000 долларов за 10 000 показов или 0,10 доллара за показ.
Мы максимизируем доход, максимизируя наши $$$$$ / показ, поэтому приоритет отдается клиенту А. Воспользуемся цифрами, приведенными в OP:
Клиент 1:
Клиент 2:
Клиент 3: