4

我需要一个具有自定义宽度和高度的 jQuery Mobile 翻转开关。我设法通过将翻转开关包装在 div 中并应用以下 CSS 来更改它的大小:

   #flipswitchWrapper .ui-flipswitch {
       position:absolute;
       width:400px;
       height:100px;
   }

   #flipswitchWrapper .ui-flipswitch-active {
       padding-left:0px;
   }

   #flipswitchWrapper .ui-flipswitch .ui-flipswitch-on,
   #flipswitchWrapper .ui-flipswitch.ui-flipswitch-active .ui-flipswitch-on{
       width:98px;
       height:98px;
   }

   #flipswitchWrapper .ui-flipswitch.ui-flipswitch-active .ui-flipswitch-on {
       padding-top:0px;
       margin-left:300px;
   }

但是文本的位置不正确。在这里检查jsfiddle:

https://jsfiddle.net/dinkoivanov/8czs4qzn/

我想我可能没有做正确的事情。您能否建议在 jQuery Mobile 中是否可以这样做?

4

1 回答 1

4

如此处所示您可能需要在 CSS 中引入

  • 自定义缩进
  • 自定义宽度

因为自定义标签的长度与标准标签的长度不同

您可以通过更正 CSS 中的缩进来定位文本

#flipswitchWrapper .ui-flipswitch .ui-flipswitch-on,
#flipswitchWrapper .ui-flipswitch.ui-flipswitch-active .ui-flipswitch-on{
    width:98px;
    height:98px;
    text-indent: -20em;
}

#flipswitchWrapper .ui-flipswitch.ui-flipswitch-active .ui-flipswitch-on {
    padding-top:0px;
    margin-left:300px;
    text-indent: -18em;
}

更新:https ://jsfiddle.net/8czs4qzn/1/

将文本放在中间(见下面的评论):

#flipswitchWrapper .ui-flipswitch {
    position:absolute;
    width:400px;
    height:100px;
    line-height: 100px;
}
#flipswitchWrapper .ui-flipswitch-active {
    padding-left:0px;
}
#flipswitchWrapper .ui-flipswitch .ui-flipswitch-on, #flipswitchWrapper .ui-flipswitch.ui-flipswitch-active .ui-flipswitch-on {
    width:98px;
    height:98px;
    text-indent: -20em;
}
#flipswitchWrapper .ui-flipswitch.ui-flipswitch-active .ui-flipswitch-on {
    padding-top:0px;
    margin-left:300px;
    text-indent: -18em;
    line-height: inherit;
}

#flipswitchWrapper .ui-flipswitch-off {
    line-height: inherit;
}

标签垂直对齐:https ://jsfiddle.net/8czs4qzn/3/

于 2015-03-15T12:28:01.150 回答