2013-03-13 5 views
1

Существует ли «стандартный» или семантически предпочтительный метод сокрытия элементов? Два простых варианта использования PHP:Скрыть элементы с помощью php или css?

<? 
if ($_URL == "/page/"){ 
?> 
<div id="page"> 
    <div class="hide-or-show"> 
    stuff 
    </div> 
</div> 
<? 
} 
<? 

или с помощью CSS:

<css> 
.hide .hide-or-show { 
    display:none; 
} 
</css> 

<div id="page" class="<? if ($_URL == "/page/") print "hide"; ?>"> 
    <div class="hide-or-show"> 
    stuff 
    </div> 
</div> 

Оба метода удаления элемента от зрителя. Метод php отправит меньше кода. Метод css кажется более чистым (при условии, что вы удаляете не только один элемент).

Является ли один метод более «правильным», чем другой? Или это просто предпочтение программиста?

+1

зависит от того, почему вы скрываете эту информацию. если это s00per-s33krit пароли, то не отправляйте его вообще. не может украсть то, чего у вас нет. –

+0

Первый случай, когда вы его не визуализируете. –

+0

Я должен был дать некоторый фон: для использования файлов заголовка и хвоста для создания оболочки для сайта, где индексный файл будет включать (head.php) [содержание здесь], включает (tail.php). Причина скрытия будет для чего-то вроде двух столбцов с раскладкой столбцов, добавления/скрытия баннеров, изображений заголовков и т. Д. – emachine

ответ

0

Это зависит от ваших потребностей. Вообще говоря, я бы сказал, если он никогда не нужен на странице (т. Е. Он не отображается динамически/скрыт на основе любого параметра или действия пользователя), то не отправляйте его вообще. Для меня самый чистый вывод из кода, который динамически генерирует другой код (что делает PHP с HTML), не содержит ничего лишнего.

+0

Это говорит мне, что вы предпочитаете простоту кода переднего конца над задним концом? Я думаю, это то, к чему этот вопрос сводится. – emachine

+0

Я пользуюсь простотой всего кода; учитывая, что вы должны где-то скрывать логику, возникает вопрос: есть ли у вас скрытая логика в CSS с более грязным выходом HTML или скрытая логика PHP с чистым HTML-выходом. В любом случае у вас есть скрытая логика, поэтому он сводится к более чистому выходу HTML. Возможно, я склонен к тенденции работать с полным стеком, поэтому он становится моей ответственностью, независимо от того, есть ли логика в PHP или CSS ... – Adrian

0

Здесь, используя css, лучший способ скрыть данные, поскольку он будет выполняться на клиентской машине, которая всегда будет предпочтительнее при использовании php, мы должны сделать запрос на сервер, который также является лучшим способом, но всегда выполняется на стороне клиента наилучшим и эффективным способом.

так просто использовать CSS вместо написания PHP скрипт

+0

Что делает его лучше или эффективнее? – Adrian

0

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

0

Если вам нужны данные/элемент позже, например, вы планируете использовать JavaScript для его отображения:

CSS - приемлемое решение, вы можете легко изменить класс с помощью Javascript.

Если вам не нужно позже:

«Сокрытие» с помощью PHP прекрасно, как технически это никогда не будет оказывать в HTML.

Смежные вопросы