Удаление текста из кнопок HTML во всех браузерах? - PullRequest
4 голосов
/ 13 ноября 2009

У нас есть кнопки разных размеров и цветов, которые используют фоновые изображения. На самом фоновом изображении есть метка, но нам нужно сохранить текст кнопки в HTML для удобства использования / доступности. Как заставить текст исчезнуть во всех браузерах?

Современные браузеры просты, я только что использовал -

color: transparent;

Это Internet Explorer 7, который я не могу выполнить. Я пробовал эти свойства CSS, и ни одно из них не может полностью удалить текст, не разрушая макет моего сайта в процессе.

font-size: 0px;
line-height: 0;
text-indent: -1000em; 
display: block;
padding-left: 1000px;

Я был бы очень признателен за любую помощь.

Ответы [ 7 ]

2 голосов
/ 10 марта 2011

Лично я придерживаюсь всего подхода CSS:

{ display: block;
text-indent: -9999em;
text-transform: uppercase; }

По любой причине, text-transform: uppercase; добивается цели для IE7. Конечно, у вас, вероятно, будет свой собственный CSS вместе с тем для дополнительного стиля (при необходимости).

1 голос
/ 13 ноября 2009

Если кнопка является кнопкой отправки ввода, используйте изображение

<input type="image" src="/images/some_image.png" />

Вы можете оформить это с помощью CSS

input[type="image"] {
  border: 1px solid red;
  width: 150px;
  height: 35px;
}

Если это ссылки, Дейв дал ответ.

1 голос
/ 13 ноября 2009

В некоторых случаях вы можете использовать правильное «содержимое», чтобы изменить содержимое элемента, лично, хотя я бы использовал javascript для этого.

Просто напишите пустой текст в элемент.

0 голосов
/ 11 августа 2011

Дополнительно к вашему

color: transparent;

Вы можете использовать что-то вроде

padding-left: 3000px;
overflow: hidden;

Привет

0 голосов
/ 13 ноября 2009

Я не знаю, для каких пользователей / программ метки должны быть в HTML, но если это для текстовых браузеров и т. Д., Может быть, вы могли бы вставить JavaScript, который удаляет метки в OnLoad?

JQuery или Prototype сделали бы это очень просто.

0 голосов
/ 13 ноября 2009

Если я правильно понимаю вопрос, это может сработать (у меня нет IE7 для тестирования на данный момент, поэтому не уверен на 100%)

Для разметки вот так:

<a href="javascript:return false;" class="button" id="buttonOK"><span
    class="icon">Ok</span></a>

Используйте эту CSS:

span.icon {
    /*visibility: hidden;*/
    display:block;
    margin-left:-1000;
    width:100px;
}

или это может работать в зависимости от ваших требований к удобству использования / доступности:

span.icon {
    visibility: hidden;
}
0 голосов
/ 13 ноября 2009

Как заставить текст исчезнуть в все браузеры?

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

Для этой цели вы можете использовать это:

<INPUT TYPE="image" SRC="images/yourButtongif" HEIGHT="30" WIDTH="100" ALT="Text In Case There Is No Image" />

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...