Скачать презентацию Программирование для Интернет Лаштанов И Г Знакомство Скачать презентацию Программирование для Интернет Лаштанов И Г Знакомство

995c598d8c3a6ee90625caaf782f36c6.ppt

  • Количество слайдов: 82

Программирование для Интернет Лаштанов И. Г. Программирование для Интернет Лаштанов И. Г.

Знакомство с HTML (1/14) Среди ключевых технологий, на которых держится современная сеть Internet, одной Знакомство с HTML (1/14) Среди ключевых технологий, на которых держится современная сеть Internet, одной из важнейших и, как это ни странно, вызывающих наиболее ожесточенные споры является язык HTML, предназначенный для разметки и оформления документов World Wide Web. Необычайно интересно проследить историю развития этого языка историю, в которой столкнулись противоположные подходы к проблеме компьютерного представления текста и которая послужила ареной сотрудничества и противоборства крупнейших компьютерных компаний, определяющих пути развития и будущее Internet.

Знакомство с HTML (2/14) Начало истории HTML следует отнести к далекому 1986 году, когда Знакомство с HTML (2/14) Начало истории HTML следует отнести к далекому 1986 году, когда Международная организация по стандартизации (ISO) приняла стандарт ISO 8879, озаглавленный "Standard Generalized Markup Language (SGML)". Стандарт этот посвящен описанию SGML - обобщенного метаязыка, позволяющего строить системы логической, структурной разметки любых разновидностей текстов. Слово "структурная" означает, что управляющие коды, вносимые в текст при такой разметке, не несут никакой информации о внешнем виде документа, а лишь указывают границы и соподчинение его составных частей - т. е. задают его логическую структуру. l Создатели SGML стремились максимально абстрагироваться от проблем представления электронного текста в разных программах, на разных компьютерных платформах и устройствах вывода. Так, если с помощью SGML размечается документ, содержащий заголовки, идеология языка запрещает указывать, что такой-то заголовок должен набираться, скажем, шрифтом Times полужирного начертания кегля 12 пунктов. SGML в таком случае требует ограничиться указанием на уровень заголовка и его место в иерархической структуре документа. l

Знакомство с HTML (3/14) l Благодаря таким ограничениям размеченный текст сможет без труда интерпретировать Знакомство с HTML (3/14) l Благодаря таким ограничениям размеченный текст сможет без труда интерпретировать любая программа, работающая с любым мыслимым устройством вывода. К примеру, при работе в графическом интерфейсе заголовок может действительно выводиться полужирным шрифтом повышенного кегля; программа, использующая текстовый интерфейс, выделит его пустой строкой сверху и снизу и, возможно, повышенной яркостью символов; синтезатор речи, читающий документ вслух, сможет отметить заголовок паузой и изменением интонации. Можно сказать, что SGML-разметка обнажает нематериальную "душу" текста, для которой впоследствии любая программа-интерпретатор сможет подобрать подходящее к случаю "тело". l Однако абстрактность SGML этим не исчерпывается. SGML представляет собой не готовую систему разметки текста, а лишь удобный метаязык, позволяющий строить такие системы для конкретных обстоятельств. Жизнь многообразна и непредсказуема: сегодня вам требуется выделять в текстах заголовки, а завтра, возможно, понадобится размечать подписи в письмах, математические формулы или имена действующих лиц в пьесе. Стандарт SGML определяет лишь синтаксис записи элементов разметки - тегов - и их атрибутов, а также правила определения новых тегов и указания структурных отношений между ними. Для практической же разметки документов нужно приложение SGML - набор определенных в соответствии со стандартом тегов, представляющий собой, по сути, формальное описание структуры документа.

