在 JQUERY 移动设备上应用 CSS

Applying CSS on JQUERY Mobile

我是 JQuery 手机新手。我发现很难将一些 CSS 应用于我的 JQUERY 移动脚本。

我需要做以下事情:

然后关于列表视图:

请帮忙解决这个问题!

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<script type="text/javascript" src="http://dev.jtsage.com/cdn/spinbox/latest/jqm-spinbox.min.js"></script>
</head>
<body>
<style>
  h2 {
    text-align: center;
}
p {
    text-align: center;
}
.navTxtSize {
    font-size: 16px;
    height: 48px;
    text-align: middle;
}
.liListItem {
    height: 48px;
}
#hea .ui-btn {
    height: 48px;
}
</style>
<div data-role="page" id="pageone">
  <div data-role="header" data-position="fixed">
    <div>
      <h2>CSS</h2>
    </div>
    <div data-role="navbar" data-iconpos="top" id="hea" class="ui-body-c">
      <ul>
        <li> <a href="#inputDialog" data-icon="plus">
          <div class="navTxtSize">Add Item</div>
          </a></li>
        <li><a onclick="checkList()" data-icon="delete">
          <div  class="navTxtSize">Delete ALL</div>
          </a></li>
        <li><a onclick="loadItemsForList1()" data-icon="shop" >
          <div  class = "navTxtSize">Shop</div>
          </a></li>
      </ul>
    </div>
  </div>
  <div data-role="main" class="ui-content">
    <form class="ui-filterable">
      <input id="myFilter" placeholder="Enter Item Name" data-type="search">
    </form>
    <ul data-role="listview" data-filter="true" data-input="#myFilter" data-autodividers="true" data-inset="true" id = "itemsList" data-split-icon="delete">
      <li class=liListItem"><a class="listItem">Example1</a><a class="removal"></a></li>
      <li class=liListItem"><a class="listItem">Example2</a><a class="removal"></a></li>
      <li class=liListItem"><a class="listItem">Example3</a><a class="removal"></a></li>
    </ul>
  </div>
</div>
</body>
</html>

这些是满足您需要的相关选择器:

导航栏:

.ui-navbar li .ui-btn {
  background-color: blanchedalmond !important;
}

列表视图:

.ui-listview li > .ui-btn {
  background-color: aliceblue;
  height: 48px;
}

图标:

.ui-btn::after {
    background-size: 32px !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 1.5em;
    background-color: darksalmon;
}

但还有一些工作需要调整图标边距和边框半径。

你可以以此为起点来玩,因为你还没有明确指定你的图标应该有多大。

此外,由于图标尺寸增大,列表视图右侧的按钮需要一些自定义样式:

.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn {
  width: 68px;
}

.ui-btn-icon-notext:after, .ui-btn-icon-left:after, .ui-btn-icon-right:after {
  margin-left: -16px;
}

我删除了你所有的 CSS 类 以显示一个干净的结果,这里只覆盖了 JQM 样式:https://jsfiddle.net/a3ckna8w/4/

请注意,jQuery 移动设备可能会覆盖您的 CSS 样式,因此您应该将自己的样式标记为 !important。有关发生这种情况的解释,请参见此处:Html5 - Css styles are overriden by jquery mobile style.