Скрытие div с использованием php

В настоящее время я скрываю div, основанный на выражении if. Метод, который я использую, использует echo вне css стиля display: none

Вот что я делаю конкретно:

 <style> #content{ <?php if(condition){ echo 'display:none'; } ?> } </style> <body> <div id="content"> Foo bar </div> </body> 

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

Использование Php в CSS (Cascade Style Sheet) не является «правильным»,

Кроме того, вы можете использовать Php в своем HTML:

 <body> <?php if (condition){ ?> <div id="content"> Foo bar </div> <?php } ?> </body> 

С этим кодом блок div не появляется (и вы не используете его с JavaScript), вы можете использовать это для просто скрытого div:

  <body> <div id="content" <?php if (condition){ echo 'style="display:none;"'; } ?>> Foo bar </div> </body> 

Почему бы не создать класс:

 <style> .hidden { display: none; } </style> 

И чем применить его с PHP:

 <div id="content" <?php print ( condition ? 'class="hidden"' : '' ); ?> > 

Это не лучший способ скрыть div. Поскольку PHP разбирается на стороне сервера, вы можете также включить оператор if или исключить div вместо эхо-значения класса CSS. Единственное время, которое было бы полезно с классом CSS, – это если вы планируете использовать JavaScript для отображения div на странице позже, в то время как пользователь находится на самой странице.

Ты мог:

 <div runat="server" id="theDiv"> Code behind is { theDiv.Visible = False; } 

или

Большинство людей будут использовать javascript

Heres предыдущая тема, которая поможет вам:

Javascript, если инструкция else, чтобы скрыть и показать div

Да, это стандартный способ сокрытия div. Что касается кеша браузера, он не должен кэшировать его, поскольку он не находится во внешней таблице стилей.

Обычно я стараюсь избегать использования PHP-процедур внутри CSS; особенно встроенный CSS (CSS, который находится на одной странице).

Я бы сохранил ваш CSS в собственном CSS-файле и использовал условный код PHP, чтобы либо добавить класс «скрыть» в DIV -OR-, либо не отнестись к DIV вообще.

 <link rel="stylesheet" type="text/css" href="style.css" /> <body> <div id="content" <?php if(conditional) : ?>class="hide"<?php endif;?>> Foo bar </div> </body> 

или альтернативно

 <?php $class = (conditional) ? "hide" : ""; ?> <link rel="stylesheet" type="text/css" href="style.css" /> <body> <div id="content" class="<?=$class?>"> Foo bar </div> </body> 

или

 <link rel="stylesheet" type="text/css" href="style.css" /> <body> <?php if (conditional) : ?> <div id="content"> Foo bar </div> <?php endif; ?> </body> 

Много раз div должен выводиться, поэтому его можно повторно отобразить с помощью JavaScript (например, карусели, слайдеры и т. Д.),