侧栏位于较小屏幕的底部

时间:2018-02-20 06:13:35

标签: css wordpress wordpress-theming

我正在使用Shopisle主题。我在商店页面的左侧显示了产品类别下拉过滤器小部件。但是在较小的屏幕上,它会自动在页面底部移动。如何在较小的屏幕上显示在顶部?

1 个答案:

答案 0 :(得分:1)

可以在窗口调整大小事件上使用一些javascript来完成。侧边栏实际上位于HTML标记的右侧(或者更具体地说,它位于下方)。它出现在左侧,因为css的主要部分向右浮动。

在调整大小时,css删除了宽度为767px的浮动。所以侧栏落到了底部。

使用jQuery的insertBefore(http://api.jquery.com/insertbefore/)以及insertAfter,可以切换html标记。

注意:此示例移动整个侧边栏。如果有必要,可以稍微修改一下以移动一个小部件。这表明了一般过程。

**顺便说一下,这个脚本应放在子主题的.js文件中。如果.js文件尚未到位,请尝试将其添加到<script>...</script>标记内的页脚模板文件(最好是子主题)中。

var sidebar_at_top = false;
function formatdisplay(){
  if(jQuery( window ).width() < 768){
    if(!sidebar_at_top){
        console.log('moving sidebar to before main area');
            jQuery('.sidebar-shop').insertBefore(jQuery('.shop-with-sidebar'));
        sidebar_at_top = true;
    }
  }else{
    if(sidebar_at_top){
        console.log('moving sidebar to after main area');
            jQuery('.sidebar-shop').insertAfter(jQuery('.shop-with-sidebar'));
        sidebar_at_top = false;
    }
  }
}
jQuery( window ).resize(function() {
    formatdisplay();
});
jQuery( document ).ready(function() {
    formatdisplay();
});