IE css bug: он добавляет 'padding-left' в конец 'background-image'? - PullRequest
4 голосов
/ 24 июня 2010

У меня странная ошибка.
В моем файле .css у меня есть следующее правило:

.conf-view a
{
    padding-left: 10px; 
    background-image: url("images/bullet-green.gif");
    background-position: center left;
    background-repeat: no-repeat;
}

Проблема в том, что IE как-то интерпретирует это так:

.conf-view A /* NOTE - this is copied from the IE-Developer tools css tab. */
    background-image : url(images/bullet-green.gif); PADDING-LEFT: 10px
    background-repeat : no-repeat
    background-position : left center

Видишь там отступы?
Теперь браузер просто игнорирует правило заполнения, что приводит к сбою макета.

Это известная ошибка? Кто-нибудь может найти способ обойти это?

Большое спасибо
Kfir

Ответы [ 3 ]

3 голосов
/ 24 июня 2010

Похоже, что это ошибка в IE Developer Tools, когда код отображения просто поглощает следующее определение без фона (отсортировано, по-видимому, в алфавитном порядке), если фоновое изображение указано отдельно.Ваш текст не перекрывает ваше фоновое изображение на этой странице ни по одной из ссылок, поэтому мне кажется, что CSS интерпретируется правильно независимо;Можете ли вы объяснить, почему вы думаете, что это не так?

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

background:transparent url("images/bullet-green.gif") scroll no-repeat left center;

2 голосов
/ 24 июня 2010

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

как ни странно, предложение faileN было далеко от того, что я сделал, чтобы исправить это. Если вы поставите «display: inline-block;» тогда это, кажется, работает в IE7 и FF. Конечно, вы захотите проверить, что у него нет побочных эффектов, прежде чем использовать его.

0 голосов
/ 24 июня 2010

Может быть, это потому, что a -элемент обычно является встроенным элементом. Для этих элементов не свойственно иметь фоновые изображения и отступы / поля, даже если это разрешено. Поместите display: block; в ваше определение стиля. Может быть, это поможет вам в этой ситуации.

EDIT

В ожидании вашего кода образца:)

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