Ѕаза знаний студента. –еферат, курсова€, контрольна€, диплом на заказ

курсовые,контрольные,дипломы,рефераты

»спользование фонового изображени€ дл€ замены текста — »нформатика, программирование

ѕосмотреть видео по теме –еферата

Douglas Bowman

— помощью простого трюка CSS вы можете улучшить представление шрифтов на своих веб-страницах. ѕри этом и неграфические броузеры и поисковые роботы смогут с ними нормально работать.

¬ведение

¬ы мечтаете получить типографское качестве заголовков и декоративных шрифтов с помощью изображений вместо "голого" HTML? ѕри всех тех богатых возможност€х форматировани€ текста, имеющихс€ в CSS, иногда трудно удержатьс€ от желани€ открыть Adobe Photoshop и набрать там текст любимым шрифтом, задав при этом нужный размер, кернинг и трекинг. ¬ам ведь известно, что если вставить такое изображение в веб-страницу, то любой пользователь —ети, броузер которого способен показывать графику, увидит ваш шрифтовой шедевр так, как вы и задумывали. ¬ерно?

Ќо нас за это так часто били по рукам, приговарива€, что за использование имиджей вместо обычных шрифтов на веб-страницах мы попадЄм пр€мо в ад. “ак постепенно, мы снижали свои визуальные требовани€ и расстались с мыслью о том, что на веб-страницах когда-нибудь снова по€витс€ красивый шрифт. –асстались до тех пор, пока много лет спуст€ функци€ загрузки шрифтов, предусмотренна€ в CSS, не станет надежной и не получит должного распространени€.

Ќас учили, что изображени€ не всегда доступны дл€ всех броузеров в отличие от простого текста. Ёто особенно справедливо дл€ специфических броузеров и портативных устройств с небольшими экранами. “ак что отлива€ текст в виде изображений, мы должны испытывать угрызени€ совести. ¬едь текстовые броузеры (такие как Lynx) или же броузеры с отключенным показом изображений не покажут наши картинки. ƒаже если мы настолько ответственны в работе, что не забываем прописать дл€ каждого элемента графики атрибут alt, поисковые роботы часто индексируют метаданные (подобно содержимому атрибутов alt и title) не так, как "чистый" HTML. Ёто станет пон€тно, если мы рассмотрим логическую важность заголовка текста, помещЄнного между тегами <hn></hn>. „то уж говорить о проблемах с размерами файлов и временем загрузки страниц, перегруженных графикой.

ƒавайте-ка отложим на врем€ всю эту информацию в сторонку. “ак ли уж плохи изображени€ на самом деле? — помощью небольших трюков CSS, чуть более осторожном планировании и тестировании, можно получить красивые шрифты на веб-страницах, и при этом страница останетс€ доступной дл€ всех (см. заметку ниже), даже дл€ индексирующих роботов. ¬рем€ снова расправить крыль€!

ќсновна€ иде€

ќсновна€ иде€ очень проста: мы напишем небольшую строчку текста (например "Hello world!") и поместим еЄ внутрь двух наборов HTML-тегов. «атем с помощью CSS мы спр€чем этот текст, а вместо него покажем фоновое изображение, которое будет содержать те же самые слова. ¬от и всЄ. «аменить текст изображением не так сложно, как кажетс€.

ѕрежде чем братьс€ за CSS, давайте создадим простой код HTML-разметки. ѕредставьте, что у нас имеетс€ что-то вроде этого:

<div>

<span>Hello world!</span>

</div>

—амо собой, мы могли бы просто оформить сам текст с помощью стилей. Ќо нам-то нужно что-то более искусное, чем детска€ игра со значени€ми дл€ свойств font-family или text-transform. ћы ведь хотим пышности! –аз уж мы говорим "ѕривет!" миру, то нужно делать это щЄгольски, верно?

¬ыберем дл€ нашего приветстви€ миру самый подход€щий шрифт, скажем, Shelley Allegro. ћы считаем, что хорошо известный в среде дизайнеров Shelley Allegro настолько блистателен, что легко покорит сердца миллионов, когда мы с его помощью скажем "Hello!". ѕо нашим сведени€м этот шрифт доступен лишь на 1,65 % компьютеров во всЄм мире. ѕотому, потратим чуть-чуть времени и создадим изображение со все тем же текстом "Hello world!". Ћюбой пользователь любого броузера, в котором не отключен показ изображений, увидит наше приветствие, набранное шрифтом Shelley Allegro даже на тех компьютерах, где он не установлен.

