在 JQUERY 移动设备上应用 CSS
Applying CSS on JQUERY Mobile
我是 JQuery 手机新手。我发现很难将一些 CSS
应用于我的 JQUERY 移动脚本。
我需要做以下事情:
- 列表项
- 更改页面颜色
- 更改导航栏按钮颜色
- 将导航栏按钮的高度更改为 48px
- 在导航栏按钮中间对齐文本
- 调整导航栏图标大小
然后关于列表视图:
- 将列表高度更改为 48px
- 更改列表颜色
- 将列表字体大小更改为 16px
请帮忙解决这个问题!
<!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.
我是 JQuery 手机新手。我发现很难将一些 CSS
应用于我的 JQUERY 移动脚本。
我需要做以下事情:
- 列表项
- 更改页面颜色
- 更改导航栏按钮颜色
- 将导航栏按钮的高度更改为 48px
- 在导航栏按钮中间对齐文本
- 调整导航栏图标大小
然后关于列表视图:
- 将列表高度更改为 48px
- 更改列表颜色
- 将列表字体大小更改为 16px
请帮忙解决这个问题!
<!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.