我有点像JQuery Mobile Noob,我一直在努力寻找答案,但无济于事。我创建了一个带有五个自定义数据图标的ui-navbar。问题是,当我选择五个链接中的一个时,所选链接左侧的按钮将显示所选图标。此外,ul-listview元素上的右箭头也应该采用所选的图标,尽管很难看到。不得不使用Firebug扩展它以查看是否是所选的数据图标。
以下是我在页脚中使用导航栏的代码:
<div data-role="footer">
<div data-role="navbar" class="nav" data-grid="d">
<ul>
<li><a href="#programas" id="programas" data-icon="custom">Programas</a></li>
<li><a href="#noticias" id="noticias" data-icon="custom">Noticias</a></li>
<li><a href="#radio" id="radio" data-icon="custom">Radio</a></li>
<li><a href="#eventos" id="eventos" data-icon="custom">Eventos</a></li>
<li><a href="#more" id="more" data-icon="custom">More</a></li>
</ul>
</div>
</div>
和一些CSS:
.nav .ui-btn .ui-btn-inner {
padding-top: 40px !important;
}
.nav .ui-btn .ui-icon {
width: 45px!important;
height: 35px!important;
margin-left: -24px !important;
box-shadow: none!important;
-moz-box-shadow: none!important;
-webkit-box-shadow: none!important;
-webkit-border-radius: none !important;
border-radius: none !important;
}
#programas .ui-icon {
background-image: url(images/nav.png);
background-position: 0 0;
background-repeat: no-repeat;
}
知道为什么会这样吗?它必须是我想的风格。
答案 0 :(得分:1)
请勿使用名称 ui-icon ,而是使用 ui-icon-something ,另请参阅有关custom icons的文档
自定义图标
要使用自定义图标,请指定具有唯一名称的数据图标值 像myapp-email和按钮插件将生成一个类 将ui-icon-添加到数据图标值前面并将其应用于按钮: UI图标-MyApp的电子邮件。
然后,您可以在样式表中编写一个CSS规则来定位 ui-icon-myapp-email类用于指定图标背景源。至 与其余图标保持视觉一致性,创建白色 图标18x18像素保存为具有Alpha透明度的PNG-8。
在这个例子中,我们只是指向一个独立的图标图像,但是 您可以轻松使用图标精灵并指定 相反,定位,就像我们在中使用的图标精灵 框架。
.ui-icon-myapp-email { background-image: url("app-icon-email.png"); }
例如
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script src="jquery-1.8.0.min.js"></script>
<script src="jquery.mobile-1.2.0.min.js"></script>
<style>
.ui-icon-taifun {
background-image: url("taifun.png");
}
.nav .ui-btn .ui-btn-inner {
padding-top: 40px !important;
}
.nav .ui-btn .ui-icon-taifun {
width: 45px!important;
height: 35px!important;
margin-left: -24px !important;
box-shadow: none!important;
-moz-box-shadow: none!important;
-webkit-box-shadow: none!important;
-webkit-border-radius: none !important;
border-radius: none !important;
}
#programas .ui-icon-taifun {
background-image: url(taifun.png);
background-position: 0 0;
background-repeat: no-repeat;
}
</style>
<title>Test</title>
</head>
<body>
<div data-role="page">
<div data-role="content">
<div data-role="collapsible" data-collapsed-icon="taifun" data-expanded-icon="taifun" data-inset="false">
<h2><img src="favicon.ico"> Pets</h2>
<ul data-role="listview">
<li><a href="index.html">Canary</a></li>
<li><a href="index.html">Cat</a></li>
<li><a href="index.html">Dog</a></li>
</ul>
</div><!-- /collapsible -->
<div data-role="collapsible" data-collapsed-icon="taifun" data-expanded-icon="taifun" data-inset="false">
<h2><img src="favicon.ico"> Farm animals</h2>
<ul data-role="listview">
<li><a href="index.html">Chicken</a></li>
<li><a href="index.html">Cow</a></li>
<li><a href="index.html">Duck</a></li>
</ul>
</div><!-- /collapsible -->
</div>
<div data-role="footer">
<div data-role="navbar" class="nav" data-grid="d">
<ul>
<li><a href="#programas" id="programas" data-icon="custom">Programas</a></li>
<li><a href="#noticias" id="noticias" data-icon="custom">Noticias</a></li>
<li><a href="#radio" id="radio" data-icon="custom">Radio</a></li>
<li><a href="#eventos" id="eventos" data-icon="custom">Eventos</a></li>
<li><a href="#more" id="more" data-icon="custom">More</a></li>
</ul>
</div>
</div>
</div>
</body>
</html>
截图