«апомним, что высота изображени€ составл€ет 35 пикселов, так как эта информаци€ понадобитс€ нам в дальнейшем.

»так, у нас есть кусочек HTML кода, великолепное послание миру в виде текста и оно же в виде презренного изображени€. „то же мы с ними сделаем? ƒавайте закатаем рукава и используем небольшую таблицу стилей дл€ замены текста изображением.

«амена изображением. ћетод ‘арнера

Ётот метод назван в честь “одда ‘арнера (Todd Fahrner) - одного из людей, которых впервые посетила эта иде€. ¬ас может удивить наличие вокруг строки приветстви€ двух тегов - div и span. ‘актически, вместо них могли бы быть любые другие, необходимые конкретно дл€ ваших задач. Ќо мы будем использовать в нашем примере именно эти "оберточные" теги.

“аблица стилей, котора€ осуществл€ет подмену, состоит из двух простых стилевых правил. ¬о-первых, используютс€ с помощью набора свойств фона (background) мы помещаем наше изображение на задний план элемента div.

div {

background-image:url("hello_world.gif");

background-repeat:no-repeat;

height:35px;

}

ќбратите внимание на свойство height. ≈го значением €вл€етс€ действительна€ высота нашего изображени€, тем самым обрамл€ющий div об€зан показать изображение полностью, зан€в ровно столько по высоте, сколько нужно - ни больше ни меньше. —войство background-repeat в данном случае указывает на то, что фоновое изображение не должно автоматически повтор€тьс€ вдоль вертикали и горизонтали.

Ќам остаЄтс€ лишь скрыть текстовую строку, изначально помещЄнную в HTML код. ¬от дл€ чего по€вилс€ тег span - мы нуждаемс€ во втором элементе, чтобы непосредственно к нему можно было бы "прив€зать" невидимость. Ёто легко осуществить.

span {display:none;}

ќбъединим эти два небольших стилевых правила с исходным куском HTML кода, и мы получим простой результат. Ёто настолько просто, что даже непон€тно, почему дл€ объ€снени€ этого способа понадобилось столько слов?

 онечно же, мы не оставим нашу разметку столь немудрЄной. » стилевые правила нам придетс€ немного усложнить. ¬ противном случае любой из наших тегов <div> на странице содержал бы фоновое изображение со словами "Hello world!", а всЄ, что мы помещали бы на странице внутри любых тегов <span></span>, не показывалось бы на экране.

„то ж, давайте перейдЄм к рассмотрению нескольких реальных примеров.

ѕример первый. «аголовки страниц

ѕример подобной замены можно увидеть на большинстве основных страниц сайта stopdesign.com. ќбратите внимание на главные заголовки каждого раздела или страницы (например, "Recent Log Entries" на главной странице). ќни создавались без манипул€ции свойствами текста с помощью CSS. Ёто изображени€, любовно обработанные так, чтобы соответствовать шрифту логотипа. ќсобое внимание было обращено на совпадение фоновых цветов изображений с фоном тех частей страниц, где они должны находитьс€. Ёффект едва уловимый, но неотъемлемый дл€ подчеркивани€ индивидуальности сайта.

«агл€нув в исходный код страницы или отключив таблицы стилей, вы увидите, что изображение заголовка не €вл€етс€ частью разметки страницы. ‘актически, там, где большинство из вас видит заголовок-картинку, находитс€ обычный тег <h1>, внутри которого находитс€ простой текст, т.е. обычный текстовый html-заголовок, занимающий свое обычное положение в иерархии страницы.

√олосовые броузеры, устройства с небольшими экранами, и поисковые роботы должны (см. примечани€ в конце статьи) игнорировать любые таблицы стилей, используемые при выводе на экран. ¬место этого они получают обычный текст, помещенный в элемент <h1>.

