Сбой соединения с сервером status 504. Распространенные ошибки на виртуальном хостинге и как с ним бороться. Частые причины ошибок на VPS

В предыдущем уроке вы узнали о четырех состояниях, которые может принимать ссылка, а также о том, как стилизовать ссылки в этих состояниях, используя псевдоклассы. Сегодня мы поговорим о свойствах CSS, пригодных для использования со ссылками.

Современный CSS позволяет создавать для ссылок какой угодно внешний вид, главное, чтобы пользователь смог понять, что это. В зависимости от контекста, в котором находится ссылка, от ее назначения и от того, куда она ведет, можно определять для нее подходящий стиль.

Со ссылками работают самые разнообразные свойства: color , background , border , border-radius , text-decoration , padding и т. д. Мы покажем наиболее распространенные варианты оформления ссылок, после чего вы можете подумать, каким образом их дополнить либо изменить.

Подчеркивание ссылок

По умолчанию ссылка в браузере имеет синий цвет и подчеркивание снизу. Но встретить этот классический, приевшийся дизайн в наше время - большая редкость, поскольку стиль ссылки в 99.9% случаев переделывается. Подчеркнутые ссылки чаще всего можно встретить в тексте, а вот в навигационных меню подчеркивание, как правило, убирается.

Чтобы отменить дефолтный подчеркнутый стиль у ссылок, потребуется задать значение none для уже знакомого нам свойства text-decoration:

A { text-decoration: none; }

У многих пользователей ссылка ассоциируется с подчеркнутым текстом, поэтому если вы решили убрать подчеркивание, то стоит подумать над альтернативным способом очевидного обозначения ссылки. В противном случае есть риск ввести пользователей сайта в заблуждение. Например, ссылка в середине текста, которая не имеет подчеркивания и не выделена другим цветом, просто затеряется.

Подчеркивание ссылок при наведении

A { text-decoration: none; font-weight: bold; } a:hover { text-decoration: underline; } Ссылка подчеркнута, когда наведен курсор

Подчеркивание с помощью border

Стандартное свойство text-decoration не поддается особой стилизации, поэтому веб-разработчики часто используют в качестве альтернативы свойство border . Управлять внешним видом границы гораздо легче: ей можно задать цвет, толщину, стиль полосы. Пример:

A { text-decoration: none; /* отменяем стандартное подчеркивание, * иначе будет две полосы */ border-bottom: 3px solid pink; /* добавляем нижнюю границу */ padding-bottom: 1px; /* делаем небольшое расстояние между текстом и границей */ } Создание подчеркивания с помощью свойства border-bottom

Согласитесь, такой вариант выглядит веселее с точки зрения возможностей. Не забывайте, что с помощью псевдокласса:hover можно изменить вид границы (и не только) при наведении курсора. А если при этом еще и задействовать CSS-анимацию, то из обычной ссылки может получиться настоящее произведение искусства! Убедитесь в этом сами, взглянув на несколько оригинальных способов выделения ссылок в CSS .

Ссылка с фоном

Ссылки позволяют добавлять к ним фон через уже изученное нами свойство background . И если обычный фоновый цвет для ссылки вряд ли удивит кого-либо, то с помощью фоновых рисунков можно добиться более интересных результатов. К примеру, можно сымитировать рукописное подчеркивание, а также разместить другую графику, задуманную в дизайне ссылки.

Как обозначить ссылки, которые открываются в новом окне/вкладке? Для этого поведения даже существует привычная иконка. Но добавлять ее через тег будет не очень хорошим тоном. Желательно, чтобы иконка открытия в новом окне появлялась автоматически, если у ссылки есть соответствующий HTML-атрибут target="_blank" . Здесь нам на помощь придет селектор атрибутов:

A { background-image: url(open-in-new-tab.png); background-position: center right; background-repeat: no-repeat; padding-right: 13px; } Ссылка с иконкой открытия в новом окне

В качестве фонового изображения мы задаем иконку, определяем ее расположение, отменяем дублирование фона и добавляем небольшой отступ от текста. Как видите, всё довольно просто, а посетитель уже проинформирован о поведении ссылки, и открытие новой вкладки/окна не станет для него неожиданностью.

Ссылка-кнопка

