Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Совет новичку Браузеры и HTML
 
 автор: Богданн   (23.05.2011 в 11:17)   письмо автору
 
 

Народ, подскажите пожалуйста, что делать в случае если html код в разных браузерах по разному отображаеться?Как обычно решают эту проблему?Пишуть каждый стиль под конкретный браузер?

  Ответить  
 
 автор: hxt   (23.05.2011 в 11:29)   письмо автору
 
   для: Богданн   (23.05.2011 в 11:17)
 

В разных - это в IE и Firefox?
Если нельзя переписать код так, чтобы он одинаково отображался во всех браузерах, то да, приходится писать стиль под конкретные браузеры.

  Ответить  
 
 автор: Богданн   (23.05.2011 в 11:34)   письмо автору
 
   для: hxt   (23.05.2011 в 11:29)
 

Ага, ясно, а в самом CSS мжно указать так что бы при загрузке с какогото браузера оно автоматически подбирало для него стиль??

  Ответить  
 
 автор: hxt   (23.05.2011 в 12:05)   письмо автору
 
   для: Богданн   (23.05.2011 в 11:34)
 

Думаю вполне можно.
В связке с PHP вот так делается:

<link rel="stylesheet" type="text/css" media="all"  href="/css/<?php
      $nav 
= ( isset( $_SERVER['HTTP_USER_AGENT'] ) ) ? strtolower$_SERVER['HTTP_USER_AGENT'] ) : '';
       
// для браузера Mozila и FireFox
         
if (stristr($nav"firefox"))
         {
            echo 
"firefoxonly.css";
         }
          
//  для браузера Opera
           
elseif (stristr($nav"opera"))
         {
            echo 
"template.css";
         }
      
// для браузера Safari
         
elseif (stristr($nav"safari"))
         {
            echo 
"safari.css";
         }
          
// для браузера  IE 8
         
elseif (stristr($nav"IE 8"))
         {
            echo 
"ie8only.css";
         }
          
// Для всех прочих браузеров
          
else
         {
            echo 
"template.css";
         }

 
?>" />


А можно и так:
<head>
<!-- Основная таблица стилей -->
<link rel="stylesheet" type="text/css" href="style.css">
<!-- Подключаем отдельную таблицу стилей для всех версий IE -->
<!--[if IE]><link rel="stylesheet" type="text/css" href="ie.css"><![endif]-->
<!-- Для IE 7 -->
<!--[if IE 7]><link rel="stylesheet" type="text/css" href="ie7.css"><![endif]-->
<!-- Для IE 6.0, 5.5, 5.01 -->
<!--[if lte IE 6]><link rel="stylesheet" type="text/css" href="ie6.css"><![endif]-->
</head>

  Ответить  
 
 автор: Богданн   (24.05.2011 в 09:49)   письмо автору
 
   для: hxt   (23.05.2011 в 12:05)
 

Это я так понял уже javascript?

  Ответить  
 
 автор: cheops   (24.05.2011 в 09:57)   письмо автору
 
   для: Богданн   (24.05.2011 в 09:49)
 

Нет, это CSS/HTML. Просто некоторые элементы стандартны, а некоторые специфичны для конкретного браузера и понимаются только им. На последнем и основан этот прием.

  Ответить  
 
 автор: cheops   (23.05.2011 в 13:05)   письмо автору
 
   для: Богданн   (23.05.2011 в 11:17)
 

>Пишуть каждый стиль под конкретный браузер?
Дорогова-то это в конечном итоге получаются. Стараются верстать так, чтобы выглядело одинаково. Иногда на мелкие различия закрывают глаза.

  Ответить  
 
 автор: alexsol   (24.05.2011 в 10:06)   письмо автору
 
   для: Богданн   (23.05.2011 в 11:17)
 

возьмите три браузера:
FF, Opera, Chrome. отличие по основной обработке css/html в них минимальное.
верстать удобнее под FF с его дополнением FireBug

После добавления каждого нового элемента в верстку - проверяете в этих трех браузерах.
если видите расхождение - ищите альтернативное решение в верстке (как правило одно и тоже можно сделать как минимум двумя способами)

как почувствуете что отображение в браузерах идентично, верстаете только под FF, в конце верстки проверяете Opera, Chrome.

для ie6,7 пишутся отдельные стили с исправлениями, после завершения верстки макета

  Ответить  
 
 автор: Богданн   (24.05.2011 в 10:13)   письмо автору
 
   для: alexsol   (24.05.2011 в 10:06)
 

спасибо

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования