Это нормально, чтобы скрыть какие-либо вещи с помощью дисплея: нет? - PullRequest
4 голосов
/ 18 февраля 2010

Можно ли скрывать что-либо временно или навсегда, используя display:none? в динамическом сайте, где многие компоненты страницы поступают из разных плагинов и т. д. и много раз, если клиент не хочет ничего на странице, тогда я использую dispaly:none, чтобы скрыть вещи со страницы. Я не удаляю что-либо из фактического источника, потому что клиент может вернуться и попросить включить это снова.

Итак, каковы плюсы и минусы, чтобы скрывать вещи от отображения: нет, если я скрываю какой-либо элемент, используя Display:none навсегда?

есть ли минусы с точки зрения SEO, программы чтения с экрана, доступности и т. Д.?

Ответы [ 6 ]

12 голосов
/ 18 февраля 2010

Если клиент хочет, чтобы он был удален, создайте резервную копию страницы и опубликуйте страницу, которая фактически удалила его. Не заменяйте CSS на на самом деле , удаляя элемент. Если они решат, что хотят этого в будущем, зайдите и обменяйте свою резервную копию на вашу живую копию. Если вы имеете дело с динамическим выводом (в случае PHP или аналогичной технологии), вы можете остановить этот конкретный вывод комментариями, чтобы они никогда не включались в ответ.

4 голосов
/ 18 февраля 2010

Плюсы: очень легко сделать

Минусы:

  • Вы все еще загружаете компоненты на стороне сервера, и клиент загрузит их. Браузер просто не "покажет" их.
  • Любой, кто использует «просмотр источника», сможет увидеть значения, которые «скрыты». поэтому никогда не используйте его, чтобы скрыть конфиденциальную информацию.

Вы можете просто «прокомментировать» эти разделы на стороне сервера, чтобы сэкономить много обработки на сервере, пропускную способность и т. Д.

2 голосов
/ 18 февраля 2010

Вероятно, здесь также стоит упомянуть, что некоторые поисковые системы (например, Google) проверяют скрытый контент.

Сокрытие огромного количества текста с использованием display:none; - это одна из вещей, которую многие поисковые системы воспринимают как спам по ключевым словам.

:)

1 голос
/ 18 февраля 2010

display: none хорошо, если вы хотите скрыть то, что вы хотите видеть, когда люди выключают css или используют браузеры, которые не поддерживают css.

1 голос
/ 18 февраля 2010

Имеет смысл скрывать / показывать вещи с помощью display: none, когда вы выполняете Ajax на стороне клиента. Таким образом, вы можете переключать представления / вкладки, не совершая обходные действия на сервере.

Необходимо действительно удалить что-то из разметки страницы, когда это влияет на безопасность. Если пользователь не имеет права просматривать конфиденциальную информацию, он не должен появляться при нажатии «Показать источник».

0 голосов
/ 25 февраля 2010

Что касается доступности, существует большая вероятность, что что-то скрыто с помощью «display: none»; НЕ будет читаться программой чтения с экрана. Это может быть приемлемо, если вы собираетесь сделать так.

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

.offscreen {
    position: absolute;
    left: -9000px;
    width: 0;
    overflow: hidden;
}

И следующий HTML:

<h3 class="offscreen">Site Navigation</h3>

Для получения полной информации о методах сокрытия: http://www.access -matters.com / 2005/04/23 / чтения с экрана испытаний результаты /

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