Ответ 1
Добавьте этот CSS, чтобы заставить IE7 вести себя:
text-transform: capitalize;
Сумасшедшая, но истинная.
Я работаю над веб-сайтом, а на верхней панели навигации есть окно поиска, я применил следующий css в кнопке отправки поиска
#submit {
background: url("img/new-search-icon.png") no-repeat scroll -1px 0 #FFFFFF;
border:0 none;
cursor:pointer;
display:block;
height:21px;
padding:0;
position:absolute;
right:0;
text-indent:-9999px;
top:0;
width:20px;
z-index:2;
}
Моя проблема в IE7, текстовый отступ не работает, пожалуйста, помогите мне если вы хотите увидеть демо, вы можете просмотреть его, нажав здесь Нажмите здесь. Пожалуйста, помогите мне.
Добавьте этот CSS, чтобы заставить IE7 вести себя:
text-transform: capitalize;
Сумасшедшая, но истинная.
при внедрении метода замены изображений, как и выше, есть некоторые правила, которые можно использовать с CSS, чтобы заставить его работать в браузерах IE.
Объявление css:
text-indent:-9999px;
text-transform:capitalize;
font-size:0;
display:block;
line-height:0;
font-size: 0 используется для уменьшения размера шрифта и хорошо работает в IE7. Но даже после добавления этой строки вы заметили бы черную линию (в основном текст) в центре кнопки в IE6.
display: block Отрицательный текстовый отступ работает в IE, только если он добавлен.
line-height: 0 Другое исправление для IE6.
text-transform: capitalize Я не знаю точной причины включения свойства, как-то он исправляет проблему.
Надеюсь, что это поможет.
.submit {
line-height: 0px;
font-size: 0px;
/* restante do teu código */
}
este é um example simse
Если ничего не работает точно, это делает:
color: transparent;
text-indent: 0 !important; /* reset the old negative value */
Таким образом, обычные браузеры используют отрицательный текст-отступ, ie7 получает специальное обращение с использованием условных комментариев
Имеет аналогичную проблему в IE8. После устранения всех других возможностей объявление строки-высоты в другом месте CSS нарушало текст-отступ. Решение: явно задайте высоту строки 0.
text-transform: capize; на самом деле не повлиял на меня (это происходило по тегам), но это сработало
text-indent: -9999px
float: left
display: block
font-size: 0
line-height: 0
overflow: hidden
Я не знаю, является ли это причиной вашей проблемы, но я думаю, что ваша короткая нотация background
неверна; цветовой код должен быть в начале, а не в конце.
Простите немного поздно, но искал решение проблемы IE7 с отрицательным текстовым отступом. Я начал пробовать свои собственные случайные пути и наткнулся на это. jUst хотел опубликовать его на Stack, если он может помочь другим.
Попытка добавить значок к ссылке и не показывать текст.
Мой CSS для всех браузеров
a.lnk_locked , a.lnk_notchecked, a.lnk_checked
{ background: url(../images/icons/icon_sprites.png) no-repeat; padding: 0 2px 0 0; width:18px; height:18px;
vertical-align:middle; text-indent:-9009px; display:inline-block; overflow: hidden; zoom: 1; *display:inline;}
a.lnk_locked { background-position: -1px -217px; }
Мой CSS только для IE7
a.lnk_locked , a.lnk_notchecked, a.lnk_checked
{ text-indent:20px; padding-left:-20px; width:18px;}
Я просто хотел добавить для "других" (хотя это не было строго связано с темой, а не с проблемой ops).
Пожалуйста, убедитесь, что вы используете "px" для своей ценности. то есть -9999px не -9999.
Я только что потратил 10 минут, чтобы отладить, почему это не сработало. Смотря на значение прямо передо мной.
Я делал много Silverlight в последнее время, и поэтому мой ум не переходил на требования к разметке CSS достаточно быстро. Хмм.
Вы должны включить блок измерения.... или иначе он просто будет терпеть неудачу.
Решение, которое я обнаружил в моих текстовых ошибках в IE7, и что-то, что я чувствую, должно быть добавлено в этот поток:
Не работает:
text-indent: -900009px;
Работает ли:
text-indent: -9999px;
Я не знал, что существует предел? Я предполагаю, что есть.
Только следующее выполнит эту работу для вас:)
text-indent:-9999px !important;
line-height:0;
Не используйте text-indent
. Попробуйте вместо этого:
display: block;
height: 0;
padding-top: 20px; //The height of your button
overflow: hidden;
background: url(image.png) no-repeat; // Image replacement
Работает во всех браузерах, включая IE6.
Я пробовал все вышеперечисленное без успеха. Мне пришлось добавить float:left
, прежде чем он подхватил текстовый отступ. IE7 сумасшедший, и, сумасшедший, я имею в виду ужасный.
Вот некоторый CSS, который я использую, который работает для меня в IE и не полагается на text-indent
.sprite {
width:100%;
height:0px;
padding-top:38px;
overflow:hidden;
background-repeat:no-repeat;
position:relative;
float:left;
display:block;
font-size:0px;
line-height:0px;
}
.sprite.twitter {
background-image:url(/images/social/twitter-sprite.png);
margin-top:8px;
background-position: 4px 0px;
}
#social-links a:hover .sprite.twitter {
background-position: 4px -38px;
}