jquery - 如何从主题滚轮站点在 jquery mobile 中添加自定义主题?

标签 jquery jquery-mobile themes themeroller

我正在尝试在我的 jquery 移动网站中添加自定义主题。

我访问了主题滚轮网站,设计了一个主题,然后下载了一个 zip 文件。

里面有一个主题文件夹和一个index.html。主题文件夹内有一个图像文件夹2个CSS文件:

1) customTheme.css

2) customTheme.min.css

我将 2) 复制粘贴到我的项目文件夹中。

然后在我的项目中我这样做:

<head>
    <meta charset="utf-8">
    <title>CEID</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="customTheme.min.css" />
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile.structure-1.3.1.min.css" /> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
    <link rel="stylesheet" href="custom.css" />
</head> 

应该可以正常工作吧?我在这里做错了什么?

主题不起作用..

我正在设计的内容如下:

enter image description here

我得到的看起来像这样:

enter image description here

我的 html 看起来像这样:

<head>
    <meta charset="utf-8">
    <title>CEID</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="themes/CustomTheme.min.css" />
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile.structure-1.3.1.min.css" /> 
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
</head> 

使用的自定义CSS:

/* Home page banner */
h2#banner {
    background:transparent url(images/banner.png) no-repeat left 10px;
    width:220px;
    height:250px;
    margin:-10px auto -150px auto;
    text-indent:-9999px;
}
/* Home page banner landscape */
.landscape h2#banner {
    background:transparent url(../img/banner/banner-landscape.jpg) no-repeat left 10px;
    width:480px;
    height:290px;
    margin:-10px auto -175px auto;
    text-indent:-9999px;
}

.ui-listview .ui-li-icon {
     max-height: 32px !important;
      max-width: 32px !important; 
}

/* Home page icons */
.ui-li-icon {
    top:0.4em !important;
}
/* Make room for icons */
.ui-li-has-icon .ui-btn-inner a.ui-link-inherit, .ui-li-static.ui-li-has-icon {
    padding-left:47px;
}

我的 html 正文:

<body> 

<div data-role="page" id="home">
    <div data-role="header">
    </div>
    <div data-role="content">

        <h2 id="banner">CEID Mobile</h2>

        <div class="menu_list">
            <ul data-inset="true" data-role="listview">
                <li><a href="information.html"><img src="images/info.png" alt="Information" class="ui-li-icon">Πληροφορίες</a></li>
                <li><a href="staff.html"><img src="images/staff.png" alt="Staff" class="ui-li-icon">Προσωπικό</a></li>
                <li><a href="research.html"><img src="images/research.png" alt="Research" class="ui-li-icon">Έρευνα</a></li>
                <li><a href="undergraduates.html"><img src="images/undergraduates.png" alt="undergraduates" class="ui-li-icon">Προπτυχιακά</a></li>
                <li><a href="metaptyxiaka.html"><img src="images/graduates.png" alt="Graduates" class="ui-li-icon">Μεταπτυχιακά</a></li>
                <li><a href="students.html"><img src="images/students.png" alt="Students" class="ui-li-icon">Φοιτητές</a></li>
                <li><a href="news.html"><img src="images/news.png" alt="News" class="ui-li-icon">Ανακοινώσεις</a></li>
            </ul>       
        </div>

        <div class="menu_list">
            <ul data-inset="true" data-role="listview">
                <li><a href="http://www.ceid.upatras.gr"><img src="images/info.png" alt="Information" class="ui-li-icon">Μεταφορά στον Ιστότοπο</a></li>
            </ul>       
        </div>


    </div>
</div>

</body>

最佳答案

你的例子不起作用,看看你有什么:

<link rel="stylesheet" href="customTheme.min.css" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile.structure-1.3.1.min.css" /> 
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />

有 3 个不同的 css 文件。第一个是您的自定义主题,第二个只是结构 css 文件(其他所有内容),最后一个是完整的 jQuery Mobile css 文件。目前,您的最后一个 css 文件(完整的一个)正在覆盖自定义 css 主题。

要解决您的问题,请将所有内容更改为:

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
<link rel="stylesheet" href="customTheme.min.css" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile.structure-1.3.1.min.css" /> 

或者更好地删除jquery.mobile-1.3.1.min.css并仅使用:

<link rel="stylesheet" href="customTheme.min.css" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile.structure-1.3.1.min.css" /> 

您需要了解的是,jQuery Mobile 有 3 个可用的 css 文件。 jquery.mobile-1.3.1.min.css 应单独使用,因为它具有用于主题和结构的 css。如果您有自定义主题,则只需使用自定义主题 css 文件和 jquery.mobile.struct-1.3.1.min.css

编辑:

不要忘记,您还需要将 data-theme 添加到页面 DIV 容器中:

<div data-role="page" id="home" data-theme="b">

或者您可以仅将其添加到页眉、内容和页脚 DIV 中,但我建议您将其添加到页面 DIV 中。

关于jquery - 如何从主题滚轮站点在 jquery mobile 中添加自定义主题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16936559/

相关文章:

javascript - 当用 Backbone.js 替换时,queryui 复选框按钮的内容会增加

PHP JQuery 文档准备好添加 IF 语句会中断 .show( )

jQuery 移动 : Adding to a SELECT in Code works only on Desktop browsers?

jQuery 升级 - jquery.mobile 添加类

javascript - 应用新主题而不重新加载 highcharts 中的图表

jquery - 当只需要遍历 DOM、$.ajax 和 Deferred 时替代 jQuery

jQuery mobile - iOS - 如何检测键盘何时打开?

themes - 缺少 Magento 2 设计主题选项卡

android - 为什么我的 Android 应用程序不在 ActionBar 中显示图标和文本?

javascript - 使用jquery更改输入字段值的问题