Удалить лишние пространственные окружения iframe?

Я использую iframes на своей странице и наткнулся на странную проблему. Я установил iframe css таким образом

iframe {
    margin: none;
    padding: none;
    background: blue; /* this is just to make the frames easier to see */
    border: none;
}

Однако все еще есть пробелы, окружающие iframe. Я тестировал его как в Chrome, так и в Firefox, и он тоже. Я искал вокруг, и я ничего не мог найти. Этот пробел также не отображается в консоли Chrome. Кроме того, у меня уже есть следующий CSS:

html, body {
    margin: 0px;
    padding: 0px;
    border: 0px;
    width: 100%;
    height: 100%;
}

JSFiddle: здесь

Ответ 1

Только увидев вашу проблему, проблема заключается в том, что вы используете display:inline-block. Это учитывает пробелы в вашем html. display:inline-block известен тем, что он сложный и имеет изворотливую поддержку браузера.

Вариант 1: Попробуйте удалить пустое место в html иногда может решить проблему.

Вариант 2: Использование другого свойства отображения, такого как display:block, определенно будет сортировать проблему. Пример в реальном времени: http://jsfiddle.net/mM6AB/3/

Ответ 2

Когда вы используете встроенный элемент, пробел может быть от "строки", элемент которого является частью (т.е. пространства ниже базовой линии). Тогда решение должно добавить это к его родительскому элементу.

line-height: 0;

Ответ 3

iframe { display:block; }

iframe является встроенным элементом

Ответ 4

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

html, body {
  border: 0px;
  margin: 0px;
  padding: 0px;
}

цитируется из stackoverflow.com здесь

Ответ 5

У меня была та же проблема, и я исправил ее, плавая элемент фрейма

iframe {

    margin: none;
    padding: none;
    border: none;
    line-height: 0;
    float: left; 
}

Ответ 6

попробуйте использовать div с overflow: hidden;, окружающим <iframe>, например

<div style="height: 29px; overflow: hidden;">
   <iframe frameborder=0 allowtransparency=yes scrolling=no src="../hng_frames/copyright_part.html" width="980" height="30">
      <p>Your browser does not support iframes.</p>
   </iframe>
</div>

Ответ 7

Попробуйте html, body {margin:0px;}

Ответ 8

Бит трудно решить без вашего содержимого html, но попробуйте:

iframe {
    margin: 0px !important;
    padding: 0px !important;
    background: blue; /* this is just to make the frames easier to see */
    border: 0px !important;
}

html, body {
    margin: 0px !important;
    padding: 0px !important;
    border: 0px !important;
    width: 100%;
    height: 100%;
}

Добавление !important приведет к стилю, потому что я предполагаю, что ваши стили переписывают друг друга.