【问题标题】:Change the width of the JQM panels更改 JQM 面板的宽度
【发布时间】:2013-07-03 12:51:25
【问题描述】:

我想弄清楚如何更改 JQM 面板动画的宽度。我可以更改面板中内容的宽度,但动画仍然以我不知道如何更改的预定义宽度打开。

这是我尝试过的,它改变了内容。

.ui-panel {
    width: 150px;
}

我查看了 JQM 文档,但没有找到解决方案。希望得到帮助:-)

编辑

好吧,实际上,我找到了这个脚本,但是......只有当我将所有@left-panel-width 更改为实际宽度为 150 像素时?为什么@left-panel-width 不起作用?

@left-panel-width: 100px;
@right-panel-width: 100px;

.ui-panel {
    width: @left-panel-width;
}

.ui-panel.ui-panel-position-right {
    width: @right-panel-width;
}

.ui-panel.ui-panel-closed {
    width: 0;
}

.ui-panel-position-left {
    left: -@left-panel-width;
}

.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay, .ui-panel-animate.ui-panel-position-left.ui-panel-display-push {
    -webkit-transform: translate3d(-@left-panel-width, 0, 0);
    -moz-transform: translate3d(-@left-panel-width, 0, 0);
    transform: translate3d(-@left-panel-width, 0, 0)
}

.ui-panel-position-right {
    right: -@right-panel-width
}

.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay, .ui-panel-animate.ui-panel-position-right.ui-panel-display-push {
    -webkit-transform: translate3d(@right-panel-width, 0, 0);
    -moz-transform: translate3d(@right-panel-width, 0, 0);
    transform: translate3d(@right-panel-width, 0, 0)
}

.ui-panel-content-fixed-toolbar-position-left.ui-panel-content-fixed-toolbar-open, .ui-panel-content-wrap-position-left.ui-panel-content-wrap-open, .ui-panel-dismiss-position-left.ui-panel-dismiss-open {
    left: @left-panel-width;
    right: -@right-panel-width
}

.ui-panel-animate.ui-panel-content-fixed-toolbar-position-left.ui-panel-content-fixed-toolbar-open.ui-panel-content-fixed-toolbar-display-reveal, .ui-panel-animate.ui-panel-content-fixed-toolbar-position-left.ui-panel-content-fixed-toolbar-open.ui-panel-content-fixed-toolbar-display-push, .ui-panel-animate.ui-panel-content-wrap-position-left.ui-panel-content-wrap-open.ui-panel-content-wrap-display-reveal, .ui-panel-animate.ui-panel-content-wrap-position-left.ui-panel-content-wrap-open.ui-panel-content-wrap-display-push {
    -webkit-transform: translate3d(@left-panel-width, 0, 0);
    -moz-transform: translate3d(@left-panel-width, 0, 0);
    transform: translate3d(@left-panel-width, 0, 0)
}

.ui-panel-content-fixed-toolbar-position-right.ui-panel-content-fixed-toolbar-open, .ui-panel-content-wrap-position-right.ui-panel-content-wrap-open, .ui-panel-dismiss-position-right.ui-panel-dismiss-open {
    left: -@left-panel-width;
    right: @right-panel-width
}

.ui-panel-animate.ui-panel-content-fixed-toolbar-position-right.ui-panel-content-fixed-toolbar-open.ui-panel-content-fixed-toolbar-display-reveal, .ui-panel-animate.ui-panel-content-fixed-toolbar-position-right.ui-panel-content-fixed-toolbar-open.ui-panel-content-fixed-toolbar-display-push, .ui-panel-animate.ui-panel-content-wrap-position-right.ui-panel-content-wrap-open.ui-panel-content-wrap-display-reveal, .ui-panel-animate.ui-panel-content-wrap-position-right.ui-panel-content-wrap-open.ui-panel-content-wrap-display-push {
    -webkit-transform: translate3d(-@right-panel-width, 0, 0);
    -moz-transform: translate3d(-@right-panel-width, 0, 0);
    transform: translate3d(-@right-panel-width, 0, 0)
}

@media (min-width:55em) {
    .ui-responsive-panel.ui-page-panel-open .ui-panel-content-fixed-toolbar-display-push.ui-panel-content-fixed-toolbar-position-left, .ui-responsive-panel.ui-page-panel-open .ui-panel-content-fixed-toolbar-display-reveal.ui-panel-content-fixed-toolbar-position-left, .ui-responsive-panel.ui-page-panel-open .ui-panel-content-wrap-display-push.ui-panel-content-wrap-position-left, .ui-responsive-panel.ui-page-panel-open .ui-panel-content-wrap-display-reveal.ui-panel-content-wrap-position-left {
        margin-right: @right-panel-width
    }

    .ui-responsive-panel.ui-page-panel-open .ui-panel-content-fixed-toolbar-display-push.ui-panel-content-fixed-toolbar-position-right, .ui-responsive-panel.ui-page-panel-open .ui-panel-content-fixed-toolbar-display-reveal.ui-panel-content-fixed-toolbar-position-right, .ui-responsive-panel.ui-page-panel-open .ui-panel-content-wrap-display-push.ui-panel-content-wrap-position-right, .ui-responsive-panel.ui-page-panel-open .ui-panel-content-wrap-display-reveal.ui-panel-content-wrap-position-right {
        margin-left: @left-panel-width
    }
}

提前致谢 ;-)

