HttpServer
является общей структурой , а не чертой (поэтому «T: HttpServer
» не имеет смысла).
Вы можете создать общую структуру, которая содержит совершенно произвольную реализацию HttpServer
(это, вероятно, не очень полезно для вас):
struct CustomServer H + Send + Clone + 'static> {
srv: HttpServer,
}
impl H + Send + Clone + 'static> CustomServer {
fn new(factory: F) -> CustomServer {
CustomServer {
srv: HttpServer::new(factory),
}
}
}
или конкретную структуру, которая содержит особый вид HttpServer
(Полагаю, это то, что вам нужно, хотя трудно сказать без подробностей вашего варианта использования):
struct CustomServer {
srv: HttpServer App>,
}
impl CustomServer {
fn new() -> CustomServer {
CustomServer {
srv: HttpServer::new(|| App),
}
}
}
Есть также много точек между ними (например, специализация H
], но не F
, или немного специализироваться на основе других общих параметров), в зависимости от того, что вы пытаетесь сделать.
IE6 имеет много ошибок CSS так, чтобы способствовал Вашему рендерингу страницы. Официальный список того, что и не поддерживается, здесь.
То, что могло бы также помочь Вам, является positioniseverything.net, у них есть всесторонний список ошибок IE и их мер.
Если Вы все еще изо всех сил пытаетесь получить его правая штанга ссылка на Вашу страницу.
Я сильно настоятельно рекомендую Вам просмотреть этот сайт http://quirksmode.org/dom/compatibility.html: это имеет большую компиляцию и тестовые сценарии для большей части материала, CSS и JavaScript.
Я предположил бы, что Вам установили Firefox на Вашей машине. Раз так установите дополнение Firebug (который является фантастическим сам по себе), но если Вы также установите новое дополнение от Sitepoint, FireScope, то это позволит Вам щелкать правой кнопкой по своим элементам в Firebug и подтягивании диаграмма совместимости браузера для Вашего CSS и HTML (плюс дополнительные примеры кода)
С Firebug можно также отредактировать CSS и наблюдать конечный результат в режиме реального времени, который может сэкономить много времени!
После того как Вы определили области сайта, которые повреждаются, используют следующий подход для использования определенной таблицы стилей IE6 для исправления их так, чтобы дизайн остался рабочим, как Вы предназначили для более современных браузеров
<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="/Css/IE6.css" media="all" />
<![endif]-->
Поскольку дополнительная непрозрачность подсказки и PNG или GIF's с прозрачными фонами не имеет тенденцию играть приятно в IE6, и я настоятельно рекомендовал бы пользоваться библиотекой JavaScript, такой как Прототип или JQuery, если Вы работаете с JavaScript
те, что я споткнулся через большинство:
- li:hover (or on any element except a)
- min/max-width
- min/max-height
Некоторые примеры:
a>b {}
a + b {}
[id="my_id"] {}
Для впечатляющего примера использования несовместимостей смотрите на Сдваивание в дизайне сада дзэн CSS с IE6 и Firefox.
Кроме того, можно перемещаться через список независимо по сайту для ресурсов на предмете (и многие другие о веб-дизайне).
Во-первых я советовал бы использовать Стили Сброса Eric Meyer, которые гарантируют как можно больше правильности для перекрестной поддержки браузера. Во-вторых, я пересмотрел бы сообщение Yadyn о "Знании Вашего Врага". Пока это может быть кошмар, это должно быть сделано, поскольку статистика покажет, что даже при том, что IE6 активно больше не разрабатывается и был принят IE7, он все еще широко используется.
В дополнение к упомянутым вещам удостоверьтесь, что Вы используете doctype, который заставляет IE6 + использовать Режим Стандартов. Ошибки и взломы примерно управляемы в Режиме Стандартов, не имея необходимость иметь совершенно другую таблицу стилей.
Иначе IE6 вернется к Режиму Причуд, и необходимо по существу поддерживать IE5 со всей чудовищностью образцового взлома поля, которая влечет за собой.
Что-то, что никогда не работает на меня, visibility
атрибут. И это чинило раздражающий также (не, это не то же как display
!)
Если Вы наблюдаете W3Schools
веб-сайт это говорит Вам, какие Свойства являются поддержкой в который браузер.