<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Сервер онлайн-тестирования. Образовательный портал WebTeach.ru &#187; XHTML, CSS, SSI</title>
	<atom:link href="http://webteach.ru/category/web-programmirovanie/xhtml-css-ssi/feed" rel="self" type="application/rss+xml" />
	<link>http://webteach.ru</link>
	<description>Уроки и статьи по информатике, биологии, литературе, астрономии, химии... Сервис онлайн-тестирования.</description>
	<lastBuildDate>Wed, 21 Jul 2010 07:29:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Применение фреймов в стандарте HTML</title>
		<link>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/primenenie-frejmov-v-standarte-html</link>
		<comments>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/primenenie-frejmov-v-standarte-html#comments</comments>
		<pubDate>Sun, 24 Jan 2010 15:21:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[XHTML, CSS, SSI]]></category>

		<guid isPermaLink="false">http://webteach.ru/?p=494</guid>
		<description><![CDATA[Обычно Web-страница занимает окно броузера целиком. Если вы не преследуете своей целью сделать сайт-визитку, где вся информация выложена на одной странице, то лучше разбить главную страницу сайта на логические разделы. 
  Современный стандарт HTML позволяет поделить рабочее окно на несколько независимых зон, в каждой из которых может демонстрироваться своя web-страница. Такие зоны называют рамками, [...]]]></description>
			<content:encoded><![CDATA[<p>Обычно Web-страница занимает окно броузера целиком. Если вы не преследуете своей целью сделать сайт-визитку, где вся информация выложена на одной странице, то лучше разбить главную страницу сайта на логические разделы. <br />
  Современный стандарт HTML позволяет поделить рабочее окно на несколько независимых зон, в каждой из которых может демонстрироваться своя web-страница. Такие зоны называют рамками, кадрами или фреймами (англ. Frames).</p>
<p>Например, можно сформировать на экране три фрейма: <br />
  Первым фреймом можно сделать горизонтальную полосу вверху страницы, на которой отображается заголовок сайта или логотип фирмы. <br />
  Вторым фреймом можно выделить полосу в правой или левой части страницы. Как правило, боковую часть отдают под кнопочное меню. В этом случае каждая кнопка является гиперссылкой на другую подчиненную страницу. <br />
  Третьим фреймом останется большая часть броузера, на которой представлена основная страница. </p>
<p>В итоге &#8211; при щелчке мышью на кнопочном меню, содержимое основной страницы будет меняться (вывод соответствующей страницы по ссылке), а боковая часть страницы и шапка останутся без изменений. </p>
<p>Применение рамок на Интернет-сайтах позволяет получить интересные эффекты. Например, если выделить рамкой фрагмент окна документа, то появляется возможность обновления небольшой части экрана, создавая впечатление динамики всего окна.</p>
<p>В случае медленной передачи данных обновление небольшого участка окна уменьшает нетерпение пользователя, ожидающего загрузки новых данных в окно броузера. Ведь на экране продолжает оставаться старое содержимое главного документа (при этом нет эффекта «белого экрана»). </p>
<p>Другой сферой применения рамок служит оформление документа в виде контрольной панели, с которой по гиперссылкам можно управлять действиями, производимыми в других окнах.</p>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/primenenie-frejmov-v-standarte-html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Типы селекторов в CSS</title>
		<link>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/tipy-selektorov-v-css</link>
		<comments>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/tipy-selektorov-v-css#comments</comments>
		<pubDate>Sun, 24 Jan 2010 15:17:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[XHTML, CSS, SSI]]></category>

		<guid isPermaLink="false">http://webteach.ru/?p=490</guid>
		<description><![CDATA[Операторы языка HTML позволяют провести логическое деление документа на секции и выделить его структурные элементы. Например, &#8211; секция тела страницы, 

параграф, 
таблица, 
список и т.д&#8230;

С каждым оператором связан также некоторый заданный по умолчанию список свойств форматирования (кегль заголовков, отступы до и после абзаца, способ маркирования списка и т.д.), заранее определенный в установках пользователя, «зашитый» в [...]]]></description>
			<content:encoded><![CDATA[<p>Операторы языка HTML позволяют провести логическое деление документа на секции и выделить его структурные элементы. Например, &#8211; секция тела страницы, </p>
<ul>
<li>параграф, </li>
<li>таблица, </li>
<li>список и т.д&#8230;</li>
</ul>
<p>С каждым оператором связан также некоторый заданный по умолчанию список свойств форматирования (кегль заголовков, отступы до и после абзаца, способ маркирования списка и т.д.), заранее определенный в установках пользователя, «зашитый» в свойствах броузера. Тем самым операторы являются основным инструментом идентификации структурных элементов документа, которым можно присваивать определенные свойства. </p>
<p>Иерархическая структура HTML-документов позволяет построить древо документа. Это чертеж, иллюстрирующий способ вложения элементов документа (представленных операторами) друг в друга.</p>
<p>Следует обратить внимание, что форма древа и наличие узлов в нем являются характерными для данного документа. Анализируя другой документ, можем получить совершенно иное древо. </p>
<p>Имея перед собой рисунок такого древа, можно более наглядно постичь некоторые понятия, тесно связанные с типами и способом записи селекторов, задающих сферу приложения стилей:</p>
<ul>
<li><strong>Язык документа</strong> – язык, в котором закодирован данный документ. В нашем случае это язык HTML.</li>
<li><strong>Элемент</strong> – оператор языка HTML, представленный в виде узла на древе документа.</li>
<li><strong>Атрибут</strong> – значение, связанное с элементом, состоит из названия и присвоенного текстового значения.</li>
<li><strong>Корень</strong> – начальный элемент древа (не имеет родителя). В случае документов HTML, элементом, представляющим собой корень, является какой-либо оператор HTML.</li>
<li><strong>Ребенок</strong> – элемент «В» является ребенком элемента «А», если элемент «А» является родителем элемента «В», то есть если элемент «А» выступает на один уровень выше в иерархии древа. Каждый элемент древа документа (за исключением корня) всегда имеет одного родителя.</li>
<li><strong>Потомок</strong> – элемент «В» является потомком элемента «А», если элемент «А» выступает на один уровень выше, чем элемент «В» в иерархии древа, или если элемент «В» является ребенком элемента «С», являющегося потомком элемента «А».</li>
<li><strong>Брат</strong> – элементы «А» и «В» называются братьями, если у них общтй родитель.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/tipy-selektorov-v-css/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS. Поддержка прозрачных слоев PNG для IE-6</title>
		<link>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/css-podderzhka-prozrachnosti</link>
		<comments>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/css-podderzhka-prozrachnosti#comments</comments>
		<pubDate>Wed, 12 Aug 2009 07:36:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[XHTML, CSS, SSI]]></category>

		<guid isPermaLink="false">http://webteach.ru/?p=441</guid>
		<description><![CDATA[Современные браузеры, такие как Opera и Firefox, поддерживают прозрачные слои для PNG графики в отличие от IE-6.
О чем идет речь: посмотрите на рисунок ниже в Internet Explorer 6. 
Картинка справа использует расширение для CSS, позволяющее пофиксить проблему с програчностью PNG в браузере IE.
Причем, как для непосредственно изображений (&#60;img&#62;), так и для бэкграунда (фона) слоев (&#60;div&#62;)










Как [...]]]></description>
			<content:encoded><![CDATA[<p>Современные браузеры, такие как Opera и Firefox, поддерживают прозрачные слои для PNG графики в отличие от IE-6.<br />
О чем идет речь: посмотрите на рисунок ниже в Internet Explorer 6. <br />
Картинка справа использует расширение для CSS, позволяющее пофиксить проблему с програчностью PNG в браузере IE.<br />
Причем, как для непосредственно изображений (&lt;img&gt;), так и для бэкграунда (фона) слоев (&lt;div&gt;)</p>
<table width="100%" border="0" cellpadding="3" cellspacing="3" background="http://webteach.ru/fax_bg.jpg">
<tr>
<td>
<div align="center"><img src="http://webteach.ru/fax.png" alt="програчность PNG" width="150" height="150" /></div>
</td>
<td>
<div align="center"><img src="http://webteach.ru/fax.png" alt="програчность PNG" width="150" height="150" class="transparent" /></div>
</td>
</tr>
</table>
<p><strong>Как это работает:</strong></p>
<p>Скачайте файлы:</p>
<ul>
<li> <a href="http://webteach.ru/pngfix/iepngfix.htc">iepngfix.htc</a></li>
<li><a href="http://webteach.ru/pngfix/blank.gif">blank.gif</a></li>
</ul>
<p>и поместите их в хом-директорию вашего сайта.</p>
<p>В таблицу стилей вашего сайта (CSS) добавьте следующую строку:</p>
<blockquote>
<p>img, div { behavior: url(&quot;iepngfix.htc&quot;) }</p>
</blockquote>
<p>Теперь все элементы <strong>img</strong> и <strong>div</strong> будут &quot;понимать&quot; <strong>PNG прозрачность</strong>.</p>
<p><strong>Что делать если:</strong></p>
<p><strong>Все сделали как описано, но прозрачность не работает</strong>. &#8211; Проверьте внимательно пути к файлу <em>iepngfix.htc</em> в стилях и к файлу <em>blank.gif</em> в коде самого <em>iepngfix.htc</em>. Попробуйте добавить строчку: </p>
<blockquote>
<p>alert(&#8216;This works&#8217;);</p>
</blockquote>
<p>в файл <em>iepngfix.htc &#8211; </em>вы должны увидеть предупреждение при заходе на страницу. Если его нет &#8211; проблема, скорее всего, в путях</p>
<p><strong>Работает локально, но не работает на сервере.</strong> &#8211; Необходимо убедиться, что сервер отдает корректный MIME type  &quot;text/x-component&quot; для .HTC файлов. Можно добавить в ваш .htaccess строчку: </p>
<blockquote>
<p>AddType text/x-component .htc</p>
</blockquote>
<p>либо, если и это не помогает, воспользоваться PHP. Создайте PHP файл с именем <em>iepngfix.php</em> следующего содержания:</p>
<blockquote>
<p>&lt;?php<br />
    header(&#8216;Content-type: text/x-component&#8217;);<br />
    include(&#8216;iepngfix.htc&#8217;);<br />
    ?&gt;</p>
</blockquote>
<p>и залейте его в ту же, директорию, где лежит iepngfix.htc. А в стилях вызывайте не .htc файл, а .php файл, например:</p>
<blockquote>
<p>img, div { behavior: url(&quot;iepngfix.php&quot;) }</p>
</blockquote>
<p>Таким образом будет отдаваться нужный MIME для HTC файла.</p>
<p>Надеюсь, статья будет вам полезна, и жду отзывов и комментариев&#8230;</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/css-podderzhka-prozrachnosti/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Немного о XML</title>
		<link>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/nemnogo-o-xml</link>
		<comments>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/nemnogo-o-xml#comments</comments>
		<pubDate>Sat, 04 Oct 2008 16:11:04 +0000</pubDate>
		<dc:creator>kr4shr</dc:creator>
				<category><![CDATA[XHTML, CSS, SSI]]></category>

		<guid isPermaLink="false">http://webteach.ru/2008/10/04/nemnogo-o-xml/</guid>
		<description><![CDATA[XML &#8211; расширяемый язык разметки (англ. eXtensible Markup Language). Язык XML был создан с целью представления данных, понятных как человеку, так и компьютеру. В некотором смысле этот язык похож на HTML, но это сходство практически незначительно. В XML также используются теги, но этот стандарт, в отличие от HTML, позволяет использовать произвольную разметку тегами, и, как [...]]]></description>
			<content:encoded><![CDATA[<p>XML &#8211; расширяемый язык разметки (англ. eXtensible Markup Language). Язык XML был создан с целью представления данных, понятных как человеку, так и компьютеру. В некотором смысле этот язык похож на HTML, но это сходство практически незначительно. В XML также используются теги, но этот стандарт, в отличие от HTML, позволяет использовать произвольную разметку тегами, и, как следствие, хранить в xml-файлах совершенно различные данные.<br />
<span id="more-83"></span><br />
Любой xml=документ должен начинаться с вот такого тега:</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243;?&gt;</p></blockquote>
<p>Данный тег говорит о том, что это именно xml документ.</p>
<p>После этого в документе изут различные элементы. которые окружаются совершенно произвольными тегами, например:</p>
<blockquote><p>&lt;document&gt;&lt;/document&gt;</p></blockquote>
<p>Первый открытый элемент считается корневым. Корневой элемент, в соответствии со стандартами xml, должен быть только один. Кроме этого правила существует ещё одно: любой документ xml должен быть &#8220;хорошо структурирован&#8221;. Под этим понимается следующее: если элемент (родительский) содержит в себе другоой элемент (дочерний), то дочерний элемент должен быть закрыт раньше, чем родительский.</p>
<p>Элементы также могут иметь свойства, которые определяются в открывающем теге, например:</p>
<blockquote><p>&lt;document title=&#8221;Пример документа&#8221;&gt;</p></blockquote>
<p>Пустые элементы (не содержащие в себе ни текста, ни других элементов) записываются следующим образом:</p>
<blockquote><p>&lt;empty /&gt;</p></blockquote>
<p>Вот пример xml-документа, который хранит в себе данные о мобильных телефонах</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;phones&gt;<br />
&lt;phone&gt;<br />
&lt;manufacturer&gt;Siemens&lt;/manufacturer&gt;<br />
&lt;name&gt;CX75&lt;/name&gt;<br />
&lt;camera&gt;1.3 Mpix&lt;/camera&gt;<br />
&lt;/phone&gt;<br />
&lt;phone&gt;<br />
&lt;manufacturer&gt;Nokia&lt;/manufacturer&gt;<br />
&lt;name&gt;6300&lt;/name&gt;<br />
&lt;camera&gt;2.0 Mpix&lt;/camera&gt;<br />
&lt;/phone&gt;<br />
&lt;/phones&gt;</p></blockquote>
<p>Хранение данных в формате xml удобно по сравнению с обычными файлами при написании php-приложений. Об использовании xml в php мы поговорим следующий раз.</p>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/nemnogo-o-xml/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Практическое использование SSI при написании сайтов</title>
		<link>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/prakticheskoe-ispolzovanie-ssi-pri-napisanii-sajtov</link>
		<comments>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/prakticheskoe-ispolzovanie-ssi-pri-napisanii-sajtov#comments</comments>
		<pubDate>Thu, 14 Aug 2008 13:55:45 +0000</pubDate>
		<dc:creator>kr4shr</dc:creator>
				<category><![CDATA[XHTML, CSS, SSI]]></category>

		<guid isPermaLink="false">http://webteach.ru/2008/08/14/prakticheskoe-ispolzovanie-ssi-pri-napisanii-sajtov/</guid>
		<description><![CDATA[В прошлой статье о SSI Вы узнали о основных функциях SSI и области его применения. Если Вы решили применить SSI в своём сайте, то, наверное, могли заметить, что SSI может серьёзно облегчить обновление дизайна сайта, если его можно разбить на три части:

&#8220;шапка&#8221; (то, что перед текстом)
содержимое страницы (текст)
&#8220;подвал&#8221; (то, что после текста)

Тогда можно разбить страничку [...]]]></description>
			<content:encoded><![CDATA[<p>В прошлой статье о SSI Вы узнали о основных функциях SSI и области его применения. Если Вы решили применить SSI в своём сайте, то, наверное, могли заметить, что SSI может серьёзно облегчить обновление дизайна сайта, если его можно разбить на три части:</p>
<ul>
<li>&#8220;шапка&#8221; (то, что перед текстом)</li>
<li>содержимое страницы (текст)</li>
<li>&#8220;подвал&#8221; (то, что после текста)</li>
</ul>
<p>Тогда можно разбить страничку на три части, а так как две из них неизменны и используются во всех страницах (если это, конечно, так), их можно сделать &#8220;шаблонами&#8221;, и тогда в страничках будет только инструкция по добавлению этих шаблонов и их содержимое.</p>
<p>Но можно сделать гораздо удобнее! Ведь в SSI можно использовать переменную QUERY_STRING, которая содержит всё, что расположено после знака &#8220;?&#8221; в запросе. Тогда можно сделать только один файл шаблона и файлы с контентом, которые будут содержать только текст. А реализуется это так:</p>
<p>Листинг файла index.shtml</p>
<blockquote><p>&lt;!&#8211; Ваша шапка, теги html, head, меню и так далее &#8211;&gt;<br />
&lt;!&#8211;#if expr=&#8221;$QUERY_STRING&#8221;&#8211;&gt;<br />
&lt;!&#8211;#include virtual=&#8221;path/to/content/$QUERY_STRING&#8221;&#8211;&gt;<br />
&lt;!&#8211;#else &#8211;&gt;<br />
&lt;!&#8211;#include virtual=&#8221;path/to/content/index.txt&#8221;&#8211;&gt;<br />
&lt;!&#8211;#endif &#8211;&gt;<br />
&lt;!&#8211; Ваш подвал &#8211; счётчики, копирайты, закрытие страницы &#8211;&gt;</p></blockquote>
<p>в папке path/to/content (путь естественно можно и нужно заменить) должны лежать текстовые файлы с содержимым страниц. Содержимое файла index.txt будет текстом на главной странице. Ссылки будут иметь вид http://сайт.ru/index.shtml?name, где name — название текстового файла, в котором содержится контент текущей странички.</p>
<p>Конечно, ссылки выглядят криво, и сейчас мы это исправим. Создадим файл .htaccess, в который загоним следующее содержимое</p>
<blockquote><p>RewriteEngine on<br />
Options +FollowSymlinks<br />
RewriteBase /<br />
RewriteRule ^([a-zA-Z0-9]*).html index.shtml?$1</p></blockquote>
<p>Теперь к страницам можно обращаться, используя URLы вида http://сайт.ru/name.html.</p>
<p>После этих модификаций сайт не приобрёл каких–либо кардинальных изменений, но зато теперь его гораздо проще обновлять.</p>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/prakticheskoe-ispolzovanie-ssi-pri-napisanii-sajtov/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSI, или первый шаг в переходе с чистого HTML</title>
		<link>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/ssi-ili-pervyj-shag-v-perexode-s-chistogo-html</link>
		<comments>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/ssi-ili-pervyj-shag-v-perexode-s-chistogo-html#comments</comments>
		<pubDate>Wed, 13 Aug 2008 15:22:36 +0000</pubDate>
		<dc:creator>kr4shr</dc:creator>
				<category><![CDATA[XHTML, CSS, SSI]]></category>

		<guid isPermaLink="false">http://webteach.ru/2008/08/13/ssi-ili-pervyj-shag-v-perexode-s-chistogo-html/</guid>
		<description><![CDATA[Эта статья будет интересна, наверное, только тем, кто ещё держит сайт, сделанный на &#8220;чистом&#8221; HTML и, наверное, тем, кто просто хочет почитать про то, чего они ещё не знают. Если у Вас есть сайт, написанный с использованием PHP, эта статья вряд ли Вам пригодится. Хотя, кто знает&#8230;
Итак, что такое SSI? SSI (Server Side Includes, включения [...]]]></description>
			<content:encoded><![CDATA[<p>Эта статья будет интересна, наверное, только тем, кто ещё держит сайт, сделанный на &#8220;чистом&#8221; HTML и, наверное, тем, кто просто хочет почитать про то, чего они ещё не знают. Если у Вас есть сайт, написанный с использованием PHP, эта статья вряд ли Вам пригодится. Хотя, кто знает&#8230;</p>
<p>Итак, что такое SSI? SSI (Server Side Includes, включения с серверной стороны) &#8211; это технология, способная избавить Вас от некоторой рутины при редактировании сайта. Чаще всего используется для шаблонизации, но может привнести в сайт и немного динамики.</p>
<p>Начнём с того, как использовать SSI. Для использования SSI нужен просто сервер с его поддержкой. Таковым, например, является Apache.</p>
<p>Директивы SSI обрабатываются в файлах с расширением .shtml, хотя можно настроить сервер так, чтобы директивы SSI обрабатывались и в файлах с расширением .html.</p>
<p>Директивы SSI имеют следующий вид:</p>
<blockquote><p>&lt;!&#8211;#команда параметр1=&#8221;значение&#8221; параметр2=&#8221;значение&#8221; &#8211;&gt;</p></blockquote>
<p>Вот список команд SSI (не исчерпывающий, но содержащий самые нужные команды:</p>
<p><strong>echo</strong> — выводит значение какого-либо серверного параметра. Вот вид команды (а заодно и пример использования):</p>
<blockquote><p>&lt;!&#8211;#echo var=&#8221;HTTP_REFERER&#8221; &#8211;&gt;</p></blockquote>
<p>Доступные для вывода параметры (список не полный):<br />
HTTP_REFERER — адрес страницы, с которой пришёл посетитель<br />
HTTP_USER_AGENT — информация о браузере пользователя<br />
REMOTE_ADDR — IP адрес пользователя</p>
<p><strong>include</strong> — добавляет в текущий файл содержимое другого файла</p>
<blockquote><p>&lt;!&#8211;#include virtual=&#8221;./file.txt&#8221; &#8211;&gt;</p></blockquote>
<p>Пример добавляет содержимое файла file.txt</p>
<p><strong>fsize</strong> — выводит информацию о размере файла</p>
<blockquote><p>&lt;!&#8211;#fsize file=&#8221;./file.zip&#8221; &#8211;&gt;</p></blockquote>
<p><strong>flastmod</strong> — выводит дату и время последней модификации файла.<br />
Формат вывода соответствует настройкам на сервере.</p>
<blockquote><p>&lt;!&#8211;#flastmod file=&#8221;./file.zip&#8221; &#8211;&gt;</p></blockquote>
<p><strong>config</strong> — команда для изменеия некоторых серверных настроек (на время выполнения программы). Например, можно изменить формат вывода даты и времени для команды flastmod:</p>
<blockquote><p>&lt;!&#8211;#config timefmt=&#8221;%d.%m.%Y %H:%M:%S&#8221; &#8211;&gt;</p></blockquote>
<p><strong>exec</strong> — с помощью этой команды можно выполнить внешнюю программу (параметр cmd) или cgi-скрипт (параметр cgi)</p>
<p><strong>printenv</strong> — программа выводит системные переменные, параметров не имеет</p>
<blockquote><p>&lt;!&#8211;#printenv &#8211;&gt;</p></blockquote>
<p><strong>if</strong> — известный всем программистам оператор логического перехода</p>
<blockquote><p>&lt;!&#8211;#if expr=&#8221;$HTTP_USER_AGENT = /Firefox/&#8221;&#8211;&gt;<br />
Отличный выбор браузера! Нам тоже нравится Firefox!<br />
&lt;!&#8211;#else &#8211;&gt;<br />
Рекомендуем Вам использовать Firefox!<br />
&lt;!&#8211;#endif &#8211;&gt;</p></blockquote>
<p>Если Вы решите перейти с использования чистого HTML на HTML+SSI, то знайте, что это грозит Вам меньшими затратами времени и большим динамизмом страниц =)</p>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/ssi-ili-pervyj-shag-v-perexode-s-chistogo-html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как правильно программировать?</title>
		<link>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/kak-pravilno-programmirovat</link>
		<comments>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/kak-pravilno-programmirovat#comments</comments>
		<pubDate>Wed, 09 Jul 2008 11:44:40 +0000</pubDate>
		<dc:creator>UNREALre</dc:creator>
				<category><![CDATA[XHTML, CSS, SSI]]></category>

		<guid isPermaLink="false">http://webteach.ru/2008/07/09/kak-pravilno-programmirovat/</guid>
		<description><![CDATA[Если вы уже имеете достаточно большой опыт работы за своими плечами, то не думаю, что данная статья будет актуальной для Вас. Если же Вы новичок в Мире Web-программирования или только начали изучение – добро пожаловать. Эта статья имеет достаточно громкое название, но она не претендует на что-то сверхновое. Я попытаюсь здесь описать основные моменты, на [...]]]></description>
			<content:encoded><![CDATA[<p>Если вы уже имеете достаточно большой опыт работы за своими плечами, то не думаю, что данная статья будет актуальной для Вас. Если же Вы новичок в Мире Web-программирования или только начали изучение – добро пожаловать. Эта статья имеет достаточно громкое название, но она не претендует на что-то сверхновое. Я попытаюсь здесь описать основные моменты, на которые стоит обращать внимание при работе с кодом (программированием).<span id="more-47"></span></p>
<p>В общем и целом, работу над сайтом можно разбить на несколько логических этапов.</p>
<p>Разработка HTML/шаблонов – верстка.</p>
<p>Разработка Базы Данных – если проект достаточно большой, без неё Вы вряд ли обойдётесь.</p>
<p>Непосредственно программирование – создание функциональности, работа с Базой и пр.</p>
<p>Рассмотрим каждый из этих пунктов немного подробнее.</p>
<p>Этап создания HTML-шаблонов является одним из самых важных во всей цепочки разработки. Этот этап можно сравнить с созданием фундамента строящегося дома. Если фундамент будет плох, то какие бы ни были строительные материалы, окна, лифты, крепления у всего дома – в лучшем случае, он будет криво стоять, в худшем – упадёт.</p>
<p>Какие основные моменты правильной разработки HTML можно выделить? Первое – безусловно, грамотный и валидный HTML/CSS код, без использования устаревших элементов, атрибутов и пр.</p>
<p>Второе – используйте HTML только для того, чтобы разметить документ – обозначить абзацы, таблицы, блоки – для всего остального используется каскадные таблицы стилей (CSS). Для чего это нужно? Множество причин: во-первых, Ваш код становится более читабельным, когда он не нагружен избыточными элементами font, center, style и пр. Во-вторых, Вы значительно уменьшаете размер итогового html файла. Представьте, на Вашей странице 10 кнопок навигации, для их размещения и оформления Вы 10 раз пишите почти один и тот же код, вместо того, чтобы написать это один раз в CSS файле и привязать к элементу. Это будет экономить не только размер Вашей странички, но и Ваше время. Если Вы захотите изменить цвет кнопки, Вам нужно будет внести изменение в один файл, в одну строку.</p>
<p>Наконец, третье, пожалуй, самое важное – отделяйте HTML код от PHP кода. Это плохой стиль – писать html и php в одном файле. Для удобного и красивого разделения существует технология Smarty, о которой я в прошлых статьях уже упоминал не раз. Плюсы от этого разделения так же достаточно весомые. Во-первых, повышается восприятие кода. Во-вторых, улучшается и упрощается расширяемость/изменяемость всего проекта – гораздо проще что-то заменить/добавить в чистый шаблонный файл без php кода. В-третьих, если Вы захотите отдать код для доработки/изменения html-верстальщику, который не знает php, а в коде будет все в php-вставках, вряд ли он возьмётся за эту работу. Поэтому всегда помните о разделении кода!</p>
<p>Разработка Базы Данных является достаточно значимым этапом так же. Конечно, если Вы рассчитываете на 100-200 посетителей в день, то можно особо не думать о создании правильной базы данных, но если Вы ожидаете несколько тысяч посетителей – то Вам безусловно необходимо ознакомиться с методами оптимизации Баз Данных, оптимизации запросов к Базе, избавления от избыточности в Базе. Это основные моменты на которые стоит обратить внимание, при разработке БД для крупного сайта.</p>
<p>Наконец, стоит отметить основные аспекты хорошо написанного PHP-кода.</p>
<ol>
<li>Объективно-ориентированный код – используйте активно ООП в своих проектах. Создавайте класса, методы, свойства. Используйте и разберитесь со всеми парадигмами ООП: инкапсуляция, полиморфизм, наследование. Создайте классы по работе с Базами Данных, по работе с информацией, по работе со страницами Вашего сайта. Никогда не повторяйте код, выполняющий одни и те же действия, отличающиеся лишь входными данными.</li>
<li>Комментарии – не забывайте писать комментарии к Вашему коду. Конечно, когда Вы изо дня в день погружены в работу над сайтом, все знаете и помните в коде, они, возможно, будут казаться избыточными. Но подумайте, если Вас попросят поработать над проектом через 2-3 месяца после его окончания? Думаю, процентов 60-70 кода будут Вам уже не так ясны, как сейчас, а о функциональности некоторых частей Вы можете и не вспомнить. Другая ситуация – Вы стали работать в команде и другим людям надо как можно быстрее разобраться в том, что вы сделали -  в Вашем коде. Очень и очень непросто разобраться в тысячах строках чужого кода, оставленных без единого комментария. Поэтому, пишите комментарии – это позволит Вам выглядеть, если не как профессиональным программистом, то человеком, серьёзно относящимся к делу и уважающим своё время и чужое.</li>
</ol>
<p>Надеюсь, эти основные моменты помогут Вам в настоящем, и помогут Вам избежать ошибок и неприятных ситуаций в будущем!</p>
<p>Успехов!</p>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/kak-pravilno-programmirovat/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS. Позиционирование элементов.</title>
		<link>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/css-pozicionirovanie-elementov</link>
		<comments>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/css-pozicionirovanie-elementov#comments</comments>
		<pubDate>Sat, 05 Jul 2008 17:48:13 +0000</pubDate>
		<dc:creator>UNREALre</dc:creator>
				<category><![CDATA[XHTML, CSS, SSI]]></category>

		<guid isPermaLink="false">http://webteach.ru/2008/07/05/css-pozicionirovanie-elementov/</guid>
		<description><![CDATA[Наверняка, каждый, кто хотя бы раз работал над созданием сайта, сталкивался с проблемой позиционирования элементов на странице. Существует множество способов для реализации необходимых вариантов. В этой статье мы научимся позиционировать элементы с помощью CSS.
Для начала рассмотрим различные возможности позиционирования элементов и разберём их отличия. Нам доступны четыре типа позиционирования, каждый из которых задается свойством position.
position [...]]]></description>
			<content:encoded><![CDATA[<p>Наверняка, каждый, кто хотя бы раз работал над созданием сайта, сталкивался с проблемой позиционирования элементов на странице. Существует множество способов для реализации необходимых вариантов. В этой статье мы научимся позиционировать элементы с помощью CSS.<span id="more-41"></span></p>
<p>Для начала рассмотрим различные возможности позиционирования элементов и разберём их отличия. Нам доступны четыре типа позиционирования, каждый из которых задается свойством position.</p>
<blockquote><p><strong>position </strong>(static | relative | absolute | fixed | inherit)</p></blockquote>
<p>По умолчанию мы имеем значение static. Данное css свойство применимо ко всем элементам на странице. С помощью свойства position осуществляется выбор одного из четырёх методов позиционирования. Рассмотрим каждый подробнее.</p>
<ol>
<li><em>static</em><em> </em><em>– </em>позиционирование по умолчанию – прямоугольники элементов отображаются в порядке их описания в документе.</li>
<li><em>relative</em><em> </em><em>– </em>в данному случае осуществляется перемещение прямоугольника элемента, но изначальное пространство для него в документе остаётся за ним.</li>
<li><em>absolute</em><em> </em><em>– </em>задает абсолютное позиционирование. В данном случае, элемент не влияет на размещение других, окружающих его элементов. Элементы с таким позиционированием фактически являются блоками (по поведению).</li>
<li><em>fixed</em><em> </em><em>– </em>аналогичен absolute, однако положение элемента определяется относительно окна браузера.</li>
</ol>
<p>После того, как нами был осуществлен выбор одного из четырёх вариантов позиционирования элемента, мы можем приступить к заданию положения.</p>
<blockquote><p><strong>top,right,bottom,left </strong>(длина | процент | auto | inherit)</p></blockquote>
<p>По умолчанию auto. Применимо только к позиционируемым элементам типа relative,absolute,fixed. Значение, которое будет задано для каждого из этих свойств означает расстояние, на которое будет осуществлен сдвиг от выбранного края. Например, значение свойства left определяет расстояние между левым краем блока и левым внешним краем самого элемента.</p>
<p>Одной из проблем позиционирования является проблема обработки «непредвиденных» случаев. Допустим, вы задали позиционирования для элемента и вставили туда текст. Затем текст был изменён в базе данных, автоматически он изменился на странице – добавилось несколько абзацев и… И он перестал помещаться в выбранную Вами область. Для обработки таких проблем нам пригодится свойство overflow.</p>
<blockquote><p><strong>overflow </strong>(visible | hidden | scroll | auto | inherit)</p></blockquote>
<p>По умолчанию значение visible. Применимо к любым элементам уровня блока и замещаемым элементам. Рассмотрим смысл этих значений подробно.</p>
<ol>
<li><em>visible</em> – данный режим позволяет вывод контента вне пределы выделенной для него области.</li>
<li><em>hidden</em><em> </em>– если контент не умещается в выделенную ему область, «лишний» текст будет отсекаться. Видно на странице его не будет.</li>
<li><em>scroll</em><em> </em><em>– </em>данное значение добавляет к элементу размещения полосы прокрутки, таким образом, пользователь имеет возможность просмотреть тот текст, который не уместился в данной области, используя скролл. Необходимо заметить, что при выборе этого значения, полосы прокрутки будут видны даже тогда, когда весь текст умещается в свои пределы.</li>
<li><em>auto</em><em> </em><em>– </em>кладет обработку данной ситуации на плечи броузеру, предоставляя ему право включать и выключать полосы прокрутки, в зависимости от наполнения блока контентом.</li>
</ol>
<p>Теперь вернёмся к непосредственному позиционированию. Одним из распространенных приемов позиционирование – является наложение «слоев». По умолчанию наложение элементов происходит в порядке их появления в документе, при этом более «поздние» отображаются поверх тех, которые следовали до них. Для изменения этого необходимо использовать свойство z-index. Это свойство принимает любое целочисленное значение, как положительное, так и отрицательное. Соответственно, чем больше это значение, тем «выше» данный слой будет наложен. Можете поэкспериментировать с этим свойством, наложив друг на друга несколько блоков различного цвета (для наглядности).</p>
<p>Наконец, один из наиболее важных моментов позиционирования: абсолютное позиционирование.</p>
<p>Абсолютно позиционируемые элементы можно описать следующим образом:</p>
<ul>
<li>Для объявления элементов служит констуркция {position : absolute;}.</li>
</ul>
<ul>
<li>Элементы располагаются относительно краев блока с учетом одного или нескольких свойств, определяющих сдвиг (top,right,bottom,left).</li>
</ul>
<ul>
<li>Элементы в такой позиции полностью исключаются из потока содержимого документа.</li>
</ul>
<p>Для наглядности, приведём простой пример абсолютного позиционирования элемента.</p>
<blockquote><p>div {position: absolute; background-color: #ccc; width: 500px;}</p>
<p>ul {position: absolute; left: 60px; top: 30px; backround-color: #EEE; margin: 0px;}</p>
<p>&lt;div&gt;</p>
<p>&lt;p&gt;Test. Test. Test.&lt;/p&gt;</p>
<p>&lt;ul&gt;</p>
<p>&lt;li&gt;1&lt;/li&gt;</p>
<p>&lt;li&gt;2&lt;/li&gt;</p>
<p>&lt;li&gt;3&lt;/li&gt;</p>
<p>&lt;li&gt;4&lt;/li&gt;</p>
<p>&lt;li&gt;5&lt;/li&gt;</p>
<p>&lt;/ul&gt;</p>
<p>&lt;p&gt;Ещё текст некоторый.&lt;/p&gt;</p>
<p>&lt;/div&gt;</p></blockquote>
<p>Это основные свойства позиционирования в CSS о которых я хотел рассказать в этой статье. Успехов!</p>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/css-pozicionirovanie-elementov/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Html. Таблицы и границы.</title>
		<link>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/html-tablicy-i-granicy</link>
		<comments>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/html-tablicy-i-granicy#comments</comments>
		<pubDate>Wed, 21 May 2008 10:07:08 +0000</pubDate>
		<dc:creator>Another</dc:creator>
				<category><![CDATA[XHTML, CSS, SSI]]></category>

		<guid isPermaLink="false">http://webteach.ru/2008/05/21/html-tablicy-i-granicy/</guid>
		<description><![CDATA[На этом уроке мы поговорим о таблицах и их границах. Научимся строить таблицы различных типов и размеров, окрашивать их, задавать размеры таблиц и др.

Любая HTML таблица начитается с тега table. Для него можно задавать несколько параметров, таких как ширина, border, расположение и др. Рассмотрим простейший пример:
&#60;table border=1 cellspacing=2 cellpadding=5 width=&#8221;50%&#8221; align=&#8221;Center&#8221;&#62;
&#60;tr&#62;
&#60;td&#62;Тут текст&#60;/td&#62;
&#60;/tr&#62;
&#60;/table&#62;
border это размер границы [...]]]></description>
			<content:encoded><![CDATA[<p>На этом уроке мы поговорим о таблицах и их границах. Научимся строить таблицы различных типов и размеров, окрашивать их, задавать размеры таблиц и др.<br />
<span id="more-30"></span><br />
Любая HTML таблица начитается с тега<strong> table</strong>. Для него можно задавать несколько параметров, таких как ширина, <strong>border</strong>, расположение и др. Рассмотрим простейший пример:</p>
<blockquote><p>&lt;table border=1 cellspacing=2 cellpadding=5 width=&#8221;50%&#8221; align=&#8221;Center&#8221;&gt;<br />
&lt;tr&gt;<br />
&lt;td&gt;Тут текст&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/table&gt;</p></blockquote>
<p><strong>border</strong> это размер границы таблицы(окантовка),<strong> cellspacing</strong> – растояние от одного до другого края окантовки, <strong>cellpadding</strong> – расстояние внутри таблицы, от ближнего края до содержимого,<strong> align</strong> – расположение таблицы в окне браузера (<strong>center, left, right, top</strong>…). <strong>width</strong> – ширина таблицы, если ширина указана в процентах, то это означает процентное соотношение размера окна браузера к размеру таблицы. Очень удобно использовать <strong>%</strong> в<strong> width</strong> если дизайн верстается под разные разрешения экрана. <strong>height</strong> – высота ячейки.<br />
<strong>&lt;tr&gt;&lt;/tr&gt;</strong> &#8211; строки таблицы<br />
<strong>&lt;td&gt;&lt;/td&gt;</strong> &#8211; столбцы таблицы</p>
<p>Цвет ячеек и таблицы в целом определяет –<strong> bgcolor</strong>.</p>
<p>Пример окрашенной таблицы:</p>
<blockquote><p>&lt;table bgcolor=&#8221;#fffccc&#8221;&gt;<br />
&lt;tr&gt;<br />
&lt;td&gt;Тут текст&lt;/td&gt;<br />
&lt;td&gt;Тут текст&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&lt;td&gt;Тут текст&lt;/td&gt;<br />
&lt;td&gt;Тут текст&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/table&gt;</p></blockquote>
<p>Пример окрашенной ячейки:</p>
<blockquote><p>&lt;table&gt;<br />
&lt;tr&gt;<br />
&lt;td bgcolor=&#8221;#fffccc&#8221;&gt;Тут окрашенный цвет ячейки&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&lt;td&gt;Тут обычный цвет ячейки&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/table&gt;</p></blockquote>
<p>Можно задавать размер для каждой ячейки. Как и для таблицы, это осуществляется атрибутом<strong> width</strong>. Содержимое каждой ячейки можно выравнивать. Это осуществляется атрибутом <strong>align</strong>. Также можно выровнить содержимое по центру, поместив его в теги между тегами<strong> &lt;center&gt;</strong> и<strong> &lt;/center&gt;.</strong><br />
Вертикальное выравнивание осуществляется атрибутом<strong> valign</strong>, который может принимать значения: <strong>middle, top, bottom</strong>. Расстояние между ячейками определяется атрибутом <strong>cellspacing</strong>, по умолчанию <strong>cellspacing=&#8221;2&#8243;</strong>.<br />
Пример:</p>
<blockquote><p>&lt;table border=&#8221;0&#8243; cellspacing=&#8221;0&#8243;&gt;<br />
&lt;tr&gt;<br />
&lt;td bgcolor=&#8221;#3366FF&#8221; height=&#8221;35&#8243; width=&#8221;50&#8243; valign=&#8221;top&#8221;&gt; &lt;center&gt;1&#215;1&lt;/center&gt; &lt;/td&gt;<br />
&lt;td bgcolor=&#8221;#61646B&#8221; width=&#8221;50&#8243; align=&#8221;center&#8221;&gt;1&#215;2&lt;/td&gt;<br />
&lt;td bgcolor=&#8221;#3366FF&#8221; width=&#8221;50&#8243; valign=&#8221;bottom&#8221;&gt; &lt;center&gt;1&#215;3&lt;/center&gt; &lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&lt;td bgcolor=&#8221;#61646B&#8221; height=&#8221;35&#8243; width=&#8221;50&#8243; valign=&#8221;bottom&#8221;&gt; &lt;center&gt;2&#215;1&lt;/center&gt; &lt;/td&gt;<br />
&lt;td bgcolor=&#8221;#3366FF&#8221; width=&#8221;50&#8243;&gt; &lt;center&gt;2&#215;2&lt;/center&gt; &lt;/td&gt;<br />
&lt;td bgcolor=&#8221;#61646B&#8221; width=&#8221;50&#8243; valign=&#8221;top&#8221;&gt; &lt;center&gt;2&#215;3&lt;/center&gt; &lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/table&gt;</p></blockquote>
<p>Бывают ситуации когда нужно сделать одну ячейку в размер двух. Для этого нужно использовать атрибуты <strong>colspan</strong> и<strong> rowspan</strong>. Colspan объединяется в строках, rowspan в столбцах. Пример:</p>
<blockquote><p>&lt;table cellspacing=&#8221;0&#8243;&gt;<br />
&lt;tr&gt;<br />
&lt;td bgcolor=&#8221;#61646B&#8221; height=&#8221;35&#8243; colspan=&#8221;2&#8243;&gt; &lt;center&gt;1&#215;1&lt;/center&gt; &lt;/td&gt;<br />
&lt;td bgcolor=&#8221;#3366FF&#8221; width=&#8221;50&#8243; rowspan=&#8221;2&#8243;&gt; &lt;center&gt;1&#215;2&lt;/center&gt; &lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&lt;td bgcolor=&#8221;#3366FF&#8221; height=&#8221;35&#8243; width=&#8221;50&#8243; &gt; &lt;center&gt;2&#215;1&lt;/center&gt; &lt;/td&gt;<br />
&lt;td bgcolor=&#8221;#61646B&#8221; width=&#8221;50&#8243;&gt; &lt;center&gt;2&#215;2&lt;/center&gt; &lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/table&gt;</p></blockquote>
<p>Цвет окантовки таблицы указывается в атрибуте<strong> bordercolor</strong>. Обратите внимание на то, что этот атрибут обрабатывается не всеми браузерами, например браузер opera игнорирует это атрибут. Пример:</p>
<blockquote><p>&lt;table border=&#8221;2&#8243; bordercolor=&#8221;red&#8221;&gt;<br />
&lt;tr&gt;<br />
&lt;td bgcolor=&#8221;#61646B&#8221; height=&#8221;35&#8243; colspan=&#8221;2&#8243;&gt; Текст &lt;/td&gt;<br />
&lt;td bgcolor=&#8221;#3366FF&#8221; width=&#8221;50&#8243; rowspan=&#8221;2&#8243;&gt; Текст &lt;/td&gt;<br />
&lt;/tr&gt;&lt;/table&gt;</p></blockquote>
<p>Вот в общем-то и всё, что я хотел рассказать в ходе этого урока.</p>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/html-tablicy-i-granicy/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Различия между HTML и XHTML</title>
		<link>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/razlichiya-mezhdu-html-i-xhtml</link>
		<comments>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/razlichiya-mezhdu-html-i-xhtml#comments</comments>
		<pubDate>Tue, 20 May 2008 10:32:01 +0000</pubDate>
		<dc:creator>Another</dc:creator>
				<category><![CDATA[XHTML, CSS, SSI]]></category>

		<guid isPermaLink="false">http://webteach.ru/2008/05/20/razlichiya-mezhdu-html-i-xhtml/</guid>
		<description><![CDATA[Многие люди, изучающие языки разметки, считают что XHTML и HTML – одно и тоже. В этом уроке я попытаюсь открыть им глаза и приведу множества доказательств того, что это разные языки разметки. Начнем…
Что такое HTML?
HTML(Hypertext Markup Language) — это стандартный язык разметки документов. Язык HTML интерпретируется браузером и отображается на экран в виде документа, удобном [...]]]></description>
			<content:encoded><![CDATA[<p>Многие люди, изучающие языки разметки, считают что XHTML и HTML – одно и тоже. В этом уроке я попытаюсь открыть им глаза и приведу множества доказательств того, что это разные языки разметки. Начнем…<br />
Что такое HTML?<br />
HTML(Hypertext Markup Language) — это стандартный язык разметки документов. Язык HTML интерпретируется браузером и отображается на экран в виде документа, удобном для человека.<br />
XHTML(Extensible Hypertext Markup Language) — язык разметки веб-страниц, похож на HTML, использует примерно одинаковые теги, однако является подмножеством XML. <span id="more-23"></span></p>
<p><strong>Различия между XHTML и HTML</strong>:</p>
<p><strong>1)</strong> Кодировкой по умолчанию в XHTML является UTF-8, в то время как HTML кодировкой по умолчанию является ISO 8859-1).</p>
<p><strong>2)</strong> В XHTML более строгие правила написания кода. По рекомендации W3C – “браузеры, встретив ошибку в XHTML, должны сообщить о ней и не обрабатывать документ”. Для HTML же, браузеры продолжают выполнять код с ошибкой и разбирают – “что хотел автор кода”.</p>
<p><strong>3) </strong>Все элементы кода должны быть закрыты. Все теги типа (&lt;*&gt;) не имеющие закрывающего тега типа (&lt;/*&gt;) должны иметь на конце “/” например:</p>
<blockquote><p>&lt;br /&gt;&lt;img src=&#8221;images.jpg&#8221; mce_src=&#8221;images.jpg&#8221; /&gt;</p></blockquote>
<p><strong>4) </strong>В XHTML нужно соблюдать строгий регистр, в связи с этим все имена атрибутов и тегов должны быть написаны строчными буквами. Например такой код будет неправильным:</p>
<blockquote><p>&lt;IMG SRC=“images.gif” ALT= “” /&gt;</p></blockquote>
<p><em>Правильно будет так:</em></p>
<blockquote><p>&lt;img src=“images.gif” alt= “” /&gt;</p></blockquote>
<p><strong>Правила хорошего кода XHTML:</strong></p>
<p>В верху страницы нужно размещать следующий код:</p>
<blockquote><p>&lt;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.1//EN&#8221; &#8220;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&#8221;&gt;</p></blockquote>
<p>Где XHTML 1.1 – версия XHTML.</p>
<p>Не стоит допускать таких ошибок как: незакрытые элементы, писать теги заглавными буквами, игнорировать теги alt(т.к. многие устройства не могут отображать картинки), не заключать атрибуты в кавычки, вложение блочных элементов внутрь внутристрочных (например, блочные элементы &lt;div&gt; или &lt;p&gt; не могут быть вложены внутрь внутристрочных элементов &lt;a&gt;, &lt;span&gt;, &lt;em&gt; и так далее).</p>
<p>Преимущества XHTML над HTML заключается в том, что синтаксис XML строже, чем SGML, обработка XHTML возможна даже на мобильных телефонах с малыми ресурсами.</p>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/xhtml-css-ssi/razlichiya-mezhdu-html-i-xhtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
