Каков самый легкий или самый быстрый способ заставить CSS представить то же во всех браузерах

Начиная с Android 6.0, поведение разрешений изменилось на время выполнения. Чтобы использовать функцию, требующую разрешения, сначала нужно проверить, разрешено ли разрешение. Используя checkSelfPermission(permissionString) метод , возвращается результат, wither ther - PERMISSION_GRANTED или PERMISSION_DENIED.

Если разрешение не предоставлено или это первый раз, запрос для разрешения должно быть сделано. Предоставление пользователю возможности предоставить или запретить.

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED){
   requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION},
                 PERMISSIONS_REQUEST_CODE_ACCESS_COARSE_LOCATION);
    //After this point you wait for callback in onRequestPermissionsResult(int, String[], int[]) overriden method

}else{
    getScanningResults();
   //do something, permission was previously granted; or legacy device
}

Если ваш код работает на устройстве до M, вы продолжаете свой код, разрешение было предоставлено с использованием устаревшего метода.

После запроса на разрешение пользователю будет показан диалог. Его / ее ответ будет доставлен как:

@Override
 public void onRequestPermissionsResult(int requestCode, String[] permissions,
         int[] grantResults) {
     if (requestCode == PERMISSIONS_REQUEST_CODE_ACCESS_COARSE_LOCATION
             && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
         // Do something with granted permission
        mWifiListener.getScanningResults();
     }
 }

. После этого вы можете проверить, включено ли службы местоположения, с помощью LocationServices.SettingsApi и попросить пользователя включить, если эти параметры отключены. Это возможно при обратном вызове Play Services LocationSettingsStatusCodes.RESOLUTION_REQUIRED.

24
задан Chris 26 September 2008 в 20:11
поделиться

27 ответов

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

Вы объявляете свои стили шрифтов в CSS, но некоторые машины Linux, некоторый Macs, некоторые мобильные браузеры - не будут иметь шрифта, который Вы определили. Это изменение приводит к отличающимся текстовым длинам и обертыванию. Тогда существует различие версий браузера и операционных систем, выполняющих каждого; как различные браузеры реализуют опции масштабирования; и размер текста может быть скорректирован конечным пользователем. Идентичный рендеринг является просто недостижимой целью.

, Но набираются храбрости! Это - "художественная" часть CSS: Способность быть гибким в Вашем дизайне, таким образом, что различия между браузерами, операционными системами и корректировками конечного пользователя обрабатываются изящно. Не боритесь за идентичный рендеринг - необходимо бороться за непротиворечивость бренда + соответствующий опыт + гибкость.

33
ответ дан Carl Camera 16 October 2019 в 07:34
поделиться

Применение шляпы фольги дизайна

CSS:

*{display:none}
-1
ответ дан Jethro Larson 16 October 2019 в 07:34
поделиться

Вы задаете неправильный вопрос, потому что вот единственный способ ответить что:

<!DOCTYPE html>
<html>
<head>
  <style>* { background: #fff }</style>
</head>
<body></body>
</html>

Не большая часть ответа, не так ли?:)

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

0
ответ дан 16 October 2019 в 07:34
поделиться

платформы css, конечно, помогают, хотя они могут легко быть тяжелыми из-за "кучи" стилей, в которых Вы не будете нуждаться или использовать.

выезд IE Предназначения Используя Условные Комментарии и Всего Одна Таблица стилей в Положении является Всем для большой техники для питания IE определенные для версии стили, не используя взломы CSS; это позволяет Вам держать правила стиля вместе селектором, а не браузером.

0
ответ дан David Alpert 16 October 2019 в 07:34
поделиться

Я обычно разрабатываю против блок проверки допустимости CSS W3C , затем проверяю, что вещи смотрят способ, к которому я хочу их в соответствующих браузерах. Проверка имеет большое значение для последовательного поведения.

Иногда я буду разделять страницу вниз только к стилям, которые проверяют и показывают правильно в главных браузерах, для которых я нацелен, иногда я буду добавлять ее с определенными для браузера тонкими настройками, как другие плакаты упомянули.

