partyzanx
@partyzanx

Как сделать, чтобы ребёнок с помощью функции .offset() равнялся по левому краю экрана?

В общем, задача такая.
У родителя position relative
У ребёнка position absolute

Необходимо, чтобы span.b игнорировал position:relative родителя без удаления этого свойства, и имел свойства width: 100vw или 100%, и равнялся по левому краю body

С помощью css такой херни не сделаешь и position fixed не подходит для задачи.



Как я понимаю, можно сделать с помощью js, с помощью свойства .offset() вычисляем расстояние ребёнка до левого края экрана,
ширину элемента, ширину родителя, ширину окна, всё это приводим к формуле, получаем в пикселях длину, на которую нужно в css ребёнка указать {left: -px} сдвинуть данный элемент. Таких элементов будет несколько , у них будет разная ширина, поэтому формула должна быть универсальная для нескольких элементов с одинаковым классом и для разной ширины как родителя, и так и ребёнка,

ну или подрубать js к элементу, который .родитель:hover .ребёнок

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

hsk.wiki

5c578c3666041367068713.png
  • Вопрос задан
  • 118 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы