Скрытие части HTML от нескольких браузеров. Условные комментарии - PullRequest
0 голосов
/ 28 октября 2009

Я хочу, чтобы я хотел, чтобы эта часть HTML-кода была скрыта от IE6 и IE7, но не от Firefox, Opera или IE8, но условные комментарии не работают должным образом в этой части .... Я использую отдельный CSS с условными комментариями в разделе заголовка Но условные комментарии для оперы не работают, а также иногда Firefox показывает странное поведение

<!--[if gte IE 8]>
    <[if Gecko]>


 <div class="anythingSlider">

      <div class="wrapper">
        <ul>
           <li>
                <img src="gallery/1.jpg" alt="" />
           </li>
            <li>
                <img src="gallery/2.jpg" alt="" />
           </li>

        </ul>
     </div>
 </div>

     <[endif]>
<[endif]––>

Ответы [ 4 ]

6 голосов
/ 28 октября 2009

Нет такой вещи как:

<[if Gecko]>

Условные комментарии работают только для IE, поэтому вы можете различать только IE5, IE6, IE7, IE8 и [все другие браузеры]. (К счастью, обычно вам нужен только IE6 и, может быть, IE7!)

я хочу, чтобы эта часть HTML-кода была скрыта от IE6 и IE7

ОК, чтобы показать содержимое условного комментария не только для проверенного условия, но и для [всех других браузеров], вам нужен условный комментарий с понижением уровня :

<!--[if gte IE 8]><!-->
    <div class="anythingSlider">
        ...
    </div>
<!--<![endif]-->

(Обратите внимание, что это не совсем официальный синтаксис MS для CC с пониженным уровнем, потому что это будет недействительным HTML.)

1 голос
/ 28 октября 2009

Правильно.

Кроме того, вы можете скрыть контент только из IE.

<!--[if !IE]><!--> IE won't see it. <!--<![endif]-->
1 голос
/ 28 октября 2009

вы смотрите на что-то вроде этого:

<!--[if lt IE 7]>
      <div class="wrapper">
        <ul>
           <li>
                <img src="gallery/1.jpg" alt="" />
           </li>
            <li>
                <img src="gallery/2.jpg" alt="" />
           </li>
<![endif]--> 

AFAIK Вы не указываете браузеры индивидуально. Этот «хак» действителен только для IE.

0 голосов
/ 28 октября 2009

Сокрытие фактического HTML-контента от определенных браузеров - это шаг в мир усложнений и кошмар обслуживания. Лучшим подходом было бы принять Прогрессивное улучшение . Однако, если вы действительно хотите скрыть содержимое, вы можете использовать display: none; в таблице стилей IE6 / 7, которая загружается с помощью условного комментария CSS-файла <!--[if lt IE 8]>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...