0
ответ дан davenpcj 16 October 2019 в 07:34
поделиться

Я рекомендовал бы смотреть на Проект и 960 Объединенных энергосистем .

Помимо выполнения сброса и включая CSS фиксирует для Internet Explorer, они оба дадут Вам легкое для работы с сеткой дизайна, которая будет заботиться о большой утомительной тонкой настройке при создании основанных на CSS разметок.

0
ответ дан berberich 16 October 2019 в 07:34
поделиться

В основании нет никакой гарантии, что такая вещь будет когда-либо работать отлично. Пока разработчики браузера находят способы сделать свою собственную вещь, а не 'стандартный' способ сделать вещи, Вы разойдетесь во мнениях.

у меня были положительные результаты с помощью CSS Основы Пользовательского интерфейса Yahoo, но в конце даже, который не мог справиться с более сложными объектами, которые должны быть возможными с CSS.

В конце я пошел для меньше идеального решения и просто осуществил свою проверку платформы, если я настроил определенные для браузера таблицы стилей.

Вот отрывок PHP для иллюстрирования. Извините за определенное для языка решение, но я предполагаю, что идея достаточно ясна реализовать на различных языках:

$sHTML .= "\t\t<LINK rel=\"stylesheet\" type=\"text/css\" href=\"".$sURLCSS.$sStyle."\" />\n";
if (file_exists($sPathCSS.$sFileStyle."_".BROWSER_AGENT.".".$sExtension))
  $sHTML .= "\t\t<LINK rel=\"stylesheet\" type=\"text/css\" href=\"".$sURLCSS.$sFileStyle."_".BROWSER_AGENT.".".$sExtension."\" />\n";
if (file_exists($sPathCSS.$sFileStyle."_".BROWSER_AGENT."_".BROWSER_VERSION.".".$sExtension))
  $sHTML .= "\t\t<LINK rel=\"stylesheet\" type=\"text/css\" href=\"".$sURLCSS.$sFileStyle."_".BROWSER_AGENT."_".BROWSER_VERSION.".".$sExtension."\" />\n";

Без недостающих файлов, никаких нераспознанных тегов или другого кода, который мог бы дросселировать некоторые браузеры, страницы от рендеринга платформы, поскольку мы хотим, чтобы они представили во всех браузерах, которые требуют наши клиенты. Что еще более важно, они делают так, не производя ошибки (т.е. пустая Ошибочная Консоль в FireFox), который делает отладку, когда Вы на самом деле сталкиваетесь с намного легче ошибкой.

0
ответ дан Twan 16 October 2019 в 07:34
поделиться

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

0
ответ дан Matt Wilkinson 16 October 2019 в 07:34
поделиться

Это - действительно трудный вопрос ответить - все браузеры? Это означает все версии? Мобильные браузеры? Просто "магистрали" (опера, Firefox, т.е. и сафари)?

Вы не найдете даже полное соответствие на материале уровня 1 CSS, таким образом, там будут быть некоторыми тонкими настройками, которые Вы оказываетесь перед необходимостью делать. По моему опыту, опера, Firefox и сафари, все ведут себя так же когда дело доходит до основного материала (расположение, плавания, отделения, и т.д.) и это - просто IE, для которого необходимо будет настроить.