ќдин из методов прив€зки изображений-заголовков дл€ разделов сайтов состоит в создании контекста, в котором эти изображени€-заголовоки используютс€. ¬ элементе <body> каждой страницы определенного раздела атрибутам id или class присваиваетс€ уникальное значение. «атем, использу€ селекторы наследовани€, к каждому тегу <h1> прив€зываетс€ соответствующее изображение в зависимости от того, в контексте какого элемента <body> данный тег <h1> по€вл€етс€ (пара body#sectionForum h1 или body.sectionForum h1). Ќо в каждом разделе сайта может быть несколько типов страниц, и нам может понадобитьс€ создать заголовки, соответствующие дочерним страницам разделов.

√ораздо разумнее присвоить каждому заголовку идентификатор id, содержащий сокращЄнное название этого заголовка. ƒл€ примера: заголовок Recent Log Entries на главной странице stopdesign.com имеет идентификатор "t-reclog". ѕрефикс "t-" добавлен дл€ того, чтобы создать уникальное значение, и чтобы случайно не создать идентификатор, который уже существует у какого-либо другого элемента. ¬ данном случае "t-" всегда означает, что это идентификатор заголовка страницы (от слова title). ѕравда, разметка становитс€ слегка избыточной, но это позвол€ет достичь наибольшей гибкости в прив€зке любых титульных изображений к заголовкам любых страниц.

 аждый замен€емый заголовок должен быть описан несколькими стилевыми правилами, которые характерны дл€ всех других подобных заголовков. ¬ дополнение к атрибуту "id", в заголовке, который необходимо подменить, мы используем еще и атрибут "class", которому присваиваем значение "swap". Ётот класс создан дл€ описани€ общих свойств подмен€емых заголовков, что позвол€ет задать эти общие свойства всего один раз, не прописыва€ их вс€кий раз в стилевых свойствах каждого идентификатора id каждого конкретного заголовка.  роме того, такой подход помогает не перечисл€ть в таблице стилей все уникальные идентификаторы только дл€ того, чтобы присвоить им одно и то же правило, общее дл€ всех. Ѕлагодар€ этому подстановка будет применена только к тем тегам <h1>, которые имеют класс "swap". ƒл€ не подлежащих замене тегов <h1> в этом случае не придЄтс€ писать никакие отмен€ющие замену правила. ƒобавление класса - маленька€ жертва чистотой разметки в пользу упрощени€ таблицы стилей.

ƒл€ замены заголовков изображением stopdesign.com использует следующие правила:

h1.swap {

height:22px;

background-repeat:no-repeat;

}

h1.swap span {display:none;}

ј уникальные идентификаторы выгл€д€т так:

h1#t-recentlog {background-image:url("/img/title_reclog.gif");}

h1#t-articles {background-image:url("/img/title_articles.gif");}

h1#t-portfolio {background-image:url("/img/title_port.gif");}

ƒл€ простоты редактировани€ и поддержки сайта, все правила дл€ заголовков страниц вынесены в отдельный файл titles.css, который импортирован в основной файл screen.css. screen.css в свою очередь подключен к html-странице с помощью элемента <link>.

ѕример второй. ѕодатливые буквицы

’отелось ли вам когда-нибудь украсить первый абзац своей страницы буквицей? ƒо сих пор с содроганием вспоминаете увеличенную средствами HTML до п€тисот процентов первую букву? „то скажете, если мы используем вместо этого изображение?  онечно же, не хотелось бы лишитьс€ первой буквы в том случае, если картинка не загружена. Ќемного изменив описанную выше методику, мы сможем использовать дл€ буквицы практически любой шрифт, какой захотим. Ќапример, давайте снова обратимс€ к старому доброму Shelley Allegro и создадим на его основе букву "E", котора€ послужит буквицей дл€ этого же абзаца.

Ќас не устроит буквица, сто€ща€ особн€ком на строке (именно так получилось бы, если бы мы заключили еЄ в тег div). ƒоговоримс€, что мы не хотим, чтобы перва€ буква как-нибудь выдел€лась на общем фоне в том случае, когда стилевые правила недоступны дл€ броузера. ¬ таком случае мы используем пару универсальных тегов span:

<p><span class="dropcap"><span>E</span></span>ver wanted a ...

ѕомните, что мы примен€ем фоновое изображение к внешнему тегу <span>, а внутренний используем дл€ сокрыти€ текста. ¬ этом примере мы зададим дл€ внешнего тега "плавучесть" (float) дл€ того, чтобы текст абзаца охватывал его справа и снизу. ƒл€ лучшей совместимости с различными броузерами зададим дл€ этого же элемента свойство display: block; (впрочем, это должно произойти автоматически при использовании float). ” нас получитс€ вот такой набор стилевых правил:

span.dropcap {

display:block;

float:left;

width:46px;

height:63px;

margin-right:5px;

background-image:url("dropcap_e.gif");

background-repeat:no-repeat;

}

span.dropcap span {display:none;}

Ўирина и высота дл€ первого правила вз€ты такими же, как соответствующие размеры изображени€.  роме того, мы применили небольшой правый отступ (margin-right) дл€ нашей буквицы. ќбъединив HTML и CSS и применив кое-какие мелкие стилевые правила к самому абзацу, мы получили вот такой образчик буквицы.

≈щЄ примеры

“ворческое использование метода ограничено лишь возможност€ми нашего воображени€. Ётим способом, среди прочего, можно:

—оздавать логотипы и названи€, основанные на использовании шрифта

"ќтливать" заголовки

ќтображать котировки акций

«амен€ть отдельные слова с целью улучшени€ косметического эффекта (например, замена "and" и "vs.")

Ётот метод может быть хорош при смене внешнего вида сайта с помощью альтернативных таблиц стилей.  ажда€ таблица может подключать свои изображени€.

«амен€йте осторожно

¬ышеизложенный метод следует использовать с особой ответственностью. ¬ изображении всегда должен быть тот же самый текст, что и в спр€танном html-коде. ¬ противном случае будет несправедливо показывать пользовател€м при включенных стил€х одно, а при выключенных - другое. »зображение-заменитель может отличатьс€ размером и способом написани€ шрифта, его цветом и рассто€нием между символами. Ќо эти стилистические решени€ определ€ютс€ лишь графическим дизайном страницы, и их не следует примен€ть к замен€емому html-тексту. Ќапример, если повторить склеивание слов (т.е. удаление между ними пробела, как сделано в графических заголовках сайта stopdesign.com) в html-тексте, голосовые броузеры и броузеры дл€ слепых преврат€т текст в кашу. —ледовательно, html-текст должен быть оформлен с соблюдением орфографии и синтаксиса, как если бы он предназначалс€ дл€ страницы без стилей.

Ќеобходимо упом€нуть несколько очень серьезных недостатков этого метода:

¬о-первых, несмотр€ на то, что этот метод отлично подходит дл€ поисковых роботов (в отличие от вставки простых изображений вместо текста), у пользовател€ возникнут проблемы при поиске заменЄнного текста (функци€ поиска в броузерах) или же при копировании его в буфер обмена.

¬о-вторых, иногда бывает (хоть и редко), что пользователь отключает показ изображений в броузере, но не выключает поддержку CSS. ¬ таком случае заменЄнный текст по-прежнему будет скрыт, а фоновое изображение на экране не по€витс€.  ак результат, страница будет выгл€деть как с пустыми блоками без текста.  ак уже было сказано, такие случаи редки: если что-то из двух (CSS и графика) отключено, часто отключено и второе.

¬-третьих, пользователь не сможет манипулировать графическим текстом: не выйдет помен€ть у заголовка размер, цвет или сделать его более контрастным (т.е. всЄ то, что так легко можно сделать с обычным текстом).

Ёти недостатки должны приниматьс€ в расчЄт, и решение об использовании данного метода должно приниматьс€ в каждом конкретном случае. ≈сли вы все-таки решаете использовать этот метод, постарайтесь также учесть все нюансы при разработке самих изображений-замен. Ѕудет просто безответственно использовать в них мелкий или низко-контрастный текст. ѕри выборе цветов и/или фона изображени€ постарайтесь учесть особенности воспри€ти€ этих цветов у дальтоников.

» помните, что чрезмерное (или неправильное) использование хороших приЄмов может со временем выйти боком. ћы всегда примен€ем этот метод редко и очень осторожно.

—овместимость с броузерами:

Mac: Camino .7+, IE 5+, Mozilla, Netscape 6+, OmniWeb 4+, Opera 5+, Safari

Win: Firebird .6+, IE 5+, Mozilla, Netscape 6+, Opera 5+, Phoenix .5+

¬ажные примечани€

ћетод не смог пройти проверку несколькими попул€рными программами, читающими пользователю текст с экрана. —м. статью на сайте A List Apart: Facts and Opinion About Fahrner Image Replacement.

–езультаты исследовани€, проведенного ƒжо, показывают, наша иде€ создать что-то более гибкое, чем простые изображени€ с прописанным дл€ них атрибутом alt, потерпела фиаско. ћы предполагали, что в броузерах со включенным показом графики текст будет скрыт стилевым правилом display:none, а в голосовые броузеры чЄтко его прочитают пользователю. ќказалось, что некоторые броузеры так не делают даже в том случае, когда мы прописываем в стил€х media="screen", так как они буквально зачитывают то, что было бы видно на экране. Ѕольшинство голосовых броузеров не поддерживают media=" aural", так что пропадает вс€кий смысл использовани€ свойств "speak" в таблице стилей дл€ них.

ѕоступали предложени€ воспользоватьс€ вместо "display:none;" правилом "visibility:hidden;", но это также не решало проблему прочтени€ "спр€танных" участков текста в большинстве голосовых броузеров. “екуща€ верси€ попул€рной программы JAWS - пожалуй самый распространенный голосовой броузер - все-таки читает текст, скрытый методом ‘арнера. Ќо, гл€д€ на действи€ других подобных программ, мы не можем положитьс€ на то, что следующие версии JAWS сохран€т эту функцию.

 ак и при работе с любой другой контент-преобразующей (content-altering) методикой, перед тем, как ее примен€ть, следует тщательно взвесить все преимущества и недостатки при решении конкретных задач вЄрстки. —о времени написани€ статьи по€вилось ещЄ несколько методов, решающих подобную задачу - каждый со своими достоинствами. ќднако ни один из методов так и не €вл€етс€ универсальным решением трюка с подменой текста на изображение. Ќиже приведЄн краткий перечень альтернативных способов:

ѕреобразование Ћихи/Ћэнгриджа [Leahy/Langridge Image Replacement (LIR)]

—уть: содержимое тэга <span> скрываетс€ путЄм задани€ предку тэга <span> нулевой высоты (height: 0;) и невидимости (overflow: hidden;). «атем задаЄтс€ верхний отступ (padding-top), соответствующий высоте фонового изображени€. ћетод предложен в одно и тоже врем€ —имусом Ћихи и —тюартом Ћэнгриджем (Seamus Leahy and Stuart Langridge).

—двиг текста методом –андла (Rundle's Text-Indent Method)

ћайк –андл (Mike Rundle) изобрЄл простой трюк с использованием CSS-свойства "text-indent" дл€ сдвига участка текста за пределы видимой области элемента.

ћетод перекрыти€ фоном (Cover-up Method)

ћетод предложен ѕетром —таничеком и “омом √ильдером (Petr Stanicek (a.k.a. "Pixy") and Tom Gilder). —мысл в том, что текст скрываетс€ расположенным поверх него пустым элементом <span>, имеющим фоновое изображение. ѕри этом текст будет виден, если загрузка графики отключена (или картинка просто не загрузилась).

≈ще одно интересное обсуждение метода FIR в статье ƒэйва Ўи (Dave Shea) "In Defense of Fahrner Image Replacement" на сайте Digital-Web.com.

—писок литературы

ƒл€ подготовки данной работы были использованы материалы с сайта http://www.webmascon.com/

Douglas Bowman — помощью простого трюка CSS вы можете улучшить представление шрифтов на своих веб-страницах. ѕри этом и неграфические броузеры и поисковые роботы смогут с ними нормально работать. ¬ведение ¬ы мечтаете получить типографско

 

 

 

¬нимание! ѕредставленный –еферат находитс€ в открытом доступе в сети »нтернет, и уже неоднократно сдавалс€, возможно, даже в твоем учебном заведении.
—оветуем не рисковать. ”знай, сколько стоит абсолютно уникальный –еферат по твоей теме:

Ќовости образовани€ и науки

«аказать уникальную работу

—вои сданные студенческие работы

присылайте нам на e-mail

Client@Stud-Baza.ru