te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>javascript - Bootstrap offcanvas sidebar toggling for any canvas size - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Bootstrap offcanvas sidebar toggling for any canvas size - Stack Overflow

programmeradmin2浏览0评论

Could you please explain how offcanvas sidebar toggling works?

I can't make the actual sidebar disappear for sm. I can make the button visible (visible-sm), but toggling doesn't work - the sidebar is always visible.

Toggling works for xs size, that's fine, but I want to make it work for sm the same way, or any other size for that matter.


Partial answer: Changing max-width in offcanvas.css makes toggling work for bigger sizes as well, sm in this case:

@media screen and (max-width: 991px) {
  /* 991px instead of 767px makes toggling work for sm as well */

  .row-offcanvas {
    /* ... */
  }

  /* and so on */
}

But there's still a problem - when canvas width is between 780 and 991px, the sidebar is visible even if it's toggled off. Any idea how to fix this?

Thanks a lot

Could you please explain how offcanvas sidebar toggling works?

I can't make the actual sidebar disappear for sm. I can make the button visible (visible-sm), but toggling doesn't work - the sidebar is always visible.

Toggling works for xs size, that's fine, but I want to make it work for sm the same way, or any other size for that matter.


Partial answer: Changing max-width in offcanvas.css makes toggling work for bigger sizes as well, sm in this case:

@media screen and (max-width: 991px) {
  /* 991px instead of 767px makes toggling work for sm as well */

  .row-offcanvas {
    /* ... */
  }

  /* and so on */
}

But there's still a problem - when canvas width is between 780 and 991px, the sidebar is visible even if it's toggled off. Any idea how to fix this?

Thanks a lot

Share Improve this question edited Apr 11, 2014 at 9:15 ducu asked Apr 10, 2014 at 19:40 ducuducu 1,2192 gold badges13 silver badges14 bronze badges 2
  • Where is the relevant code...? what are we supposed to do with the image..? O.o – T J Commented Apr 10, 2014 at 19:43
  • Here's the code getbootstrap./examples/offcanvas – ducu Commented Apr 10, 2014 at 21:00
Add a ment  | 

1 Answer 1

Reset to default 12

How does the Bootstrap off canvas example works?

The Bootstrap offcanvas example uses the grid system. For xs screens, the content spans 12 columns (full screen width) and sidebar spans 6 columns (1/2 screen width).

Normally the sidebar would be pushed under the content. However in offcanvas.css there is a rule that uses absolute positioning to place it on the right top, outside the screen.

When you press 'Toggle nav', it moves the .row half the screen width (50%) to the left, revealing the sidebar.


Why is the sidebar shown for screen widths between 768px and 992px?

Your problem is caused by the .container placed around the .row. A container has a fixed width for viewports above 768px. You can solve this by using width: auto for small screens.

@media (max-width: 991px) {
    .container-smooth-sm {
        width: auto;
        max-width: none;
    }
}

A more advanced off canvas plugin

For my projects, this approach proved to limited. Therefor I've created the offcanvas plugin and navmenu ponent. The plugin can also be used to show the navbar as offcanvas menu for small screens.

Here are some examples using the Jasny Bootstrap offcanvas plugin

  • Slide in effect
  • Push effect
  • Reveal effect
  • Offcanvas navbar
发布评论

评论列表(0)

  1. 暂无评论