【问题讨论】:

    标签: jquery-mobile panel


    【解决方案1】:

    工作示例:http://jsfiddle.net/Gajotres/7GvX4/

    在使用 jQuery Mobile 时,如果你想覆盖原来的 CSS,你必须使用 !important。还因为 jsFiddle 不支持 CSS 变量,所以一切都是硬编码的。

    CSS:

    .ui-panel {
        width: 50px !important;
    }
    
    .ui-panel.ui-panel-position-right {
        width:  50px !important;
    }
    
    .ui-panel.ui-panel-closed {
        width: 0;
    }
    
    .ui-panel-position-left {
        left: 50px !important;
    }
    
    .ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay, .ui-panel-animate.ui-panel-position-left.ui-panel-display-push {
        -webkit-transform: translate3d(50px, 0, 0) !important;
        -moz-transform: translate3d(50px, 0, 0) !important;
        transform: translate3d(50px, 0, 0) !important;
    }
    
    .ui-panel-position-right {
        right: 50px !important;
    }
    
    .ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay, .ui-panel-animate.ui-panel-position-right.ui-panel-display-push {
        -webkit-transform: translate3d(50px, 0, 0) !important;
        -moz-transform: translate3d(50px, 0, 0) !important;
        transform: translate3d(50px, 0, 0) !important;
    }
    
    .ui-panel-content-fixed-toolbar-position-left.ui-panel-content-fixed-toolbar-open, .ui-panel-content-wrap-position-left.ui-panel-content-wrap-open, .ui-panel-dismiss-position-left.ui-panel-dismiss-open {
        left: 50px !important;
        right: 50px !important;
    }
    
    .ui-panel-animate.ui-panel-content-fixed-toolbar-position-left.ui-panel-content-fixed-toolbar-open.ui-panel-content-fixed-toolbar-display-reveal, .ui-panel-animate.ui-panel-content-fixed-toolbar-position-left.ui-panel-content-fixed-toolbar-open.ui-panel-content-fixed-toolbar-display-push, .ui-panel-animate.ui-panel-content-wrap-position-left.ui-panel-content-wrap-open.ui-panel-content-wrap-display-reveal, .ui-panel-animate.ui-panel-content-wrap-position-left.ui-panel-content-wrap-open.ui-panel-content-wrap-display-push {
        -webkit-transform: translate3d(50px, 0, 0) !important;
        -moz-transform: translate3d(50px, 0, 0) !important;
        transform: translate3d(50px, 0, 0) !important;
    }
    
    .ui-panel-content-fixed-toolbar-position-right.ui-panel-content-fixed-toolbar-open, .ui-panel-content-wrap-position-right.ui-panel-content-wrap-open, .ui-panel-dismiss-position-right.ui-panel-dismiss-open {
        left: 50px !important;
        right: 50px !important;
    }
    
    .ui-panel-animate.ui-panel-content-fixed-toolbar-position-right.ui-panel-content-fixed-toolbar-open.ui-panel-content-fixed-toolbar-display-reveal, .ui-panel-animate.ui-panel-content-fixed-toolbar-position-right.ui-panel-content-fixed-toolbar-open.ui-panel-content-fixed-toolbar-display-push, .ui-panel-animate.ui-panel-content-wrap-position-right.ui-panel-content-wrap-open.ui-panel-content-wrap-display-reveal, .ui-panel-animate.ui-panel-content-wrap-position-right.ui-panel-content-wrap-open.ui-panel-content-wrap-display-push {
        -webkit-transform: translate3d(50px, 0, 0) !important;
        -moz-transform: translate3d(50px, 0, 0) !important;
        transform: translate3d(50px, 0, 0) !important;
    }
    
    @media (min-width:55em) {
        .ui-responsive-panel.ui-page-panel-open .ui-panel-content-fixed-toolbar-display-push.ui-panel-content-fixed-toolbar-position-left, .ui-responsive-panel.ui-page-panel-open .ui-panel-content-fixed-toolbar-display-reveal.ui-panel-content-fixed-toolbar-position-left, .ui-responsive-panel.ui-page-panel-open .ui-panel-content-wrap-display-push.ui-panel-content-wrap-position-left, .ui-responsive-panel.ui-page-panel-open .ui-panel-content-wrap-display-reveal.ui-panel-content-wrap-position-left {
            margin-right: 50px !important;
        }
    
        .ui-responsive-panel.ui-page-panel-open .ui-panel-content-fixed-toolbar-display-push.ui-panel-content-fixed-toolbar-position-right, .ui-responsive-panel.ui-page-panel-open .ui-panel-content-fixed-toolbar-display-reveal.ui-panel-content-fixed-toolbar-position-right, .ui-responsive-panel.ui-page-panel-open .ui-panel-content-wrap-display-push.ui-panel-content-wrap-position-right, .ui-responsive-panel.ui-page-panel-open .ui-panel-content-wrap-display-reveal.ui-panel-content-wrap-position-right {
            margin-left: 50px !important;
        }
    }
    

    【讨论】:

    • 谢谢,但我仍然无法让 css 变量工作......但没关系。那我就硬编码吧!
    • 我很乐意提供帮助,记得使用 !important。
    • 动画和关闭 JQM 1.4.5 中断的功能:(
    【解决方案2】:

    查看此页面http://demos.jquerymobile.com/1.3.0/docs/examples/panels/panel-styling.html#demo-page——查看源代码...上面写着“

    面板样式

        <p>In this demo we show you how to:</p>
    
        <ul>
            <li>Change the width of a panel.</li>
            <li>Create a panel navmenu with listviews and collapsibles.</li>
            <li>Change the shadow of a reveal menu so it is on top of the list items.</li>
            <li>Set a background image for a page that contains a panel.</li>
            <li>Give the page a responsive layout with CSS columns.</li>
        </ul>
    

    页面源代码顶部有具体说明。他们为我工作。

    【讨论】:

      猜你喜欢
      • 2012-01-11
      • 2014-04-23
      • 1970-01-01
      • 2022-10-19
      • 2012-10-11
      • 1970-01-01
      • 2013-09-23
      • 2013-04-30
      • 2013-04-22
      相关资源
      最近更新 更多