Знакомство с HTML (4/14) l Язык SGML - это типичное детище академической науки, изящная Знакомство с HTML (4/14) l Язык SGML - это типичное детище академической науки, изящная игрушка теоретиков. Его создание не было вызвано насущной практической необходимостью. Принципы, на которых строится этот язык, значительны и интересны; несомненно, идеология SGML оказала влияние на многие компьютерные разработки. Однако сам по себе SGML не получил сколько-нибудь заметного распространения - до тех пор, пока в 1991 г. сотрудники Европейского института физики частиц (CERN, http: //www. cern. ch), занятые созданием системы передачи гипертекстовой информации через Internet, не выбрали SGML в качестве основы для нового языка разметки гипертекстовых документов. Этот язык - самое известное из приложений SGML - был назван HTML (Hyper. Text Markup Language, "язык разметки гипертекста"). l Изначально HTML, как и положено SGML-приложению, разделял все особенности идеологии SGML. Из сорока с небольшим тегов HTML версии 1. 2 (датированной июнем 1993 г. ) всего три, да к тому же и не рекомендованных к использованию, тега осмеливались намекать на физические параметры представления документа. Вся разметка была чисто логической, и лишь в описательной части стандарта, сопровождающей формальное определение тегов, можно было прочесть что-нибудь вроде "в графических браузерах действие этого тега может передаваться курсивным начертанием".

Знакомство с HTML (5/14) А первым (и долгое время единственным) графическим браузером в те Знакомство с HTML (5/14) А первым (и долгое время единственным) графическим браузером в те далекие времена была программа Mosaic, разработанная, как и собственно WWW, в научном учреждении - Национальном центре суперкомпьютерных приложений США (National Center for Supercomputer Applications, NCSA; http: //www. ncsa. uiuc. edu). Так что нет ничего удивительного в том, что в этот "золотой век" никаких противоречий между официальными стандартами и их реализацией в браузерах еще не существовало. HTML неторопливо развивался, оставаясь в рамках парадигмы структурной разметки, и в апреле 1994 г. началась подготовка спецификации следующей версии языка - 2. 0. Этим занимался образованный в том же году Консорциум W 3 (W 3 Consortium, сокращенно W 3 C; http: //www. w 3. org/pub/WWW), унаследовавший от CERN верховную власть и авторитет в мире WWW. l В настоящий момент консорциум, имеющий статус "международной некоммерческой организации", объединяет свыше 150 организаций-членов, в том числе фирмы Netscape, Microsoft и множество других. Однако в 1994 -1995 гг. его членами были почти исключительно университеты и научные учреждения. Столь "академический" состав W 3 C сказывался как на самих документах, публикуемых консорциумом, так и на процедуре (и особенно на сроках) их принятия. Достаточно сказать, что окончательный вариант HTML 2. 0 (http: //ds. internic. net/rfc 1866. txt), единственным серьезным усовершенствованием в котором был механизм бланков (форм) для отсылки информации с компьютера пользователя на сервер, был официально утвержден лишь в сентябре 1995 г. , когда в W 3 C уже полным ходом шло обсуждение HTML 3 (или, как его называли поначалу, "HTML+"). l

Знакомство с HTML (6/14) Пожалуй, проект HTML 3 (http: //www. w 3. org/pub/WWW/Mark. Up/html Знакомство с HTML (6/14) Пожалуй, проект HTML 3 (http: //www. w 3. org/pub/WWW/Mark. Up/html 3/) - самая яркая и неоднозначная страница в истории языка. Работа над ним началась в марте 1995 г. , и первоначальный вариант стандарта включал в себя много интересных нововведений теги для создания таблиц, разметки математических формул, вставки обтекаемых текстом рисунков, примечаний и др. Но самое главное - HTML 3. 0 был попыткой разрешить уже достаточно очевидное к тому времени противоречие между идеологией структурной разметки и потребностями пользователей, заинтересованных в первую очередь в гибких и богатых возможностях визуального представления. l Чтобы разрешить это противоречие, не оскверняя заветов отцов-основателей HTML, авторы версии 3 ввели в ней поддержку нового средства - так называемых иерархических стилевых спецификаций (Cascading Style Sheets, CSS; http: //www. w 3. org/pub/WWW/TR/REC-CSS 1). Система CSS формально независима от HTML, имеет совершенно иной синтаксис (более того, HTML 3 можно стыковать с разными реализациями CSS, обладающими разным синтаксисом и возможностями), не наследует никаких идеологических ограничений и позволяет, уже в совершенно иных терминах, задавать параметры визуального представления для любого тега HTML. С помощью CSS автор может наконец с чистой совестью указать, каким шрифтом какого кегля набирать заголовки такого-то уровня. И, что самое важное, достигнуто это было не введением новых тегов, а разработкой механизма, позволяющего влиять на интерпретацию уже существующих тегов логической разметки, причем с учетом контекста их употребления. Браузеры с текстовым интерфейсом или с синтезатором речи смогут с легкостью проигнорировать эту дополнительную информацию и использовать для оформления свои обычные средства. l

Знакомство с HTML (7/14) Слово cascading в названии системы CSS служит напоминанием о том, Знакомство с HTML (7/14) Слово cascading в названии системы CSS служит напоминанием о том, что в действительности на вывод каждого тега в документе могут оказывать влияние сразу несколько стилевых спецификаций, образующих иерархическую систему: например, поверх спецификаций, относящихся к конкретному документу, может действовать стилевой файл, общий для всех документов на сервере. Кроме того, пользователь браузера, поддерживающего CSS, может указать свои собственные параметры вывода для тех или иных тегов. Конфликты, которые при этом возникают, разрешаются в пользу более частных, узких спецификаций: то, что указано для конкретного документа, берет верх над спецификациями для всего сервера, а параметры вывода тега в данном контексте имеют преимущество перед параметрами для того же тега "вообще", без учета контекста. В случае же конфликта спецификаций, заданных пользователем, с установками автора страницы побеждают последние, хотя пользователь может при желании изменить эту ситуацию на обратную. l Нет сомнения, что CSS - почти идеальное средство избавить HTML от наследственных дефектов и перевести его развитие на принципиально новые рельсы. Тем досаднее то, как сложилась судьба этого замечательного изобретения. Поскольку спецификацию CSS увязали с другими нововведениями HTML 3, W 3 C долго не утверждал ее в качестве официального стандарта; задерживалось доведение до более или менее завершенного вида, при котором стала бы возможной ее реализация в коммерческих продуктах. l

Знакомство с HTML (8/14) А между тем коммерческое освоение WWW не заставило себя долго Знакомство с HTML (8/14) А между тем коммерческое освоение WWW не заставило себя долго ждать. В начале 1994 г. группа разработчиков браузера Mosaic под предводительством Джеймса Кларка, который за несколько лет до того создал и "вывел в люди" компанию Silicon Graphics, основала корпорацию Netscape Communications и вскоре выпустила первую версию коммерческого браузера Netscape Navigator. Вскоре после этого начался экспоненциальный рост WWW, продолжающийся по сей день. Не менее впечатляющие темпы показала при этом и Netscape, которая в конце 1995 г. объявила, что достигнутые результаты делают ее самой быстрорастущей компанией в мировой истории (!). Чтобы закрепить лидерство (на которое, впрочем, тогда еще мало кто покушался) и привлечь новых пользователей, Netscape, увы, вводила в HTML все новые и новые усовершенствования, - и эти усовершенствования поддерживались только браузером Netscape Navigator. l Практически все новые теги, в изобилии предлагавшиеся Netscape, были направлены на улучшение внешнего вида документа и расширение возможностей его форматирования. Причины этого понятны: чтобы убедить, скажем, бизнесмена, что ему пора обратить внимание на новое средство коммуникации и рекламы, прежде всего нужно показать ему это средство в привлекательном, "товарном" виде. Поставив себе целью завоевание корпоративного рынка, разработчики Netscape не могли (да и не хотели, по-видимому) уделять должное внимание сложившимся традициям развития языка. В результате тот вариант HTML, который поддерживала выпущенная в январе 1996 г. версия Netscape Navigator 2. 0, представлял собой довольно странную смесь старых логических тегов с беззастенчиво вломившимися новыми, ориентированными на графическое экранное представление документа и затрудняющими его воспроизведение на других устройствах вывода. l

Знакомство с HTML (9/14) l. Такая политика компании, с одной стороны, принесла ей быстрый Знакомство с HTML (9/14) l. Такая политика компании, с одной стороны, принесла ей быстрый и впечатляющий успех (одно время версии Netscape Navigator составляли более 90% всех используемых браузеров), а с другой - вызвала ожесточенное сопротивление наиболее сознательной части HTML-сообщества. Энтузиасты неустанно разъясняли каждому, кто согласен был их слушать, что HTML по природе своей не имеет права зависеть от какого-то конкретного браузера и что заявления типа "эту страницу лучше всего смотреть в Netscape Navigator" являются насмешкой над здравым смыслом. Движение "борцов за чистоту HTML" существует и сейчас, однако ощутимого влияния не имеет. l. Многие Web-дизайнеры, даже признавая справедливость аргументации "HTMLпуристов", считают использование новых тегов практически оправданным. Неудобства при этом будут испытывать лишь несколько процентов пользователей других браузеров, для которых страницы с этими тегами будут выглядеть совсем не так, как задумал автор (хотя текст в большинстве случаев все равно останется читабельным). Вероятно, аргументы противников Netscape звучали бы более убедительно, если бы сам по себе "официальный" HTML не был столь неимоверно беден изобразительными возможностями. Меня, к примеру, пробирает дрожь при мысли, что для миллионов страниц в современной "паутине", путешествие по которой способно порой принести подлинное эстетическое наслаждение, были бы доступны лишь возможности HTML 2. 0.

Знакомство с HTML (10/14) l Помимо использования Знакомство с HTML (10/14) l Помимо использования "плохих" Netscape-ориентированных тегов, широко распространена также практика "злоупотребления" средствами HTML ради сопутствующих им визуальных эффектов. Скажем, вместо того чтобы использовать тег

только для оформления настоящих ("логических") таблиц, Webдизайнеры сплошь и рядом применяют таблицы без рамок для управления размещением обычного текста и иллюстраций, регулируют с их помощью ширину полей и т. п. Нет нужды объяснять, что оформление в виде таблицы того, что по сути своей таблицей совсем не является, есть прямое нарушение идеологии структурной разметки. "Борцы за чистоту HTML" сломали немало копий, доказывая недопустимость этого и многих других дизайнерских приемов. Но времена постепенно меняются, и теперь любой желающий может увидеть пример такого "злоупотребления" прямо на заглавной странице сервера W 3 C (http: //www. w 3. org/pub/WWW).

Знакомство с HTML (12/14) l В конце 1995 г. ситуация в мире HTML была Знакомство с HTML (12/14) l В конце 1995 г. ситуация в мире HTML была довольно смутной. Популярность браузера Netscape неуклонно росла; программисты этой фирмы готовили к выпуску версию 2. 0, которая должна была утвердить господство Netscape на вечные времена благодаря неслыханному набору новшеств, таких как интерфейс подключаемых модулей, поддержка языка Java, встроенный язык сценариев Java. Script, возможность разбивки окна на кадры (frames) и многое другое. К этому времени W 3 C окончательно завяз в своем проекте HTML 3, который был слишком сильно оторван от реального мира и на завершение которого у консорциума попросту не хватало ни сил, ни средств. HTML 3 по сравнению с HTML 2. 0 был важным шагом вперед, однако он развивался по-прежнему в рамках идеологии структурной разметки, а инструмент, дающий возможность выйти за эти рамки, - система CSS - был еще далек от завершения. l В этот переломный момент в игру вступил новый участник - всемогущая корпорация Microsoft. Долгое время эта компания, привыкшая монопольно владеть своим сектором рынка, недооценивала перспективы Internet и не собиралась как-либо участвовать в развитии этой информационной среды, считая ее, по-видимому, слишком демократичной и непредсказуемой. Однако невероятный взлет Netscape (число копий браузера Navigator измерялось к этому времени уже десятками миллионов) заставил Microsoft изменить мнение.

Знакомство с HTML (13/14) l l И именно на браузерном фронте, где господство Netscape Знакомство с HTML (13/14) l l И именно на браузерном фронте, где господство Netscape оставляло меньше всего шансов конкурентам, корпорация Microsoft нанесла свой главный удар. Поначалу мало кто верил, что браузер Microsoft Internet Explorer, который тогда существовал в версии 2. 0 и не представлял собой ничего выдающегося, сможет составить конкуренцию Netscape. Тем не менее выпущенная летом 1996 г. версия Internet Explorer 3. 0, которая поддерживала почти все расширения Netscape и обладала оригинальным и привлекательным интерфейсом, вызвала настоящий бум и очень быстро утвердилась в качестве "второго главного браузера". Сейчас Microsoft и Netscape делят рынок браузеров почти поровну, и окончательный исход их битвы не берется предсказать никто. Одновременно с разработкой конкурентоспособного браузера Microsoft решила "навести порядок" и в мире HTML. Взяв под свою опеку W 3 C, она напитала его денежными и людскими ресурсами и тем самым заработала право едва ли не решающего голоса в этой организации. Проект HTML 3 был заморожен, а вместо него в сжатые сроки создан стандарт HTML 3. 2, который, по сути, всего лишь описывает большинство расширений Netscape (с тем же успехом их можно назвать теперь "расширениями Microsoft"). Пройдя обычный в W 3 C процесс обсуждения и внесения поправок, спецификация HTML 3. 2 (http: //www. w 3. org/pub/WWW/TR/REChtml 32. html) была утверждена совсем недавно (в январе этого года) и является, таким образом, последним на настоящий момент официальным стандартом языка. Спираль развития HTML завершила свой первый виток - как и в "золотой век", расхождения между предписаниями стандарта и реализацией HTML в браузерах вновь сведены к минимуму.

Знакомство с HTML (14/14) l Однако HTML сегодня уже совсем не тот, что три Знакомство с HTML (14/14) l Однако HTML сегодня уже совсем не тот, что три года назад. Становится все более очевидным, что язык этот в его теперешнем состоянии практически исчерпал перспективы развития и что добавление новых тегов вряд ли выведет его на принципиально иной уровень. Это особенно понятно тем, кто занимается практическим дизайном: из-за того, что HTML с самого начала не ориентировался на описание внешнего вида документа, он не в состоянии удовлетворительно выполнить эту задачу даже сейчас, при наличии множества визуальноориентированных тегов. Прямым следствием этого является огромное количество расхождений в интерпретации тегов браузерами. Как бы строго вы ни следовали стандарту, HTML-файл приходится обязательно тестировать по меньшей мере в двух браузерах - Netscape Navigator и Internet Explorer, и чаще всего такое тестирование не обходится без неприятных сюрпризов: отступы, пробелы, размеры элементов оформления и логика их размещения на странице даже для простейших тегов различаются довольно сильно. l Пожалуй, главный вклад Microsoft в развитие HTML (помимо новых тегов, число которых сравнительно невелико) состоит в том, что Microsoft Internet Explorer 3. 0 стал - наконец-то - первым массовым браузером, поддерживающим стилевые спецификации (CSS). И хотя эта реализация CSS является несовершенной и далеко не полной, хочется надеяться, что она поможет сдвинуть с мертвой точки процесс массового освоения CSS. В частности, поддержка этого стандарта появится в Netscape Navigator 4. 0.

Как устроен HTML-документ (1/16) l HTML-документ — это просто текстовый файл с расширением *. Как устроен HTML-документ (1/16) l HTML-документ — это просто текстовый файл с расширением *. html (Unix-системы могут содержать файлы с расширением *. htmll). Вот самый простой HTML-документ: Пример 1 Привет!

Это простейший пример HTML-документа.

Этот *. html-файл может быть одновременно открыт и в Notepad, и в Netscape. Сохранив изменения в Notepad, просто нажмите кнопку Reload ('перезагрузить') в Netscape, чтобы увидеть эти изменения реализованными в HTML-документе.

Как устроен HTML-документ (2/16) Обязательные метки l <html>. . . </html> Метка <html> должна Как устроен HTML-документ (2/16) Обязательные метки l . . . Метка должна открывать HTML-документ. Аналогично, метка должна завершать HTMLдокумент. l . . . Эта пара меток указывает на начало и конец заголовка документа. Помимо наименования документа (см. описание метки ниже), в этот раздел может включаться множество служебной информации. </p> </div> <div style="width: auto;" class="description columns twelve"><p><img class="imgdescription" title="Как устроен HTML-документ (3/16) l <title>. . . Все, что находится между метками" src="https://present5.com/presentation/995c598d8c3a6ee90625caaf782f36c6/image-17.jpg" alt="Как устроен HTML-документ (3/16) l . . . Все, что находится между метками" /> Как устроен HTML-документ (3/16) l . . . Все, что находится между метками и , толкуется браузером как название документа. Netscape Navigator, например, показывает название текущего документа в заголовке окна и печатает его в левом верхнем углу каждой страницы при выводе на принтер. Рекомендуется название не длиннее 64 символов. l . . . Эта пара меток указывает на начало и конец тела HTMLдокумента, каковое тело, собственно, и определяет содержание документа.

Как устроен HTML-документ (4/16) l <H 1>. . . </H 1> — <H 6>. Как устроен HTML-документ (4/16) l . . . . . . Метки вида (где i — цифра от 1 до 6) описывают заголовки шести различных уровней. Заголовок первого уровня — самый крупный, шестого уровня, естественно — самый мелкий. l

. . .

Такая пара меток описывает абзац. Все, что заключено между

и

, воспринимается как один абзац.

Как устроен HTML-документ (5/16) Метки <Hi> и <P> могут содержать дополнительный атрибут ALIGN (читается Как устроен HTML-документ (5/16) Метки и

могут содержать дополнительный атрибут ALIGN (читается "элайн", от английского "выравнивать"), например: Выравнивание заголовка по центру или

Образец абзаца с выравниванием по правому краю

Как устроен HTML-документ (6/16) l Непарные метки В этом разделе мы поговорим о метках, Как устроен HTML-документ (6/16) l Непарные метки В этом разделе мы поговорим о метках, которые не подчиняются двум основным правилам HTML: все они непарные, а некоторые (так называемые &-последовательности) к тому же должны вводиться только маленькими буквами. l
Эта метка используется, если необходимо перейти на новую строку, не прерывая абзаца.

Как устроен HTML-документ (7/16) l l Метка <HR> описывает горизонтальную линию Метка может дополнительно Как устроен HTML-документ (7/16) l l Метка


описывает горизонтальную линию Метка может дополнительно включать атрибуты SIZE (определяет толщину линии в пикселах) и/или WIDTH (определяет размах линии в процентах от ширины экрана).

" воспринимаются браузерами как" src="https://present5.com/presentation/995c598d8c3a6ee90625caaf782f36c6/image-22.jpg" alt="Как устроен HTML-документ (8/16) l &-последовательности Поскольку символы "<" и ">" воспринимаются браузерами как" /> Как устроен HTML-документ (8/16) l &-последовательности Поскольку символы "<" и ">" воспринимаются браузерами как начало и конец HTMLметок, возникает вопрос: а как показать эти символы на экране? В HTML это делается с помощью &-последовательностей (их еще называют символьными объектами или эскейп-последовательностями). Браузер показывает на экране символ "<", когда встречает в тексте последовательность < (по первым буквам английских слов less than — меньше, чем). Знак ">" кодируется последовательностью > (по первым буквам английских слов greater than — больше, чем). Символ "&" (амперсанд) кодируется последовательностью & Двойные кавычки (") кодируются последовательностью " Помните: точка с запятой — обязательный элемент &-последовательности. Кроме того, все буквы, составляющие последовательность, должны быть в нижнем регистре (т. е. , маленькие). Использование меток типа " или & не допускается. Вообще говоря, &-последовательности определены для всех символов из второй половины ASCII-таблицы (куда, естественно, входят и русские буквы). Дело в том, что некоторые серверы не поддерживают восьмибитную передачу данных, и поэтому могут передавать символы с ASCII-кодами выше 127 только в виде &последовательностей.

Как устроен HTML-документ (9/16) l Комментарии Браузеры игнорируют любой текст, помещенный между <!-- и Как устроен HTML-документ (9/16) l Комментарии Браузеры игнорируют любой текст, помещенный между . Это удобно для размещения комментариев. l Форматирование шрифта HTML допускает два подхода к шрифтовому выделению фрагментов текста. С одной стороны, можно прямо указать, что шрифт на некотором участке текста должен быть жирным или наклонным, то есть изменить физический стиль текста. С другой стороны, можно пометить некоторый фрагмент текста как имеющий некоторый отличный от нормального логический стиль, оставив интерпретацию этого стиля браузеру.

Как устроен HTML-документ (10/16) l Физические стили Под физическом стилем принято понимать прямое указание Как устроен HTML-документ (10/16) l Физические стили Под физическом стилем принято понимать прямое указание браузеру на модификацию текущего шрифта. Например, все, что находится между метками и , будет написано жирным шрифтом. Текст между метками и будет написан наклонным шрифтом. Несколько особняком стоит пара меток и . Текст, размещенный между этими метками, будет написан шрифтом, имитирующим пишущую машинку, то есть имеющим фиксированную ширину символа. l Логические стили При использовании логических стилей автор документа не может знать заранее, что увидит на экране читатель. Разные браузеры толкуют одни и те же метки логических стилей по-разному. Некоторые браузеры игнорируют некоторые метки вообще и показывают нормальный текст вместо выделенного логическим стилем. Вот самые распространенные логические стили.

Как устроен HTML-документ (11/16) l <EM>. . . </EM> От английского emphasis — акцент. Как устроен HTML-документ (11/16) l . . . От английского emphasis — акцент. l . . . От английского strong emphasis — сильный акцент. l . . . Рекомендуется использовать для фрагментов исходных текстов. l . . . От английского sample — образец. Рекомендуется использовать для демонстрации образцов сообщений, выводимых на экран программами. l . . . От английского keyboard — клавиатура. Рекомендуется использовать для указания того, что нужно ввести с клавиатуры. l . . . От английского variable — переменная. Рекомендуется использовать для написания имен переменных.

Как устроен HTML-документ (12/16) l Организация текста внутри документа HTML позволяет определять внешний вид Как устроен HTML-документ (12/16) l Организация текста внутри документа HTML позволяет определять внешний вид целых абзацев текста. Абзацы можно организовывать в списки, выводить их на экран в отформатированном виде, или увеличивать левое поле. Разберем все по порядку. l Ненумерованные списки:

    . . .
Текст, расположенный между метками
    и
, воспринимается как ненумерованный список. Каждый новый элемент списка следует начинать с метки
  • . Например, чтобы создать вот такой список: – – – Петр; Данила; белая кобыла необходим вот такой HTML-текст:

  • Как устроен HTML-документ (13/16) <UL> <LI>Петр; <LI>Данила; <LI>белая кобыла </UL> Обратите внимание: у метки Как устроен HTML-документ (13/16)

    • Петр;
    • Данила;
    • белая кобыла
    Обратите внимание: у метки
  • нет парной закрывающей метки.

  • Как устроен HTML-документ (14/16) l Нумерованные списки: <OL>. . . </OL> Нумерованные списки устроены Как устроен HTML-документ (14/16) l Нумерованные списки:

      . . .
    Нумерованные списки устроены точно так же, как ненумерованные, только вместо символов, выделяющих новый элемент, используются цифры. Если слегка модифицировать наш предыдущий пример:
    1. Петр;
    2. Данила;
    3. белая кобыла

    Как устроен HTML-документ (15/16) l получится вот такой список: 1. 2. 3. Петр; Данила; Как устроен HTML-документ (15/16) l получится вот такой список: 1. 2. 3. Петр; Данила; белая кобыла

    Как устроен HTML-документ (16/16) l Форматированный текст: <PRE>. . . </PRE> В самом начале Как устроен HTML-документ (16/16) l Форматированный текст:

    . . . 
    В самом начале мы говорили о том, что браузеры игнорируют множественные пробелы и символы конца строки. Из этого правила, однако, есть исключение. Текст, заключенный между метками
     и 
    (от английского preformatted — предварительно форматированный), выводится браузером на экран как есть — со всеми пробелами, символами табуляции и конца строки. Это очень удобно при создании простых таблиц. l Текст с отступом:
    . . .
    Текст, заключенный между метками
    и
    , выводится браузером на экран с увеличенным левым полем.

    За пределами HTML-файла (1/11) l Связывание Как уже упоминалось в самом начале, сокращение HTML За пределами HTML-файла (1/11) l Связывание Как уже упоминалось в самом начале, сокращение HTML означает "язык маркировки гипертекстов". Про маркировку мы уже поговорили достаточно. Не пора ли перейти к гипертексту? Прежде всего, что же такое гипертекст? В отличие от обыкновенного текста, который можно читать только от начала к концу, гипертекст позволяет осуществлять мгновенный переход от одного фрагмента текста к другому. Системы помощи многих популярных программных продуктов устроены именно по гипертекстовому принципу. При нажатии левой кнопкой мыши на некоторый выделенный фрагмент текущего документа происходит переход к некоторому заранее назначенному документу или фрагменту документа. В HTML переход от одного фрагмента текста к другому задается с помощью метки вида: выделенный фрагмент текста

    За пределами HTML-файла (2/11) В качестве параметра [адрес перехода] может использоваться несколько типов аргументов. За пределами HTML-файла (2/11) В качестве параметра [адрес перехода] может использоваться несколько типов аргументов. Самое простое — это задать имя другого HTML-документа, к которому нужно перейти. Например: Перейти к оглавлению Такой фрагмент HTML-текста приведет к появлению в документе выделенного фрагмента Перейти к оглавлению , при нажатии на который в текущее окно будет загружен документ index. shtml.

    За пределами HTML-файла (3/11) Обратите внимание: если в адресе перехода не указан каталог, переход За пределами HTML-файла (3/11) Обратите внимание: если в адресе перехода не указан каталог, переход будет выполнен внутри текущего каталога. Если в адресе перехода не указан сервер, переход будет выполнен на текущем сервере. Из этого следует одно очень важное практическое соображение. Если Вы подготовили к публикации некоторую группу HTML-документов, которые ссылаются друг на друга только по имени файла и находятся в одном каталоге на Вашем компьютере, вся эта группа документов будет работать точно так же, если ее поместить в любой другой каталог на любом другом компьютере, на локальной сети или. . . на Интернет! Таким образом, у Вас появляется возможность разрабатывать целые коллекции документов без подключения к Интернет, и только после окончательной готовности, подтвержденной испытаниями, помещать коллекции документов на Интернет целиком.

    За пределами HTML-файла (4/11) При необходимости можно задать переход не просто к некоторому документу, За пределами HTML-файла (4/11) При необходимости можно задать переход не просто к некоторому документу, но и к определенному месту внутри этого документа. Для этого необходимо создать в документе, к которому будет задан переход, некоторую опорную точку, или анкер. Разберем это на примере. Допустим, что необходимо осуществить переход из файла 1. html к словам "Переход закончен" в файле 2. html (файлы находятся в одном каталоге). Прежде всего, необходимо создать вот такой анкер в файле 2. html: Переход закончен Слова "Переход закончен" при этом никак не будут выделены в тексте документа. Затем в файле 1. html (или в любом другом) можно определить переход на этот анкер: Переход к анкеру AAA Кстати говоря, переход к этому анкеру можно определить и внутри самого документа 2. html — достаточно только включить в него вот такой фрагмент: Переход к анкеру AAA На практике это очень удобно при создании больших документов. В начале документа можно поместить оглавление, состоящее из ссылок на анкеры, расположенные в заголовках разделов документа.

    За пределами HTML-файла (5/11) Во избежание недоразумений рекомендуется задавать имена анкеров латинскими буквами. Следите За пределами HTML-файла (5/11) Во избежание недоразумений рекомендуется задавать имена анкеров латинскими буквами. Следите за написанием имен анкеров: большинство браузеров отличают большие буквы от маленьких. Если имя анкера определено как AAA, ссылка на анкер aaa или Aa. A не выведет Вас на анкер AAA, хотя документ, скорее всего, будет загружен корректно. Пока что мы обсуждали только ссылки на HTML-документы. Однако возможны ссылки и на другие виды ресурсов: Выгрузить файл Такая ссылка, если ей воспользоваться, запустит протокол передачи файлов и начнет выгрузку файла file. ext, находящегося в каталоге directory на сервере server, на локальный диск пользователя. Послать письмо Если пользователь совершит переход по такой ссылке, у него на экране откроется окно ввода исходящего сообщения его почтовой программы. В строке To: ("Куда") окна почтовой программы будет указано user@mail. box.

    За пределами HTML-файла (6/11) l Изображения в HTML-документе Встроить изображение в HTML-документ очень просто. За пределами HTML-файла (6/11) l Изображения в HTML-документе Встроить изображение в HTML-документ очень просто. Для этого нужно только иметь это самое изображение в формате GIF (файл с расширением *. gif) или JPEG (файл с расширением *. jpg или *. jpeg) и одну строчку в HTML-тексте. Допустим, нам нужно включить в документ изображение, записанное в файл picture. gif, находящийся в одном каталоге с HTML-документом. Тогда строчка будет вот такая: Метка может также включать атрибут ALT="[текст]", например: Картинка Встретив такую метку, браузер покажет на экране текст Картинка и начнет загружать на его место картинку из файла picture. gif. Атрибут ALT может оказаться необходимым для старых браузеров, которые не поддерживают изображений, а также на случай, если у браузера отключена автоматическая загрузка изображений (при медленном подключении к Интернет это делается для экономии времени). Файл, содержащий изображение, может находиться в другом каталоге или даже на другом сервере. В этом случае стоит указать его полное имя

    За пределами HTML-файла (7/11) l l l l Цветовая гамма HTML-документа определяется атрибутами, размещенными За пределами HTML-файла (7/11) l l l l Цветовая гамма HTML-документа определяется атрибутами, размещенными внутри метки . Вот список этих атрибутов: bgcolor Определяет цвет фона документа. text Определяет цвет текста документа. link Определяет цвет выделенного элемента текста, при нажатии на который происходит переход по гипертекстовой ссылке. vlink Определяет цвет ссылки на документ, который уже был просмотрен ранее. alink Определяет цвет ссылки в момент, когда на нее указывает курсор мыши и нажата ее правая кнопка, то есть непосредственно перед переходом по ссылке. Цвет кодируется последовательностью из трех пар символов. Каждая пара представляет собой шестнадцатиричное значение насыщенности заданного цвета одним из трех основных цветов (красным, зеленым и синим) в диапазоне от нуля (00) до 255 (FF).

    За пределами HTML-файла (8/11) l l l bgcolor=#FFFFFF Цвет фона. Насыщенность красным, зеленым и За пределами HTML-файла (8/11) l l l bgcolor=#FFFFFF Цвет фона. Насыщенность красным, зеленым и синим одинакова — FF (это шестнадцатиричное представление числа 255). Результат — белый цвет. text=#000000 Цвет текста. Насыщенность красным, зеленым и синим одинакова — 00 (ноль). Результат — черный цвет. link=#FF 0000 Цвет гипертекстовой ссылки. Насыщенность красным — FF (255), зеленым и синим — 00 (ноль). Результат — красный цвет. Кроме того, метка может включать атрибут background="[имя файла]", который задает изображение, служащее фоном для текста и других изображений. Как и любое другое изображение, фон должен быть представлен в формате GIF (файл с расширением *. gif) или JPEG (файл с расширением *. jpg или *. jpeg). Браузеры заполняют множественными копиями изображения-фона все пространство окна, в котором открыт документ, подобно тому, как при строительстве большие пространства стен покрывают маленькими (и одинаковыми) плитками. Важно отметить, что цвет фона и изображение-фон никак не отображаются на бумаге при выводе HTML-документа на печать. Из этого есть одно важное практическое следствие: старайтесь не использовать текст белого цвета.

    За пределами HTML-файла (9/11) l Заголовок HTML-документа, вообще говоря, не виден пользователю при просмотре. За пределами HTML-файла (9/11) l Заголовок HTML-документа, вообще говоря, не виден пользователю при просмотре. Однако в нем есть некоторые интересные особенности, которые стоит знать. Заголовок HTML-документа может включать неограниченное количество так называемых META-инструкций. META-инструкция — это просто способ определить некоторую переменную путем указания ее имени (атрибут NAME) и значения (атрибут CONTENT). Вот некоторые наиболее типичные META-инструкции: Такая META-инструкция определяет переменную description, содержащую краткое описание документа. Многие поисковые механизмы постоянно сканируют Интернет в поисках HTML-файлов, отыскивают в них эту переменную, сохраняют ее в своих базах данных и демонстрируют ее в ответ на запросы пользователей.

    Такая" src="https://present5.com/presentation/995c598d8c3a6ee90625caaf782f36c6/image-40.jpg" alt="За пределами HTML-файла (10/11) l Такая" /> За пределами HTML-файла (10/11) l Такая META-инструкция определяет переменную keywords, содержащую набор ключевых слов, описывающих содержание документа. На практике поиск по ключевым словам очень удобно использовать при строительстве поискового механизма, работающего в пределах одного сервера. Другая группа META-инструкций определяет эквиваленты команд протокола передачи гипертекстов. Разберем несколько примеров: l Эта META-инструкция дает браузеру указание интерпретировать загружаемый документ как содержащий HTML-текст в кодировке Windows/1251.

    Эта META-инструкция абсолютно" src="https://present5.com/presentation/995c598d8c3a6ee90625caaf782f36c6/image-41.jpg" alt="За пределами HTML-файла (11/11) l Эта META-инструкция абсолютно" /> За пределами HTML-файла (11/11) l Эта META-инструкция абсолютно аналогична предыдущей, только в качестве кодировки указана КОИ-8. l Такая META-инструкция дает браузеру примерно такое указание: "Если через [время] секунд после завершения загрузки этого документа пользователь не перейдет к другому документу, начать загрузку ресурса [документ]". Более конкретно это может выглядеть, к примеру, вот так: l Если пользователь не предпримет никаких видимых действий в течение 10 секунд после загрузки документа, содержащего такую инструкцию, автоматически будет загружен документ http: //www. vvsu. ru.

    Таблицы (1/5) l Для чего нужны таблицы? На этот вопрос есть очевидный ответ: таблицы Таблицы (1/5) l Для чего нужны таблицы? На этот вопрос есть очевидный ответ: таблицы нужны для представления информации в табличном виде. Есть, однако, и менее очевидные ответы. До настоящего времени мы имели дело с документами, в которых существовал только один "поток" текста. На практике иногда очень хочется расположить текст в несколько колонок. Таблица может в этом помочь. Кроме того, таблица, состоящая из одной ячейки, может очень эффектно выделить фрагмент текста, на который Вы хотите обратить внимание читателя.

    Таблицы (2/5) В устройстве таблицы легче всего разобраться на простом примере. <HTML> <HEAD> <TITLE>Пример Таблицы (2/5) В устройстве таблицы легче всего разобраться на простом примере. Пример 10 Простейшая таблица

    У таблицы может быть заголовок
    Первая строка, первая колонка Первая строка, вторая колонка
    Вторая строка, первая колонка Вторая строка, вторая колонка

    Таблицы (3/5) Таблица начинается с метки <TABLE> и заканчивается меткой </TABLE>. Метка <TABLE> может Таблицы (3/5) Таблица начинается с метки

    и заканчивается меткой
    . Метка может включать несколько атрибутов: l ALIGN Устанавливает расположение таблицы по отношению к полям документа. Допустимые значения: ALIGN=LEFT (выравнивание влево), ALIGN=CENTER (выравнивание по центру), ALIGN=RIGHT (выравнивание вправо). l WIDTH Ширина таблицы. Ее можно задать в пикселах (например, WIDTH=400) или в процентах от ширины страницы (например, WIDTH=80%). l BORDER Устанавливает ширину внешней рамки таблицы и ячеек в пикселах (например, BORDER=4). Если атрибут не установлен, таблица показывается без рамки. l CELLSPACING Устанавливает расстояние между рамками ячеек таблицы в пикселах (например, CELLSPACING=2). l CELLPADDING Устанавливает расстояние между рамкой ячейки и текстом в пикселах (например, CELLPADDING=10). l Таблица может иметь заголовок (), хотя заголовок не является обязательным. Метка и заканчивается меткой . Метка может включать следующие атрибуты: l ALIGN Устанавливает выравнивание текста в ячейках строки. Допустимые значения: ALIGN=LEFT (выравнивание влево), ALIGN=CENTER (выравнивание по центру), ALIGN=RIGHT (выравнивание вправо). l VALIGN Устанавливает вертикальное выравнивание текста в ячейках строки. Допустимые значения: VALIGN=TOP (выравнивание по верхнему краю), VALIGN=MIDDLE (выравнивание по центру), VALIGN=BOTTOM (выравнивание по нижнему краю).

    Таблицы (5/5) Каждая ячейка таблицы начинается с метки <TD> и заканчивается меткой </TD>. Метка Таблицы (5/5) Каждая ячейка таблицы начинается с метки

    . Метка
    . . . может включать атрибут ALIGN. Допустимые значения: (заголовок помещается над таблицей) и (заголовок помещается под таблицей).

    Таблицы (4/5) Каждая строка таблицы начинается с метки <TR> и заканчивается меткой </TR>. Метка Таблицы (4/5) Каждая строка таблицы начинается с метки

    и заканчивается меткой может включать следующие атрибуты: l NOWRAP Присутствие этого атрибута означает, что содержимое ячейки должно быть показано в одну строку. l COLSPAN Устанавливает "размах" ячейки по горизонтали. Например, COLSPAN=3 означает, что ячейка простирается на три колонки. l ROWSPAN Устанавливает "размах" ячейки по вертикали. Например, ROWSPAN=2 означает, что ячейка занимает две строки. l ALIGN Устанавливает выравнивание текста в ячейке. Допустимые значения: ALIGN=LEFT (выравнивание влево), ALIGN=CENTER (выравнивание по центру), ALIGN=RIGHT (выравнивание вправо). l VALIGN Устанавливает вертикальное выравнивание текста в ячейке. Допустимые значения: VALIGN=TOP (выравнивание по верхнему краю), VALIGN=MIDDLE (выравнивание по центру), VALIGN=BOTTOM (выравнивание по нижнему краю). l WIDTH Устанавливает ширину ячейки в пикселах (например, WIDTH=200). l HEIGHT Устанавливает высоту ячейки в пикселах (например, HEIGHT=40).

    Формы (1/14) l Форма — это инструмент, с помощью которого HTMLдокумент может послать некоторую Формы (1/14) l Форма — это инструмент, с помощью которого HTMLдокумент может послать некоторую информацию в некоторую заранее определенную точку внешнего мира, где информация будет некоторым образом обработана. Формы передают информацию программам-обработчикам в виде пар [имя переменной]=[значение переменной]. Имена переменных следует задавать латинскими буквами. Значения переменных воспринимаются обработчиками как строки, даже если они содержат только цифры.

    Формы (2/14) l Как устроена форма Форма открывается меткой <FORM> и заканчивается меткой </FORM>. Формы (2/14) l Как устроена форма Форма открывается меткой

    и заканчивается меткой
    . HTML-документ может содержать в себе несколько форм, однако формы не должны находиться одна внутри другой. HTML -текст, включая метки, может размещаться внутри форм без ограничений. Метка
    может содержать три атрибута, один из которых является обязательным. Вот эти атрибуты: l ACTION Обязательный атрибут. Определяет, где находится обработчик формы. l METHOD Определяет, каким образом (иначе говоря, с помощью какого метода протокола передачи гипертекстов) данные из формы будут переданы обработчику. Допустимые значения: METHOD=POST и METHOD=GET. Если значение атрибута не установлено, по умолчанию предполагается METHOD=GET. l ENCTYPE Определяет, каким образом данные из формы будут закодированы для передачи обработчику. Если значение атрибута не установлено, по умолчанию предполагается ENCTYPE=application/xwww-form-urlencoded.

    Формы (3/14) l Простейшая форма Для того, чтобы запустить процесс передачи данных из формы Формы (3/14) l Простейшая форма Для того, чтобы запустить процесс передачи данных из формы обработчику, нужен какой-то орган управления. Создать такой орган управления очень просто: Встретив такую строчку внутри формы, браузер нарисует на экране кнопку с надписью Submit (читается "сабмит" с ударением на втором слоге, от английского "подавать"), при нажатии на которую все имеющиеся в форме данные будут переданы обработчику, определенному в метке . Надпись на кнопке можно задать такую, какая нравится, путем введения атрибута VALUE="[Надпись]" (читается "вэлью" с ударением на первом слоге, от английского "значение"), например:

    Формы (4/14) l Теперь мы знаем достаточно для того, чтобы написать простейшую форму. Она Формы (4/14) l Теперь мы знаем достаточно для того, чтобы написать простейшую форму. Она не будет собирать никаких данных, а просто вернет нас к тексту этой главы. Пример 11 Простейшая форма

    Формы (5/14) Надпись, нанесенную на кнопку, можно при необходимости передать обработчику путем введения в Формы (5/14) Надпись, нанесенную на кнопку, можно при необходимости передать обработчику путем введения в определение кнопки атрибута NAME=[имя] (читается "нэйм", от английского "имя"), например: l При нажатии на такую кнопку обработчик вместе со всеми остальными данными получит и переменную button со значением Поехали!. В форме может быть несколько кнопок типа submit с различными именами и/или значениями. Обработчик, таким образом, может действовать по-разному в зависимости от того, какую именно кнопку submit нажал пользователь.

    Формы (6/14) l Как форма собирает данные Существуют и другие типы элементов <INPUT>. Каждый Формы (6/14) l Как форма собирает данные Существуют и другие типы элементов . Каждый элемент должен включать атрибут NAME=[имя], определяющий имя элемента (и, соответственно, имя переменной, которая будет передана обработчику). Имя должно задаваться только латинскими буквами. Большинство элементов должны включать атрибут VALUE="[значение]", определяющий значение, которое будет передано обработчику под этим именем. Для элементов и , однако, этот атрибут не обязателен, поскольку значение соответствующей переменной может вводиться пользователем с клавиатуры.

    Формы (7/14) l Основные типы элементов <INPUT>: l TYPE=text Определяет окно для ввода строки Формы (7/14) l Основные типы элементов : l TYPE=text Определяет окно для ввода строки текста. Может содержать дополнительные атрибуты SIZE=[число] (ширина окна ввода в символах) и MAXLENGTH=[число] (максимально допустимая длина вводимой строки в символах). Пример: l Определяет окно шириной 20 символов для ввода текста. По умолчанию в окне находится текст Иван, который пользователь может редактировать. Отредактированный (или неотредактированный) текст передается обработчику в переменной user. l TYPE=password Определяет окно для ввода пароля. Абсолютно аналогичен типу text, только вместо символов вводимого текста показывает на экране звездочки (*). Пример: l Определяет окно шириной 20 символов для ввода пароля. Максимально допустимая длина пароля — 10 символов. Введенный пароль передается обработчику в переменной pw.

    Формы (8/14) l TYPE=radio Определяет радиокнопку. Может содержать дополнительный атрибут checked (показывает, что кнопка Формы (8/14) l TYPE=radio Определяет радиокнопку. Может содержать дополнительный атрибут checked (показывает, что кнопка помечена). В группе радиокнопок с одинаковыми именами может быть только одна помеченная радиокнопка. Пример: 9600 бит/с 14400 бит/с 28800 бит/с Определяет группу из трех радиокнопок, подписанных 9600 бит/с, 14400 бит/с и 28800 бит/с. Первоначально помечена первая из кнопок. Если пользователь не отметит другую кнопку, обработчику будет передана переменная modem со значением 9600. Если пользователь отметит другую кнопку, обработчику будет передана переменная modem со значением 14400 или 28800.

    Формы (9/14) l TYPE=checkbox Определяет квадрат, в котором можно сделать пометку. Может содержать дополнительный Формы (9/14) l TYPE=checkbox Определяет квадрат, в котором можно сделать пометку. Может содержать дополнительный атрибут checked (показывает, что квадрат помечен). В отличие от радиокнопок, в группе квадратов с одинаковыми именами может быть несколько помеченных квадратов. Пример: Персональные компьютеры Рабочие станции Серверы локальных сетей Серверы Интернет Определяет группу из четырех квадратов. Первоначально помечены второй и четвертый квадраты. Если пользователь не произведет изменений, обработчику будут переданы две переменные: comp=WS и comp=IS.

    Формы (10/14) l TYPE=hidden Определяет скрытый элемент данных, который не виден пользователю при заполнении Формы (10/14) l TYPE=hidden Определяет скрытый элемент данных, который не виден пользователю при заполнении формы и передается обработчику без изменений. Такой элемент иногда полезно иметь в форме, которая время от времени подвергается переработке, чтобы обработчик мог знать, с какой версией формы он имеет дело. Другие возможные варианты использования Вы вполне можете придумать сами. Пример: l Определяет скрытую переменную version, которая передается обработчику со значением 1. 1. l TYPE=reset Определяет кнопку, при нажатии на которую форма возвращается в исходное состояние. Поскольку при использовании этой кнопки данные обработчику не передаются, кнопка типа reset может и не иметь атрибута name. Пример: l Определяет кнопку Очистить поля формы, при нажатии на которую форма возвращается в исходное состояние

    Формы (11/14) Помимо элементов <INPUT>, формы могут содержать меню <SELECT> и поля для ввода Формы (11/14) Помимо элементов , формы могут содержать меню Все атрибуты обязательны. Атрибут NAME определяет имя, под которым содержимое окна будет передано обработчику (в примере — address). Атрибут ROWS устанавливает высоту окна в строках (в примере — 5). Атрибут COLS устанавливает ширину окна в символах (в примере — 50). Текст, размещенный между метками , представляет собой содержимое окна по умолчанию. Пользователь может его отредактировать или просто стереть. Важно знать, что русские буквы в окне