Вы могли также пользоваться протестированной библиотекой CSS или платформой как сетки Yahoo ( http://developer.yahoo.com/yui/grids/ ) или программируемый интерфейс как веб-инструментарий Google ( http://code.google.com/webtoolkit/ ).

0
ответ дан 16 October 2019 в 07:34
поделиться

Пользовательский интерфейс Yahoo (YUI) имеет CSS Сброс реализация, которая стремится сформировать общую базовую линию через все браузеры. Это должно получить Вас достаточно близкий.

0
ответ дан foxxtrot 16 October 2019 в 07:34
поделиться
  • Использование отрывок сброса
  • Разрабатывает с веб-стандартами
  • , Проверяют Вашу разметку, и CSS
  • не используют поле и дополняющий на тех же частях элемента
  • Использование условные выражения IE
  • Тест во всех браузерах, которые Вы хотите поддерживать
  • , Понимают, что мелочи, собирающиеся быть прекрасны , но можно стать достаточно близкими.
2
ответ дан dylanfm 16 October 2019 в 07:34
поделиться

веб-сайты должны посмотреть точно то же в каждом браузере?

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

, Чем больше Вы используете CSS в целях расположения, тем с большим количеством проблем Вы встретитесь, больше проблем, Вы найдете путь вокруг и больше Вы будете учиться. После довольно многих лет создания разметок полностью со структурированным, семантическим HTML и neat'n'tidy CSS я редко должен тратить много дефектов исправления времени в одном или другом браузере.

2
ответ дан Arve Systad 16 October 2019 в 07:34
поделиться

Мне нравится разрабатывать против Firefox сначала, часто с помощью YUI Yahoo для сброса (и сетки для базовой структуры страницы), и с помощью условных директив IE для переопределения форматов что IE, во всем its– гм – мудрость, дескрипторы по-другому.

index.html

<head>
<link rel="stylesheet" type="text/css" media="all" href="styles/yui/grids/base-min.css" />
<link rel="stylesheet" type="text/css" media="all" href="styles/yui/grids/grids.css" />
<link rel="stylesheet" type="text/css" media="all" href="styles/screen.foo.css" />
<link rel="stylesheet" type="text/css" media="print" href="styles/print.foo.css" />

<!--[if gt IE 5]> <link rel="stylesheet" type="text/css" href="styles/ie.screen.foo.css" /> <![endif]-->
</head>

2
ответ дан micahwittman 16 October 2019 в 07:34
поделиться

Разработайте для Firefox сначала. Вы можете протестировать в других браузерах, но не волнуетесь о мерах, пока это не работает, как Вы хотите его в Firefox. Тогда движение к другим основанным на стандартах браузерам, а именно, Safari и Opera. Если Вы записали хороший HTML и CSS, не должна требоваться большой работы в этих браузерах.

Тогда движение зверю партии, IE. Используйте условные комментарии для предназначения для определенных версий IE. IE 7 должен быть довольно легким для IE 6, можно найти, что необходимо пожертвовать определенными частями дизайна, чтобы заставить его работать легко. Это в порядке, IE 6 находится на выходе, так не волнуйтесь, не поддерживаете ли Вы полностью его. Прозрачные PNGs обычно являются самой большой проблемой, AlphaImageLoader просто не добивается цели в каждой ситуации.

, Как ранее упомянуто, сброс CSS как Eric Meyer является хорошей начальной точкой, используйте его для создания собственного сброса на основе потребностей. Кроме этого ответ прост: нет никакой серебряной пули.

2
ответ дан roryf 16 October 2019 в 07:34
поделиться

Если это должно быть идеально для пикселя, то необходимо будет использовать пкс в таблицах стилей. Используйте таблица стилей сброса css , затем измерьте все на основе пикселей.

, Чтобы гарантировать, что Ваш css представляет правильно в различных браузерах, Вы могли бы найти сервис как BrowserShots полезный, однако, я думаю, что Вы найдете очень трудным получить абсолютную непротиворечивость через все браузеры.

Мое персональное предпочтение должно использовать корректную разметку и css, не учесть любой browserhacks и разметки дизайна для ухудшения корректно.

2
ответ дан Codebeef 16 October 2019 в 07:34
поделиться

попытайтесь использовать сброс css как , eric Мейер сбросил или , YUI сбрасывают . поможет только никакой простой способ или лучший способ заставить вещи выглядеть идентичными в каждом браузере

12
ответ дан Darren Kopp 16 October 2019 в 07:34
поделиться

Организуйте свой поток операций следующим образом, и он уменьшит много времени, пропадая впустую.

  1. Удостоверяются, что Вы объявляете Использование типа документа .
  2. , которое один из других методов сброса упомянул здесь.
  3. Работа над Вашей структурой
  4. Избегает использования ширины и дополнение на том же элементе, где Вы можете.
  5. Всегда думают о сокращении ненужного HTML и css вместо того, чтобы добавить все время.
  6. Попытка не использовать поле, левое и правое, когда плавающие элементы.

, Если Вы придерживаетесь тех объектов, много наиболее распространенных проблем не появится.

пз Один объект, который я забыл упоминать, был, используют блоки проверки допустимости в W3.

9
ответ дан Steve Perks 16 October 2019 в 07:34
поделиться

Я всегда создавал основную таблицу стилей CSS, которая работает в W3C Полностью совместимые браузеры как Firefox и затем создала альтернативный браузер определенные таблицы стилей для устранения любых проблем моделирования в других браузерах, т.е. IE6, IE7 и т.д.

, можно использовать следующий код в HTML для выбора соответствующих таблиц стилей IE.

<!--[if lte IE 6]>
<link href="/css/eqtr_ie6.css" rel="stylesheet" type="text/css" />
<![endif]-->

можно также использовать веб-сайты онлайн такой в качестве browsershots для просмотра сайта в различных браузерах.

7
ответ дан Toby Mills 16 October 2019 в 07:34
поделиться

Это является трудоемким сначала, особенно если Вы - стеллаж, знающий досконально о DIV+CSS. Однако после того, как Вы сделали достаточно практики и встретили достаточно проблем и получили их все решенные, у Вас будет знание того, какие РАБОТЫ и что не РАБОТАЕТ.

Это тогда, Вы знаете, как записать самый совместимый стиль, возможный во-первых, таким образом сохранив все время в degugging, и редко иметь любые проблемы с любым из главных современных браузеров: IE6, IE7, FF2, FF3, Opera 9, Safari 3 Win / Mac

Да, это возможно и так легко, как это может добраться. Практика и завоевывает их один за другим, тогда Вы знаете, как сделать вещи правильно в первой попытке.

Хорошо единственный экранирующий монстр должен быть IE6, который я предполагаю. Это - inbrowser. Кроме этого, ff2, ff3, опера 9, победа сафари / Mac, ie7, ie8 относительно подобен в механизме визуализации, по крайней мере, с намного меньшим количеством ошибок, чем это имеет с IE6.

у меня есть несколько лучших практик для Вас (тот, кто только что начал их прохождение в CSS) в кодировании для получения макс. совместимости CSS:

  1. Использование сбросило сначала. Это очищает Ваш ум и удостоверяется каждый шаг Вашего задания.
  2. не используют (левое и правое) дополнение и ширина на том же элементе , если Вы не знаете хорошо, как это удастся.
  3. , Если элемент пускается в ход, дайте его родителя overflow:hidden и высота: 1% , если родитель уже не имеет высоты.
  4. не дают элементу обе граничных вершины или граничную нижнюю часть , но только граничную вершину или граничную нижнюю часть. Поскольку поля смежных элементов выходят из строя друг в друга, делая расположение несколько непредсказуемым для новичков.
  5. , Если элемент пускается в ход, дайте его display:inline.
  6. не полагаются на z-индекс , если для Ваших сценариев не нужен он.
  7. , Если что-либо странное происходит в IE6, используйте height:1% на том элементе.

Согласно моим событиям, это вещи, которые действительно действительно помогут Вам в решении потенциальных проблем. Используйте их, и они устраняют Ваши возможности спотыкания на любую трудоемкую проблему [1 122] 80% . На самом деле существует больше тривиальных подсказок, чем они при контакте с определенными тегами, но давайте прекратим дело.

5
ответ дан datasn.io 16 October 2019 в 07:34
поделиться

Приспосабливание строгому doctype будет заботиться о многих различиях также. Кроме того, добавляю я обычно < отделение> отмечает для монтирования в корпус всего в теле, потому что я заметил различие в том, как Firefox по сравнению с т.е. обрабатывает тег основного текста как высокоуровневый элемент.

2
ответ дан Joel Coehoorn 16 October 2019 в 07:34
поделиться

Удостоверьтесь, что включали надлежащий DOCTYPE.

я все еще вижу людей, регулярно справляющихся с проблемами модели поля, потому что они забыли включать doctype. Без надлежащего doctype Internet Explorer представляет в "режиме причуд", и также - другие браузеры до меньшей степени. При включении надлежащего doctype браузеры переключаются на "стандартный режим" и ведут себя очень похожие друг на друга.

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

4
ответ дан warp 16 October 2019 в 07:34
поделиться

Yahoo css основа поможет. Стандартизировать форматирование Вас захочет сброс и основу.

4
ответ дан Martynnw 16 October 2019 в 07:34
поделиться

Протестируйте свой CSS на всех браузерах, когда Вы идете. Это ужасно, чтобы заставить его пиксель, прекрасный в Вашем любимом браузере только находить, что это - путь прочь в других браузерах.

Проявление этого подхода упростит Вас в понимание того, что будет работать над всеми главными браузерами.

2
ответ дан Larsenal 16 October 2019 в 07:34
поделиться

Я имел успех с помощью сброса CSS Eric Meyer, доступного здесь . Это в основном переопределяет набор стилей CSS браузера, которые являются значением по умолчанию. Однако существует все еще много различий (вероятно, некоторые из тех, которые беспокоятся, Вам нравятся различия в модели поля, и т.д. В этом случае, могло бы быть лучше использовать Проект для обработки большинства css.

2
ответ дан Alex Argo 16 October 2019 в 07:34
поделиться

Используя CSS Сброс даст всему ту же начальную точку, но не сделает многого для помощи с изменениями, Вы высказываете кроме того начальное мнение. Я не могу сказать, что существует действительно любой простой способ. Одно решение состоит в том, чтобы придерживаться ограниченного набора CSS, что Вы знаете работы хорошо во всем браузере, который Вы хотите поддерживать. Вы не можете быть в состоянии сделать, много более необычного материала CSS, но Ваш CSS, отлаживающий время, должно значительно снизиться.

2
ответ дан Kibbee 16 October 2019 в 07:34
поделиться

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

2
ответ дан Paul Wicks 16 October 2019 в 07:34
поделиться

В первую очередь, Вы могли попробовать сброс, как некоторые другие люди, упомянутые здесь, можно сделать быстрое поле и дополнение сброса с этой частью css:

*{margin: 0; padding: 0}

, Когда Вы разрабатываете свой css, удостоверяются, что Вы используете современное, standars совместимый браузер (лично, я рекомендовал бы firefox 3, который имеет превосходное панель инструментов веб-разработчика, с которой можно отредактировать css из браузера). Выполнение этого, конечно, заставит Ваш сайт посмотреть хорошо во всех новых браузерах.

большинство проблем расположения, которые Вы будете иметь, будет, вероятно, вызвано Internet Explorer неправильная интерпретация из модели поля, можно избежать этого, никогда не устанавливая ширину и поле или дополняя одновременно. Это могло бы казаться раздражающим, но это не, просто примените дополнение или поле к содержанию, которое является в Вашем элементе, которому установили ширину.

, Конечно, больше проблем существует, но это - вероятно, наиболее распространенное и раздражающее для более конкретных вопросов, можно всегда пробовать Google. Кроме того, в последнее время я рассматриваю для игнорирования IE6 и более старых браузеров, если аудитория моего сайта позволит его, на сайте веб-дизайна Вы никогда не будете находить никого использующего IE6, правильно? Конечно, это не возможно часто начиная со многих (сумасшедший;)) люди все еще используют IE6.

кроме того, если необходимо протестировать сайт , browsershots является свободным способом сделать это быстро.

4
ответ дан thanksd 16 October 2019 в 07:34
поделиться