Здесь переписывание из Сценария Jeffs для PHP:
define("SECOND", 1);
define("MINUTE", 60 * SECOND);
define("HOUR", 60 * MINUTE);
define("DAY", 24 * HOUR);
define("MONTH", 30 * DAY);
function relativeTime($time)
{
$delta = time() - $time;
if ($delta < 1 * MINUTE)
{
return $delta == 1 ? "one second ago" : $delta . " seconds ago";
}
if ($delta < 2 * MINUTE)
{
return "a minute ago";
}
if ($delta < 45 * MINUTE)
{
return floor($delta / MINUTE) . " minutes ago";
}
if ($delta < 90 * MINUTE)
{
return "an hour ago";
}
if ($delta < 24 * HOUR)
{
return floor($delta / HOUR) . " hours ago";
}
if ($delta < 48 * HOUR)
{
return "yesterday";
}
if ($delta < 30 * DAY)
{
return floor($delta / DAY) . " days ago";
}
if ($delta < 12 * MONTH)
{
$months = floor($delta / DAY / 30);
return $months <= 1 ? "one month ago" : $months . " months ago";
}
else
{
$years = floor($delta / DAY / 365);
return $years <= 1 ? "one year ago" : $years . " years ago";
}
}
Это означает, что вы называете что-то тем, чем оно является на самом деле. Классический пример: если что-то является таблицей
, она должна содержать строки и столбцы данных. Использовать это для макета семантически неверно - вы говорите «это таблица», когда это не так.
Другой пример: список (
или
) обычно следует использовать для группировки похожих элементов (
). Вы можете использовать div
для группы и
для каждого элемента и стилизовать каждый диапазон
, чтобы он находился на отдельном отметьте маркер, и он может выглядеть так, как вы хотите. Но «это список» дает больше информации.
HTML означает «язык гипертекста разметки »; его цель - разметить или маркировать ваш контент. Чем точнее вы его разметите, тем лучше. В HTML5 вводятся новые элементы для более точного обозначения общих частей веб-страницы, таких как верхние и нижние колонтитулы.
Вся эта семантическая маркировка помогает машинам анализировать ваш контент, что помогает пользователям. Например:
fieldsets
с одной легендой
для каждого. Слепой пользователь может услышать текст легенды
и решить: «О, я могу пропустить этот раздел», точно так же, как зрячий пользователь, прочитав его. type = "tel"
(для номеров телефонов). «Семантически правильное использование элементов означает, что вы используете их для того, для чего они предназначены. Это означает, что вы используете таблицы для табличных данных, но не для разметки, это означает, что вы используете списки для перечисления вещей, сильные и em для выделения текста и тому подобное. "
From: http://www.codingforums.com/archive/index.php/t-53165.html
Семантика в основном означает «Изучение значения».
Обычно, когда люди говорят о семантически правильном коде, они имеют в виду код, который точно описывает что-то.
В (x) HTML, есть определенные теги, которые придают смысл содержанию, которое они содержат. Например:
Тег H1 описывает данные, которые он содержит, как заголовок уровня 1. Тег H2 описывает данные, которые он содержит, как заголовок уровня 2. Подразумеваемое значение этого состоит в том, что каждый H2 под H1 каким-то образом связан (то есть заголовок и подзаголовок).
Когда вы кодируете семантическим способом, вы в основном придаете значение данным, которые вы описываете.
Рассмотрим следующие 2 образца семантического VS несемантического:
<h1>Heading</h1>
<h2>Subheading</h2>
VS несемантического эквивалента:
<p><strong>Heading</strong></p>
<p><em>Subheading</em></p>
Иногда вы можете услышать, как в дебатах люди говорят: «Вы»
Элементы HTML имеют значение. «Семантически правильный» означает, что ваши элементы означают то, что должны.
Например, ваши списки определений представлены списками
в коде, ваши сокращения -
s
и т. Д.
Это означает, что элементы HTML используются в правильном контексте (в отличие от таблиц, используемых в целях проектирования), классы CSS имеют понятные человеку имена, а сам документ имеет структуру, которая могут обрабатываться клиентами, не являющимися браузерами, такими как программы чтения с экрана, автоматические парсеры, пытающиеся извлечь информацию и ее структуру из документа и т. д.
Например, вы используете списки для создания меню. Таким образом, программа чтения с экрана для людей с ограниченными возможностями будет знать, что эти элементы списка являются частями одного уровня меню, и будет читать их по порядку, чтобы человек мог сделать выбор.
Я никогда не слышал об этом только в контексте CSS, но когда речь идет о CSS и HTML, это означает использование правильных тегов (например, отказ от использования тега таблицы для не- табличные данные), предоставляя правильные значения для класса и идентификатора, которые идентифицируют содержащиеся данные (с использованием микроформатов в зависимости от ситуации) и т. д.
Все дело в том, чтобы убедиться, что ваши данные могут быть понятны людям (все отображается правильно) и компьютерам (все правильно идентифицировано и размечено).