Jump to content

Смена места элементов. Управление DOM


npofopr
 Share

Recommended Posts

Я тут про адаптивный дизайн...

Как вы делаете такую штуку:

есть элемент .block-item, на 1024 он расположен внутри .header, а при 768px, этот блок переходит в .footer, ну т.е. в совсем другое место.

 

Думаю не редко такое видели, в макетах.

Вот и хочется услышать, как такое делается? 

Понятно конечно, что самое просто это дублировать :-) Т.е. делать 2 элемента, и там и там, и менять у них display: block на none и обратно, но это же не кошерно.

 

Может скрипты какие то есть, для таких манипуляций? А может у jquery есть что то встроенное, решающее этот вопрос двумя строчками? :-)

Нашел вот такую штуку intentionjs, но на сколько я понял, там то же самое дублирование. Хотя может я не просек фишку.

Link to comment
Share on other sites

хз, все же если элементы не очень большие, то мне кажется проще продублировать (кнопка и т/п),

если большие, то да - это по стилю бомжа)

А что тогда мешает определить разрешение и вставить элемент в нужное место?)

Или их больше одного и хочется более гибкого решения?

Link to comment
Share on other sites

А что тогда мешает определить разрешение и вставить элемент в нужное место?)
Ничего не мешает, я и спрашиваю, как это делается. И их не больше одного. Но это счетчик.

 

Пример... Нарисуйте в уме обычный макет. Где в header есть например баннер, при ресайзе окна на 768px, этот баннер должен появиться в footer, т.е. переместиться :-) У меня немного проще, но смысл тот же самый.

 

это по стилю бомжа)
А это что такое?
Link to comment
Share on other sites

Ну явно такое на css чистом не сделать. Можно написать свой простенький скрипт - делов на 5 минут.

на CSS можно, но только вроде если весь родительский блок перемещать

Link to comment
Share on other sites

А как он их местами в css поменяет?
Разве что absolut относительно страницы - один вверху, другой снизу - и отступы для других элементов задать, чтобы они отодвинулись от краев страницы. Кстати это способ...

Edited by Zverushka
Link to comment
Share on other sites

Пример... Нарисуйте в уме обычный макет. Где в header есть например баннер, при ресайзе окна на 768px, этот баннер должен появиться в footer, т.е. переместиться :-) У меня немного проще, но смысл тот же самый.

Тогда media-queries + абсолютное позиционирование. Будут еще какие подробности?

Link to comment
Share on other sites

А как он их местами в css поменяет?

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

есть такая штука под названием flexbox, но в случае ТС не прокатит.

если он только как-то структуру переопределит, чтобы .block-item, не зависил от .header ну и отказаться от ie9 или даже ie10 (но этот способ ИМХО не для такой мелочи)

—-

короче самый верняк будет накатать пару строчек, чтобы в зависимости  от разрешения блок перещался/вставлялся

Edited by decode
Link to comment
Share on other sites

Тогда media-queries + абсолютное позиционирование. Будут еще какие подробности?
Вы шутите что ли? Когда вы в последний раз верстали абсолютами?

 

В общем то вывод один, только скриптами, только я думал, может есть какие то готовые решения.  

  • Like 1
Link to comment
Share on other sites

Вы шутите что ли? Когда вы в последний раз верстали абсолютами?
 

Ну-ну! Постоянно подвал абсолютом вниз загоняют. Можно сделать по принципу подвала, но и для хедера тоже - и менять их местами просто.

Link to comment
Share on other sites

 

Вы шутите что ли? Когда вы в последний раз верстали абсолютами?
 

Ну-ну! Постоянно подвал абсолютом вниз загоняют. Можно сделать по принципу подвала, но и для хедера тоже - и менять их местами просто.

 

подвал вниз таким способом загоняли года 3 назад и то, это уже казалось как минимум херовенько  :)

Edited by decode
Link to comment
Share on other sites

 

Вы шутите что ли? Когда вы в последний раз верстали абсолютами?
 

Ну-ну! Постоянно подвал абсолютом вниз загоняют. Можно сделать по принципу подвала, но и для хедера тоже - и менять их местами просто.

 

Ужас :-) 

 

Про хедер и футер я писал, для примера, в моей ситуации элементы просто в одной обертке. 

Link to comment
Share on other sites

Тогда media-queries + абсолютное позиционирование. Будут еще какие подробности?

Вы шутите что ли? Когда вы в последний раз верстали абсолютами?

 

В общем то вывод один, только скриптами, только я думал, может есть какие то готовые решения.

Просил примеры. Вы не предоставили.

Объяснил один из вариантов решения проблемы. Вы меня осудили.

Больше попыток помочь с моей стороны не ждите.

Link to comment
Share on other sites

подвал вниз таким способом загоняли года 3 назад и то, это уже казалось как минимум херовенько

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

Edited by Zverushka
Link to comment
Share on other sites

 

подвал вниз таким способом загоняли года 3 назад и то, это уже казалось как минимум херовенько

Хм, интересно, а можно тогда ссылку на современный способ загоняния подвала? 

 

flexbox (если по очень современному :))

Edited by decode
Link to comment
Share on other sites

 

 

Тогда media-queries + абсолютное позиционирование. Будут еще какие подробности?

