Подтвердить что ты не робот

Отображение CSS: встроенный блок не принимает margin-top?

У меня есть элемент с дисплеем: встроенный блок, но он, похоже, не принимает margin-top. Это потому, что элемент по-прежнему рассматривается как встроенный элемент?

Если да, у кого-нибудь есть обход?


РЕДАКТИРОВАТЬ № 1:

Мой CSS довольно прост:

.label {
  background: #ffffff;
  display: inline-block;
  margin-top: -2px;
  padding: 7px 7px 5px;
}

Я закончил обертку содержимого в другом div и дал ему margin-top. Но это вызывает много дополнительной разметки и делает мой код менее ясным.

РЕДАКТИРОВАТЬ № 2:

margin-top и margin-bottom на inline-block элементы работают только с положительными значениями.

4b9b3361

Ответ 1

Я использовал display: table. Он имеет свойства, соответствующие контенту inline-block, но также поддерживает отрицательные поля таким образом, чтобы он перемещал содержимое, сопровождающее его вместе с ним. Вероятно, не то, как вы должны использовать его, но он работает.

Ответ 2

вы также можете попробовать заменить отрицательный запас на

.label{
    position:relative;
    top:-2px;
}

в дополнение к остальной части стиля .label

Ответ 3

Вы можете попробовать vertical-align следующим образом:

.label {
  background: #ffffff;
  display: inline-block;
  margin-top: -2px;
  vertical-align: 2px;
  padding: 7px 7px 5px;
}

Я сделал пример на jsfiddle: http://jsfiddle.net/zmmbreeze/X6BjK/.
Но выравнивание по вертикали не работает хорошо на IE6/7. И есть ошибка, связанная с опера (11.64).

Поэтому я рекомендую вместо этого использовать position:relative.

Ответ 4

Это действительно так. Вместо поля можно использовать отступы. Другим решением будет использование контейнера div для элемента. Вы делаете этот div inline-block и делаете ваш текущий элемент блоком внутри этого контейнера. Затем вы можете указать маржу для своего элемента.

Это поможет, если у вас есть конкретный пример, желательно в jsfiddle.net или около того. Это поможет более конкретным ответам, вместо того, чтобы содержать только общие описания, подобные моим здесь.;)