2009-05-02 3 views
75

Когда мы используем замену текста с помощью CSS и даем отрицательный отпечаток, т. Е. text-indent:-9999px. Затем, когда мы нажимаем на эту ссылку, линия Dotted появляется, как на образце ниже. Какое решение для этого?Как удалить контур вокруг изображений гиперссылок?

enter image description here

+2

Пожалуйста, не удаляйте это, оно существует для обеспечения доступности. – 2012-01-18 08:03:20

+13

http://outlinenone.com/ – 2012-01-18 08:05:30

+0

Дубликат: http://stackoverflow.com/questions/1142819/how-to-remove-dotted-border-around-active-hyperlinks-in-ie8-with-css * (но пожалуйста, ознакомьтесь с комментариями выше!) * – JohnB

ответ

126

Для Remove набросков тега привязки

a {outline : none;} 

Удалить контур из линии изображения

a img {outline : none;} 

Удалить границу из ссылки изображения

img {border : 0;} 
+1

Спасибо, Откройте. Это давно исказило меня - не только гиперссылки в IE, но и обычные фотографии без гиперссылки. Это было досадно, пока я не нашел ваш ответ (через Google, а не Stack, как ни странно). –

21

Вы можете использовать свойство CSS «наброски» и значение «нет» на элементе якоря.

a { 
outline: none; 
} 

Надеюсь, что это поможет.

+2

См. Комментарии к вопросу. – 2012-01-18 08:05:49

1

-moz-user-focus: ignore; в браузерах Gecko основе (возможно, вам нужно! Важно, в зависимости от того, как она применяется)

-9

Да, мы можем использовать. сброса CSS, как a {outline:none}, а также


a:focus, a:active {outline:none} для лучшей практики в Обнуление CSS, самое лучшее решение, использует общий :focus{outline:none} Если у вас есть лучший вариант, пожалуйста, поделитесь

+20

Разве это не слишком грубо, чтобы не принимать один из других ответов, содержание которых привело вас к вашему заключению? –

7

Существует тот же эффект границы в Firefox и Internet Explorer (IE), он становится видимым, когда вы нажимаете на какую-либо ссылку.

Этот код будет исправить только IE:

a:active { outline: none; }. 

И это один будет исправить как Firefox и IE:

:active, :focus { outline: none; -moz-outline-style: none; } 

Последний код должен быть добавлен в таблицу стилей, если вы хотели бы чтобы удалить границы ссылок с вашего сайта.

+1

Спасибо Mike, Это действительно хороший ответ. но использование -moz-outline-style: none; не является допустимым CSS. еще этот хороший вариант –

8

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

(Держать их на месте и помогает питания пользователей, которые не любят использовать их мышь)

+0

Мы не удаляем: стиль фокуса. просто добавляя схему стиля: нет. другой стиль по умолчанию будет там. –

+1

Что такое «другой стиль по умолчанию»? Насколько я знаю, есть только одна, пунктирная линия. – Wolfr

+1

Хорошо .. Может быть, мы можем использовать Diffrent-стиль для Screen Readers. это может быть Решение для доступности. –

1

Вы можете поставить overflow:hidden на имущество с отступа текста, и что пунктирная линия, которая охватывает из страницы , исчезнет.

Я видел пару сообщений об удалении контуров вместе. Будьте осторожны при этом, так как вы можете снизить доступность сайта.

a:active { outline: none; } 

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

Надеюсь, это решает вашу проблему.

17
+0

это работало для меня в режиме совместимости с символом 9 +. Благодарю. – code90

+0

Это единственное, когда это работает в IE правильно, как только он вызывает мерцание страницы при загрузке. –

0

Я бы поставил большинство пользователей не тип пользователей, которые используют клавиатуру в качестве навигационного управления. Является ли приемлемым раздражать большинство ваших пользователей для небольшой группы, которая предпочитает использовать навигацию на клавиатуре? Короткий ответ - зависит от того, кто ваши пользователи.

Кроме того, я не вижу подобного опыта в Firefox и Safari. Таким образом, этот аргумент, по-видимому, в основном относится к IE. Все это зависит от вашей базы пользователей и их уровня знаний.   - как они используют сайт.

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

0

Это отлично работает для меня

a img {border:none;}

4

включить этот код в таблице стилей

img {border : 0;} 

a img {outline : none;} 
1

Использование Like This для HTML 4.01

<img src="image.gif" border="0">

0

Любое изображение, имеет ссылку есть граница вокруг изображения, чтобы указать, что это ссылка со старыми браузерами. Добавление border = "0" в ваш HTML-тег IMG не позволит этому изображению иметь границу вокруг изображения.

Однако добавление границы = «0» для каждого изображения будет не только много времени, это также увеличит размер файла и время загрузки. Если вы не хотите, чтобы на ваших изображениях была граница, создайте правило CSS или CSS-файл, в котором есть код ниже.

img {border-style: none; }

3

Я надеюсь, что это полезно для некоторых из вас, он может быть использован для удаления контура из ссылок, изображений и флэш-памяти и от MSIE 9:

a, a:hover, a:active, a:focus, a img, object, embed { 
    outline: none; 
    ie-dummy: expression(this.hideFocus=true); /* MSIE - Microsoft Internet Explorer 9 remove outline */ 
    } 

Приведенный ниже код может скрыть границы изображения:

img { 
    border: 0; 
    } 

Если вы хотите поддерживать Firefox 3.6.8, но не Firefox 4 ...При нажатии вниз на тип входного = изображение может произвести пунктирный контур, а также, чтобы удалить его в старых версиях Firefox следующее будет делать трюк:

input::-moz-focus-inner { 
    border: 0; 
    } 

IE 9 не позволяет в некоторых случаях, чтобы удалить пунктирная контур вокруг ссылок, если не включить этот мета-тег между и в ваших страницах:

 <meta http-equiv="X-UA-Compatible" content="IE=9" /> 
+1

W3C HTML5 Validator задохнется от этого метатега. – Sparky

+0

@Sparky Я считаю, что мы должны предложить ответ, который отвечает на вопрос, рассказывая о том, как это сделать в большинстве используемых браузеров, включая MSIE, поскольку это был широко используемый браузер в 2014 году, и информация о метатеге MS и CSS, которые можно использовать только для MSIE. Это всего лишь часть моего ответа, чтобы предложить поддержку большинства браузеров, включая MSIE ... Вопрос был не о W3C. Valid HTML или CSS ... – jagb

+0

@Sparky +1 из-за того, что это правда, и мы не должны доверять MS css/html/meta, поскольку они редко думают о стандартах W3C .... Я не сказал, что полезно использовать метатеги Microsoft и их CSS-код, поскольку единственным браузером, поддерживающим MS-код, являются MSIE и связанные с ним браузеры MS. Как запрошенный ответ на вопрос «Как удалить схему вокруг изображений гиперссылок?» – jagb

1

Это последний один, который работает на Google Chrome

:link:focus, :visited:focus {outline: none;} 
0

с целью снятия изо ng Ссылка Dotted Outline href, которую вы можете написать в вашем файле css:

a { 
    outline: 0; 
} 
Смежные вопросы