Надеюсь, вы найдете это полезным.
HTML:
<html>
<head>
<link rel = "stylesheet" href = "test.css">
<body>
</body>
<script src = "test.js"></script>
</head>
</html>
JAVASCRIPT:
var tableString = "<table>",
body = document.getElementsByTagName('body')[0],
div = document.createElement('div');
for (row = 1; row < 101; row += 1) {
tableString += "<tr>";
for (col = 1; col < 11; col += 1) {
tableString += "<td>" + "row [" + row + "]" + "col [" + col + "]" + "</td>";
}
tableString += "</tr>";
}
tableString += "</table>";
div.innerHTML = tableString;
body.appendChild(div);
Промежуток может использоваться для добавления семантического значения, которое выходит за пределы объема HTML. Это может быть сделано при помощи классов, которые определяют определенные атрибуты. Например, если Вы пишете научно-фантастический роман, можно использовать промежуток для идентификации искусственных слов, потому что можно хотеть отформатировать тех по-другому, или потому что можно хотеть, чтобы программа проверки правописания проигнорировала их:
Тогда мастер призвал < класс промежутка = "wizardword"> gravenwist< / промежуток> и предложил его, нападают на приближающуюся армию. < класс промежутка = "wizardword"> gavenwist< / промежуток> сопротивлявшийся, но < мастера; класс промежутка = "wizardword"> wistwand< / промежуток> было слишком мощно.
Это могло представить как
Тогда, мастер призвал gravenwist и предложил его, нападают на приближающуюся армию. gavenwist, которому сопротивляются, но мастер , wistwand был слишком мощен.
Другой хороший пример этого вида вещи микроформаты , которые позволяют создание произвольной структуры в HTML:
<span class="tel">
<span class="type">home</span>:
<span class="value">+1.415.555.1212</span>
</span>
преимущество промежутка, по сравнению с отделением, состоит в том, что промежутки могут появиться почти везде, потому что они - встроенное содержание, и отделения являются элементами блока, таким образом, они могут только произойти внутри определенные другие элементы.
Я использую, ОХВАТЫВАЮТ много, когда я хочу иметь JavaScript, анализируют элемент и вставляют некоторое значение в теге, например:
<span datafield="firstname"></span>
вставили бы значение в него позже, так в этом случае это действительно имеет значение, хотя только подразумевать, что я решаю дать его. То, что промежуток иначе не имеет никакого эффекта на расположение, идеально в этом случае.
<div class="name">
<span class="firstname">John</span>
<span class="lastname">Doe</span>
</div>
Это зависит полностью от того, что Вы хотите выразить. Если повышение имени имеет семантическую ценность для Вас (будьте им только для имения рычага для CSS, чтобы отформатировать имена или извлечь их использующий некоторый язык сценариев), тогда можно использовать промежуток.
для тегов span нужны класс или идентификационный атрибут, чтобы дать им значение.
, например, < класс промежутка = "personal_phone_number" > 0123 456789</span>
Очень полезное преимущество должно было бы отметить изменения на языке. Например,
<p>Welcome to Audi UK, <span lang="de">Vorsprung durch Technik</span>.</p>
Программы экранного доступа с несколькими возможностями языка могли использовать это.
, Таким образом, они не представляемы, просто универсальны. На самом деле промежутки редко представляемы, обеспечивание семантически значимого имени класса используется, как "орфографическая ошибка" и не "полужирный красный текст".
span
s может на самом деле быть поставщиками услуг для семантической информации в форме class
атрибуты. Это используется микроформатами.
Я думаю, что он спрашивает о различии между отделением и промежутком, и действительно нет один, кроме поведения по умолчанию.
Это - вопрос соглашения. Когда использование моделирования, div
обычно используется для разграничения подразделений содержания, в то время как span
используется для разграничения встроенного текста. Вы могли так же, как легко использовать div
везде или использование span
везде, но полезно думать о них как отличающихся, даже если это только условно.
ПРОМЕЖУТОК (и DIV) элементы собой обычно считается семантически нейтральным. Хороший подход должен использовать семантическую разметку так же как соответственно возможный, но иногда Вы сталкиваетесь с ситуациями, где существующие элементы HTML, которые действительно обеспечивают семантическое значение (EM, СИЛЬНЫЙ, СОКР., АКРОНИМ, и т.д., и т.д.), не являются правильным соответствием семантически Вашего содержания. Таким образом, следующий шаг должен использовать семантически нейтральный ПРОМЕЖУТОК или DIV с семантически значимым идентификатором или классом.
Если Вы хотите применить правила форматирования к части содержания (например, отдельное слово или предложение) тега. Можно использовать тег span. Это иногда называют форматированием tagless.
я использую промежутки в своем EBNF-> преобразователь XHTML для применения другого формата к литералам и маркерам.
CSS Игнорирования, так как это даст семантическое значение, когда действительно охватит, обеспечивают дополнительное семантическое значение, нарубив предложение или строку слов?
CSS Игнорирования (и другая неразметка HTML), никогда. < span
> только цель в жизни состоит в том, чтобы нести разметку, которую Вы не можете выразить в HTML. Разметка, такая как < span style="dropCap"
> который не имеет эквивалента в HTML, но существовал в публикации печати в течение сотен лет, и к которому всегда относятся всего один символ - первая буква объекта (статья, безотносительно), не вызывая разрыв слова (или никакое большее повреждение).
кажется, что во всех случаях, другие элементы лучше подходят для добавления семантического значения, делая промежуток чисто элементом макета. Действительно ли это верно?
Да и нет. Единственное действительное значение < span
> это, это семантически нейтрально. Таким образом, в отличие от этого, например, < p
> это ничего не делает, что Вы могли бы хотеть иметь его не, делают, когда Вы используете его для переноса другой разметки. И существуют времена, как < span style="dropCap"
> выше, когда Вы не хотите никаких других эффектов.
В HTML мог использоваться для микроформатов. Но так как фактическая спецификация HTML X HTML, нет никакого смысла. Вместо:
<P>Hello, my name is <SPAN class="name"> Joe Sixpack </SPAN></P>
я использовал бы:
<P>Hello, my name is <FOAF:name> Joe Sixpack </FOAF:name></P>
Значение ПРОМЕЖУТКА, "это - (универсальный) промежуток (например, текст) содержание". Сравните с DIV, что означает, что "это - логическое подразделение (т.е. универсальный раздел документа)".
ПРОМЕЖУТОК является главным образом рычагом для зависания стилей прочь (таким образом, можно использовать <span style='color:blue'>
вместо <font color='blue'>
).
От спецификации:
DIV и элементы ПРОМЕЖУТКА, в сочетании с идентификатором и атрибутами класса, предлагают универсальный механизм для добавления структуры к документам. Эти элементы определяют содержание, чтобы быть встроенными (ПРОМЕЖУТОК) или блочный уровень (DIV), но не наложить никакие другие представляемые идиомы на содержание. Таким образом авторы могут использовать эти элементы в сочетании с таблицами стилей, атрибутом Ленга, и т.д., для адаптации HTML в соответствии с их собственными потребностями и вкусами.
Предположим, например, что мы хотели генерировать документ HTML на основе базы данных информации о клиенте. Так как HTML не включает элементы, которые определяют объекты, такие как "клиент", "номер телефона", "адрес электронной почты", и т.д., мы используем DIV и ПРОМЕЖУТОК для достижения желаемых структурных и представляемых эффектов. Мы могли бы использовать элемент ТАБЛИЦЫ следующим образом для структурирования информации:
<!-- Example of data from the client database: -->
<!-- Name: Stephane Boyera, Tel: (212) 555-1212, Email: sb@foo.org -->
<DIV id="client-boyera" class="client">
<P><SPAN class="client-title">Client information:</SPAN>
<TABLE class="client-data">
<TR><TH>Last name:<TD>Boyera</TR>
<TR><TH>First name:<TD>Stephane</TR>
<TR><TH>Tel:<TD>(212) 555-1212</TR>
<TR><TH>Email:<TD>sb@foo.org</TR>
</TABLE>
</DIV>
<DIV id="client-lafon" class="client">
<P><SPAN class="client-title">Client information:</SPAN>
<TABLE class="client-data">
<TR><TH>Last name:<TD>Lafon</TR>
<TR><TH>First name:<TD>Yves</TR>
<TR><TH>Tel:<TD>(617) 555-1212</TR>
<TR><TH>Email:<TD>yves@coucou.com</TR>
</TABLE>
</DIV>