Вы шутите что ли? Когда вы в последний раз верстали абсолютами?

 

В общем то вывод один, только скриптами, только я думал, может есть какие то готовые решения.

 

Просил примеры. Вы не предоставили.

Объяснил один из вариантов решения проблемы. Вы меня осудили.

Больше попыток помочь с моей стороны не ждите.

 

Ну не маленькие же дети... Не за чем обижаться :-) Но это и правда не серьезно. Может быть для каких то макетов и можно так сделать.

Но с адаптивной версткой, как то редко, даже никогда такого не встречал.

А насколько он кроссбраузерный? Какие версии ie поддерживаются?

http://ryanfait.com/sticky-footer/

http://www.webmolot.com/recipe/footer/

у бутстрапа есть реализация. 

Пример моего макета.

На 1024 выглядит так

block-1024.jpg

 

На 768:

block-768.jpg

Может конечно я туплю и это можно через медиа-запросы состыковать всё

Edited by npofopr
Link to comment
Share on other sites

http://ryanfait.com/sticky-footer/ http://www.webmolot.com/recipe/footer/ у бутстрапа есть реализация. 

Хм, вообще там не флексов, но реализация сама по себе простейшая и понятная. непонятно тогда к чему и кто пляски с абсолютами придумал. 

Link to comment
Share on other sites

 

http://ryanfait.com/sticky-footer/ http://www.webmolot.com/recipe/footer/ у бутстрапа есть реализация. 

Хм, вообще там не флексов, но реализация сама по себе простейшая и понятная. непонятно тогда к чему и кто пляски с абсолютами придумал. 

 

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

Link to comment
Share on other sites

 

http://ryanfait.com/sticky-footer/ http://www.webmolot.com/recipe/footer/ у бутстрапа есть реализация. 

Хм, вообще там не флексов, но реализация сама по себе простейшая и понятная. непонятно тогда к чему и кто пляски с абсолютами придумал. 

 

Ну да, а флексы пока не стоит использовать. Рановато еще. 

Не для всех проектов. А вообще можете посмотреть презентацию, если не видели

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By Алеся
      Ребята, без вас никуда!
      Подскажите, пожалуйста, первый раз адаптирую и стилизую слайдер splide.
      Сам он работает, но как его стилизовать? В dev tools стилизация тех же стрелок отражается, но когда вношу их в css - не работает. Почему так? Как, например, тогда опустить ниже стрелки? Где устанавливать брейкпоинты и задавать им свойства?
       
      На сайте splide такая инфа по адаптиву. https://splidejs.com/guides/options/#breakpoints
       
      Вот типа того что-то пробую...
      https://jsfiddle.net/aqmuyhwd/
       
              
       
    • By Super_Saimo
      Добрый день! Столкнулся с проблемой отображения информации из localStorage после перезагрузки страниц. Делаю to do list, добавление тасков, удаление проходит нормально, добавляются элементы в localStorage, но после перезагрузки список тасков пуст на странице.  Сам код https://jsfiddle.net/zdbmsjv2/ Извиняюсь за чрезмерное количество комментариев. Писал для себя, чтобы не забыть потом. 
    • By Super_Saimo
      Добрый день! Помогите разобраться с работой метода closest(). В приведенном примере https://jsfiddle.net/ymnjo3tc/   , я делаю все "по инструкции":  беру дочерний элемент и проверяю  наличие у него родительского при помощи данного метода. Но в ответ всегда ловлю один и тот-же Exception. Какие бы я не пробовал проверять элементы. В чем может быть проблема? Где я допускаю ошибку? Да и вообще, применим ли этот метод на практике? И в каких ситуациях? 
    • By Libiros
      Решил использовать .webp для изображений на сайте, а также оптимизировать его через рекомендации google audits.
      Таким образом получилось следующее:
      <img src="image.webp" srcset="image-480.webp 480w, image-768.webp 768w, image-1024.webp 1024w" alt="alt" titile="title"/> Так как webp не поддерживается некоторыми браузерами, было решено использовать решение WebPJS.
      Теперь есть следующая проблема: решение заменяет атрибут src, но не трогает srcset. То есть изображения остаются неизменными и не отображаются.
      Есть следующая идея, но я, полагаю, это будет очень затратно в плане ресурсов, а также неизвестно, как это будет влиять на SEO (может, спасут теги <nofollow>?).
      Распарсить атрибут srcset Создать столько img-элементов, сколько указано изображений в атрибуте Зацепить у каждого измененный атрибут src Составить новый атрибут srcset и заменить его на первом img Остальные img будут помещены под тег nofollow с классом display:none; Пока описывал решение, подумал, что, возможно, это плохое решение в том плане, что тогда у меня возрастет количество запросов на сервер как раз на количество новосозданных img-элементов. Но не уверен, так ли это.
    • By VeraVostro
      Помогите, пожалуйста, очень нужен взгляд со стороны.

      Проблема следующая - страница нормально отображается в десктопной версии, при ресайзе окна - тоже все ок. Но в режиме эмуляции моб. устройств ширина экрана больше чем ширина содержимого страницы. При этом проблема только в chrome firefox отображает нормально в любом режиме.

      Ниже скрин (режим моб. устройств).
      Код можно посмотреть здесь.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy