css открыть ссылку в новом окне

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

В таблице приведены все доступные значения для атрибута target.

Значение Описание
_blank Открывает документ в новом окне.
_self Открывает документ в том же окне, где была нажата ссылка (значение по умолчанию).
_parent Открывает документ в родительском окне.
_top Открывает документ на весь экран.
имя_фрейма Открывает документ в указанном фрейме.

Примечание: если ваш браузер поддерживает вкладки, то ссылки с target=»_blank» будут открываться не в новом окне, а в новом вкладке. В этом случае, если вам требуется, чтобы ссылка открывала именно новое окно, надо воспользоваться языком программирования (например, JavaScript).

Как открыть ссылку в новом окне с точки зрения html? Давайте рассмотрим этот вопрос детально.

target=»_blank» — атрибут означает, что ссылка откроется в новой вкладке. По умолчанию все ссылки открываются в той же вкладке.

Открываем новое окно через JavaScript

Но не всегда требуется открыть ссылку в новой вкладке. Зачастую задача стоит в открытии нового окна браузера. В этом случае применяют средства JavaScript

  • Toolbar=yes включает панель закладок, кнопки вперед, назад
  • Location=yes включить адресную строку
  • ScrollBars=yes разрешает скролл

Помимо этого стоит упомянуть про то, что любую ссылку можно открыть в новом окне щелкнув на неё правой кнопкой мыши, в выпадающем меню выбрать «открыть в новом окне».

БлогNot. CSS: меняем стиль для ссылок, открываемых в новом окне

CSS: меняем стиль для ссылок, открываемых в новом окне

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

С точки зрения HTML открыть ссылку в текущем или новом окне элементарно. Если в теге ссылки

атрибут target не указан или задан в виде target=»_self» , то документ открывается в текущем окне браузера, а если ссылке назначен атрибут вида target=»_blank» , документ открывается в новом окне.

Но тогда возникает вопрос — как пользователь отличит эти 2 вида ссылок, не щелкая по ним или не заглядывая в HTML-код страницы?

Логичней всего, если CSS-оформление двух видов ссылок будет разным, вот вариант, при котором ссылки с target=»_blank» выделяются жирным шрифтом:

Здесь, как это часто бывает, приходится отдельно учитывать Internet Explorer и остальные браузеры, первое стилевое указание — как раз для IE, а второе — для остальных браузеров.

Аналогично можно поэкспериментировать с каким-либо другим свойством CSS, например, с подчёркиванием text-decoration :

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

Альтернативный и кросс-браузерный путь — попробовать отделить внешние ссылки от остальных по их адресам. Предположим, что внешние ссылки всегда указываются как абсолютные (начиная с префикса http:// ), а внутренние пишутся как относительные. Чаще всего на нормальных сайтах так и делают. Это работает и в IE, по крайней мере, с 8-й версии.

Но здесь мы отклонились от исходной задачи и просто требуем, чтобы URL начинался с http:// , то есть, выделяем жирным начертанием абсолютные URL, которые не обязательно внешние, а не все ссылки, открывающиеся в новом окне.

Если не принимать во внимание IE 6 и 7 версий, можно всё сделать проще, через псевдоэлементы before и after, позволяющие указать, что нужно выводить до или после элементов, к которым они добавляются.

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

Однако мне кажется, что логичней просто изменить оформление фона ссылки, открываемой в новом окне — ведь добавление какого-либо текста или картинки до или после ссылки может нарушить макет сайта. Чтобы не мучиться, мы поставим желтоватый фоновый цвет всем ссылкам, открываемым в новом окне.

По-прежнему сделаны отдельные стилевые указания для Internet Explorer и остальных браузеров.

А можно попробовать прилепить и фоновый рисуночек через свойство background.

Что касается ссылок-рисунков, то наш приём сработает только если таковые имеют прозрачный фон:

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

Результат Вы можете видеть прямо в этом блоге, я только что добавил показанные здесь директивы в его стиль. Кстати, если посоветуете более подходящий цвет — буду только рад 🙂

06.08.2011, 23:51; рейтинг: 12430

Оцените статью