Перемещение div вниз на экранах мобильных устройств

#css #media

#css #Медиафайлы

Вопрос:

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

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

Некоторые вещи все еще показывались на мобильных устройствах, потому что блоки состоят из 4 разделов, поэтому я поместил весь код в div myblock-hide это работает со скрытием блоков

    $blockId = 'b-' . sha1($caption);
   print("<div class='myBlock-hide'>
      <div class='myBlock'>
        <div class='myBlock-caption'>$caption<a style='float:right; clear:right;' href='#' class='showHide' id='$blockId'></a></div>
        <div class='myBlock-content'>
        <div class='slidingDiv$blockId'>");
            print("</div>");
}
  

Это скрывается на мобильных устройствах. Есть ли способ переместить его в низ?

 @media only screen and (max-width: 430px) {
  .myBlock-hide {
      display: none;
  }
}
  

Возможно, я мог бы подойти к этому по-другому и скрыть части таблицы

   <!-- Start response -->
  <div id='main'>
    <table cellspacing="0" cellpadding="7" width="100%" border="0">
     <tr>
          <!-- START LEFT COLUM -->
          <td valign="top" width="170">
          <?php leftblocks();?>
          </td>
          <!-- END LEFT COLUM -->

          <!-- START MAIN COLUM -->
          <td valign="top">
          <?php function_exists('T_') or die;
            if ($site_config["MIDDLENAV"]){
                middleblocks();
            } // MIDDLENAV ON/OFF END
            ?>
          </td>
          <!-- END MAIN COLUM -->

          <!-- START RIGHT COLUMN -->
          <td valign="top" width="170">
          <?php rightblocks(); ?>
          </td>
          <!-- END RIGHT COLUMN -->
        </tr>
    </table>
  </div>
<!-- End response -->
  

Комментарии:

1. Вы можете попробовать position: absolute; bottom: 0; на .MyBlock-скрыть. Или, если он должен оставаться внизу все время, используйте position: fixed; bottom: 0; вместо

2. Обратите внимание, что используемые вами атрибуты HTML устарели. Вместо этого используйте CSS.

Ответ №1:

Вы можете использовать position: fixed и bottom: 0

также вы можете удалить <div class="myBlock-hide"> ... </div>

Например

 @media only screen and (max-width: 767px) {
  .myBlock {
      position: fixed;
      left: 0;
      bottom: 0;
      z-index: 40; // greater value keep it above all
      width: 100%; // or your desired width
  }
}
  

Комментарии:

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

2. используйте z-index , чтобы вывести их наверх, значение будет основано на других элементах z-index Проверьте мой обновленный ответ

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

4. создайте работоспособный код здесь / jsFiddle / stackbliitz , чтобы воссоздать вашу проблему, и это, несомненно, поможет вам..