Вот уж когда точно можно фантазировать, так это при создании стиля для ссылки в виде кнопки. Даже несмотря на то, что современный веб-дизайн отказался от объемных фигур с детальной прорисовкой в пользу плоских и простых форм, все равно вариантов оформления кнопок остается огромное множество.

Несколько примеров (чтобы просмотреть код CSS для каждого примера, кликните по изображению):


Код CSS для данного примера:

A { font-family: Arial, Helvetica, sans-serif; font-size: 15px; color: #ffffff; padding: 16px 26px; background: -moz-linear-gradient(top, #42aaff 0%, #003366); background: -webkit-gradient(linear, left top, left bottom, from(#42aaff), to(#003366)); -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; border: 1px solid #003366; -moz-box-shadow: 0px 1px 3px rgba(000,000,000,0.5), inset 0px 0px 1px rgba(255,255,255,0.5); -webkit-box-shadow: 0px 1px 3px rgba(000,000,000,0.5), inset 0px 0px 1px rgba(255,255,255,0.5); box-shadow: 0px 1px 3px rgba(000,000,000,0.5), inset 0px 0px 1px rgba(255,255,255,0.5); text-shadow: 0px -1px 0px rgba(000,000,000,0.7), 0px 1px 0px rgba(255,255,255,0.3); display: inline-block; text-decoration: none; } a:hover { background: -moz-linear-gradient(top, #42aaff 0%, #0d5aa7); background: -webkit-gradient(linear, left top, left bottom, from(#42aaff), to(#0d5aa7)); } a:active { background: -moz-linear-gradient(top, #003366 0%, #42aaff); background: -webkit-gradient(linear, left top, left bottom, from(#003366), to(#42aaff)); }


Код CSS для данного примера:

A { font-family: Arial, Helvetica, sans-serif; font-size: 15px; color: #fafafa; padding: 16px 26px; display: inline-block; text-decoration: none; border-radius: 3px; box-shadow: 0px 6px #27ae60; background: #2ecc71; } a:hover { background: #36d479; } a:active { position: relative; top: 6px; box-shadow: 0px 0px #23a33d; background: #23a33d; }

В этих примерах определены стили как для обычного состояния ссылки-кнопки, так и для состояний:hover (наведение) и:active (нажатие/удержание). Как видите, CSS позволяет имитировать внешний вид настоящей кнопки до мельчайших деталей.

Важно: чтобы иметь возможность подобным образом стилизовать ссылку, нужно заставить ее вести себя как блочный (block ) либо строчно-блочный элемент (inline-block ). Дело в том, что если вы будете добавлять отступы к строчному элементу (коим по умолчанию является ссылка), то не увидите никакого эффекта.

Между открывающим и закрывающим тегом могут содержаться строчные и строчно-блочные элементы, такие как: span, code, strong, img .. ,
а также перенос строки

Предупреждение!

Атрибуты ссылки

Тег а может содержать несколько атрибутов. Наряду с общими для большинства тегов class, style, id , используется с некоторыми специфическими атрибутами.

href

URL (Uniform Resource Locator) - универсальный указатель ресурсов.

Значением href может быть любой допустимый абсолютный или относительный url, включающий идентификатор фрагмента или фрагмент кода JavaScript.

target

Не обязательный. Обычно этот атрибут использует 2 значения:

target="_self" - значение по умолчанию для тега a . Документ, на который указывает гиперссылка, должен быть отображен в том же окне.

target="_blank" - Документ, на который указывает гиперссылка, будет открыт в новом безымянном окне.

title

Необязательный атрибут. Позволяет определить текст, который вы сочтете нужным вывести на экран в виде подсказки, при наведении указателя на гиперссылку.

Значением атрибута является произвольная строка, заключенная в кавычки. Можно использовать для вывода названия документа, или при использовании вместе с атрибутом target="_blank" , вежливо предупредить, что документ откроется в новом окне

"откроется в новом окне" > <span"название изображения" / > </ a >

Остальные атрибуты, при необходимости, вы можете посмотреть в справочнике. Они не так часто употребляются, поэтому здесь не рассматриваются.

путь/документ.html

Обычно в относительном URL имя сервера опущено, и указывается сокращенный адрес документа, который автоматически комбинируется с базовым адресом.

× Базовый URL
Должен быть определен в документе при помощи тега .

Разберем как будет формироваться относительный URL, в зависимости от расположения файлов. Легче понять на примере.

Основной документ - ссылающийся документ в котором находится ссылка

Текущая папка - где расположен основной документ

Вложенная папка - внутри текущей

Соседняя папка - вместе с текущей, располагается в общей родительской

Родительская папка - внешняя по отношению к текущей

Цель-1</ a > "вложенная/цель-2.html" > Цель-2</ a > "../соседняя/цель-3.html" > Цель-3</ a > Цель-4</ a >

Бывают и более сложные варианты с большим числом уровней вложенности.

Можно сформулировать несколько простых правил:

Если цель находится в другой папке текущего каталога (вложенной),
путь = имя_каталога/цель

Имя внешнего (по отношению к текущему) каталога не указывается, а в начале пути ставится 2 точки и слэш - ../ и далее путь

Абсолютные ссылки

Если запрашиваемый документ находится на другом сервере, то необходимо указывать абсолютный URL

http://сервер/путь/документ.html

URL типа http

Самый обычный URL, наиболее часто применяемый в качестве цели гиперссылки. Выглядеть может вот так:

http://www.site-name.com

В общем виде данный тип имеет следующий формат: http://сервер:порт/путь

Путь - это иерархическая последовательность, указывающаяся местоположение документа на сервере.
Одно или несколько имен, разделенных наклонной чертой. Все имена, кроме последнего - имена каталогов. Последнее имя - имя документа (по умолчанию веб-серверы принимает имя файла index.html)

Сервер - компьютерная система, хранящая и выдающая по внешнему запросу веб-ресурс и обладающая уникальным IP-адресом. Имя состоит из нескольких частей, включая собственное имя сервера и последовательность доменных имен, отделенных друг от друга точками.

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

URL типа file

Файловый URL указывает на файл, хранящийся на компьютере, без регламентирования протокола, применяемого для его загрузки. Это позволяет вам загружать и выводить на экран локальный документ.

File://сервер/путь

File-сервер, как и http-сервер, должен быть доменным именем или IP-адресом компьютера, содержащего скачиваемый файл. Отличие - протокол соединения не указывается. Файловый сервер может быть неквалифицированным, но уникальным именем компьютера в личной сети, или устройством хранения информации.
Путь к запрашиваемому файлу на указанном сервере может различаться в зависимости от операционной системы на сервере

"file://D:\путь\имя_файла.html" > ссылка для Windows-систем</ a > "file://D:/путь/имя_файла.html" > ссылка для Unix-систем</ a > "file://localhost/home/document.html" > Документ</ a > "file://server-name.com/document.html" > Документ</ a >

URL для mailto

письмо мне</ a > "mailto:fоg@fоgnsnow.ru?subject=Test mailto" > письмо мне + тема</ a >

URL типа ftp

Указатель ресурса типа ftp используется для получения документов с FTP-серверов. В общем виде выглядит так:

ftp://пользователь:пароль@сервер:порт/путь;тип=код_типа

FTP (Fail Transfer Protocol) - служба, требующая аутентификации. Значит для получения документа с сервера, вы должны быть зарегистрированным пользователем и знать пароль.
Многие FTP-серверы дают
ограниченный доступ к своему содержимому всем желающим под логином - anonymous или quest, а порой и без всякого логина (подразумевается по умолчанию)

Никогда !
Не помещайте ftp URL с именем пользователя и паролем ни в какой документ!
Браузер сам предложит вам их ввести после соединения с сервером

Сервер и порт указываются по тем же правилам, что и в http URL (если порт не указан, то по умолчанию назначается порт 21)

Путь - последовательность каталогов, разделенных символом наклонной черты, ведущей к запрашиваемому файлу.
Код_типа передачи - по умолчанию файлы передаются как двоичные. Если указать type=
d - название каталога
a - файл содержащий ASCII-текст
остальное смотрите в справочнике...

"ftp://www.site-name.ru/my_files/file_1" > "ftp://name@sitе-name.com/ctl_name;type=d" > "ftp://user:mуPswd@sitе-name.com/file_2;type=a" >

Ссылки внутри одной страницы

  1. Создать фрагмент, который будет служить целью для гиперссылки
  2. Создать ссылку на этот фрагмент

Для создания фрагмента применяется атрибут id , с помощью которого мы помещаем цель ссылки прямо в определяющий тег, например в заголовок.