Jquery Mobile 自定义按钮图标

前端技术 2023/09/06 JavaScript

很多朋友都反应jquery mobile自带的图标真的是少之又少,另外我也觉得图标偏小(系统自带的是18*18的),于是琢磨着如何自定义按钮图标,下面小编把我的方法分享给大家。

刚接触Jquery Mobile框架,遇到个很现实问题,就是如何自定义按钮图标,我觉得jquery mobile 自带的图标实在是太少了,另外我觉得图标也偏小(系统自带的应该是18*18的)下面是我的方法,希望大家踊跃拍砖。

1、第一种方法是比较简单的,但是有前提,前提就是你自定义的图标大小应该和系统内置的保持一致,这样排版上才不会出问题,具体方法如下:

首先定义css文件

.ui-icon-email{
  background:url(\'./images/email.png\') no-repeat 0px 0px;
}
data-icon=\"email\"

就可以了。

2、第二种方法,这种方法适合自定义图标大小和系统不一致的情况,闲话不说了,先上效果图,

3、代码如下:

【css代码】

/** 图标大小 **/
.user-ui-btn .ui-icon{
 width:36px;
 height:36px;
}
/** 设置字体大小,由于图标变大,所以文字适当的调大一些 **/
.user-ui-btn .ui-btn-text{
 line-height:36px;
 font-size:20px;
}
/** 无文字按钮 **/
.user-ui-btn .ui-btn-icon-notext{
 width:42px;
 height:42px;
 webkit-border-radius: 2em;
 border-radius: 2em;
}
/** 图标左边 **/
.user-ui-btn .ui-btn-icon-left .ui-btn-inner {
 padding-left: 50px;
}
.user-ui-btn .ui-btn-icon-left .ui-icon{
 left:10px;
 margin-top: -18px;
}
/** 图标在右边 **/
.user-ui-btn .ui-btn-icon-right .ui-btn-inner {
 padding-right: 50px;
}
.user-ui-btn .ui-btn-icon-right .ui-icon{
 right:10px;
 margin-top: -18px;
}
/** 图标在上边 **/
.user-ui-btn .ui-btn-icon-top .ui-btn-inner {
 padding-top: 50px;
}
.user-ui-btn .ui-btn-icon-top .ui-icon{
 top:10px;
 margin-left: -18px;
}
/** 图标在下边 **/
.user-ui-btn .ui-btn-icon-bottom .ui-btn-inner {
 padding-bottom: 50px;
}
.user-ui-btn .ui-btn-icon-bottom .ui-icon{
 bottom:10px;
 margin-left: -18px;
}
/** 定义自己的图标 **/
.user-ui-btn .ui-icon-demo1{
 background:url(\'./images/gentleface_full.png\') no-repeat -108px 0px;
}
.user-ui-btn .ui-icon-demo2{
 background:url(\'./images/gentleface_full.png\') no-repeat -180px -180px;
}
.user-ui-btn .ui-icon-demo3{
 background:url(\'./images/gentleface_full.png\') no-repeat -252px -360px;
}
.user-ui-btn .ui-icon-demo4{
 background:url(\'./images/gentleface_full.png\') no-repeat -36px -180px;
}
.user-ui-btn .ui-icon-demo5{
 background:url(\'./images/gentleface_full.png\') no-repeat -504px -612px;
}
<!doctype html>
<html>
<head>
 <meta charset=\"utf-8\" />
 <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">
 <link rel=\"stylesheet\" type=\"text/css\" href=\"js/jquery.mobile-1.3.2.css\" />
 <script src=\"js/jquery.js\"></script>
 <script src=\"js/jquery.mobile-1.3.2.js\"></script>
 <link rel=\"stylesheet\" type=\"text/css\" href=\"js/demo.mobile-1.0.css\" />
</head>
<body>
<div data-role=\"page\" id=\"page\">
 <div data-role=\"header\">
  <h1>Jquery Mobile自定义按钮</h1>
 </div>
 <div data-role=\"content\">
  <h2>原版样式举例</h2>
  <div>
 <a href=\"#\" data-role=\"button\" data-icon=\"home\" data-inline=\"true\" data-iconpos=\"left\">DEMO</a>
 <a href=\"#\" data-role=\"button\" data-icon=\"home\" data-inline=\"true\" data-iconpos=\"top\">DEMO</a>
 <a href=\"#\" data-role=\"button\" data-icon=\"home\" data-inline=\"true\" data-iconpos=\"right\">DEMO</a>
 <a href=\"#\" data-role=\"button\" data-icon=\"home\" data-inline=\"true\" data-iconpos=\"bottom\">DEMO</a>
 <a href=\"#\" data-role=\"button\" data-icon=\"home\" data-inline=\"true\" data-iconpos=\"notext\">DEMO</a>
 </div>
 <h2>自定义样式举例</h2>
 <h3>1)普通按钮</h3>
 <div class=\"user-ui-btn\">
 <a class=\"user-ui-btn\" href=\"#\" data-role=\"button\" data-icon=\"demo1\" data-inline=\"true\" data-iconpos=\"left\">DEMO</a>
 <a class=\"user-ui-btn\" href=\"#\" data-role=\"button\" data-icon=\"demo2\" data-inline=\"true\" data-iconpos=\"top\">DEMO</a>
 <a class=\"user-ui-btn\" href=\"#\" data-role=\"button\" data-icon=\"demo3\" data-inline=\"true\" data-iconpos=\"right\">DEMO</a>
 <a class=\"user-ui-btn\" href=\"#\" data-role=\"button\" data-icon=\"demo4\" data-inline=\"true\" data-iconpos=\"bottom\">DEMO</a>
 <a class=\"user-ui-btn\" href=\"#\" data-role=\"button\" data-icon=\"demo5\" data-inline=\"true\" data-iconpos=\"notext\">DEMO</a>
 </div>
 <h3>2)按钮组</h3>
 <div class=\"user-ui-btn\" data-role=\"controlgroup\" data-type=\"horizontal\">
   <a data-role=\"button\" data-icon=\"demo1\" data-iconpos=\"top\">js</a>
   <a data-role=\"button\" data-icon=\"demo2\" data-iconpos=\"top\">css</a>
   <a data-role=\"button\" data-icon=\"demo3\" data-iconpos=\"top\">html</a>
   <a data-role=\"button\" data-icon=\"demo4\" data-iconpos=\"top\">ps</a>
  </div>
 <div class=\"user-ui-btn\" data-role=\"controlgroup\">
   <a data-role=\"button\" data-icon=\"demo1\" data-iconpos=\"top\">js</a>
   <a data-role=\"button\" data-icon=\"demo2\" data-iconpos=\"top\">css</a>
   <a data-role=\"button\" data-icon=\"demo3\" data-iconpos=\"top\">html</a>
   <a data-role=\"button\" data-icon=\"demo4\" data-iconpos=\"top\">ps</a>
  </div>
 <h3>3)原始icon</h3>
 <img src=\"./js/images/gentleface_full.png\" alt=\"原始icon\" border=0 width=612 height=648>
 </div>
 <div data-role=\"footer\">
  <h4>Copyright by lining</h4>
 </div>
</div>
</body>
</html>

以上内容就是本文给大家讲解的关于Jquery Mobile 自定义按钮图标的实现方法,希望大家喜欢。

本文地址:https://www.stayed.cn/item/14757

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。