IntersectionObserver не перехватывает элементы с отображаемым содержимымCSS

Разбираемся в CSS
Ответить Пред. темаСлед. тема
Anonymous
 IntersectionObserver не перехватывает элементы с отображаемым содержимым

Сообщение Anonymous »

Похоже, что IntersectionObserver никогда не учитывает элементы с display:content в области просмотра.
Такое поведение имеет смысл для display: none, но я считаю, что это противоречит -интуитивно для отображения: содержимое.
Мне кажется приемлемым вариант использования чистой оболочки, которая извлекает и отображает свое содержимое только на пересечении области просмотра.Пример

Код: Выделить всё

function callback(entries, observer) {
entries.forEach(entry => {
if (entry.isIntersecting) {
document.getElementById('content').style.display = 'block';
document.getElementById('loader').style.display = 'none';
}
});
};

const observer = new IntersectionObserver(callback);

const target = document.getElementById('wrapper');

observer.observe(target);

Код: Выделить всё

#wrapper {
display: contents;
}

#content {
display: none;
}

Код: Выделить всё

Loading...
Shown on viewport intersection


Глядя на документацию Mozilla, я вижу следующее:
Эти элементы сами по себе не создают конкретный блок

Но все же я ожидаю, что IntersectionObserver , чтобы иметь возможность его обнаружить.
Полагаю, это вопрос из двух частей:

[*]Это действительно предполагаемое поведение или нежелательный побочный эффект?
[*]Если это запланированное поведение, каковы правильные варианты использования отображаемого содержимого?

Подробнее здесь: https://stackoverflow.com/questions/727 ... y-contents
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

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

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «CSS»