jquery ui 是一个开源的界面组件库,具有交互、动画效果和即用型小部件。 jquery ui 基于 jquery javascript 库,并且可主题化,这使得任何技能水平的开发人员都可以轻松集成 jquery ui,将其集成到他们的网页和应用程序中。
本教程介绍如何为 jQuery UI 小部件设置主题并编写自定义 CSS,以便您可以制作自己的 jQuery UI 主题。对 CSS 和 JavaScript 有基本的了解将帮助您成功完成本教程。
使用下面的目录查找您有兴趣阅读的教程部分。
非会员请注意:除非您登录 Tuts+ Premium 会员帐户,否则目录链接将不起作用。
在本教程中,我想展示如何自定义 jQuery UI 小部件并设置主题以匹配特定的设计风格。源文件演示中的小部件的主题已与 Nettuts+ 自由职业板图形的风格相匹配。
教程源文件 zip 还包括一些额外的演示,用于展示 jQuery UI Accordion、Tabs、Datepicker 和 Slider 小部件的不同选项和设置。
本教程包含一个目录,以便您可以快速找到您感兴趣的部分。本教程还提供了许多可用的 jQuery UI 即用型小部件,例如 Accordion、Tabs、Buttons、Dialog 和 Datepicker。由于本教程涵盖了多个 jQuery UI 小部件,因此您可以选择要为其创建自定义主题的小部件。
您可以通过多种方式对 jQuery UI 小部件和插件进行主题化:
虽然可以通过编写完全自定义的 CSS 来创建 jQuery UI 主题,但我发现从接近所需外观和感觉的默认 ThemeRoller 主题开始,然后修改 CSS 以适应更容易、更快您的需求。通过大量修改默认 ThemeRoller 主题的 CSS,您可以创建自定义主题,而无需完全从头开始。
我发现修改默认 ThemeRoller 主题的 CSS 样式表比从头开始编写自定义 CSS 主题更容易、更快捷。
ThemeRoller 是由 Filament Group, Inc. 为 jQuery UI 设计和开发的 Web 应用程序。Themeroller 应用程序界面分为标题/工具栏、内容、可点击状态等部分,允许您为 jQuery UI 设计基本的自定义 CSS 主题小部件和插件。
如果您不想设计自己的自定义 jQuery UI 主题,还有一个带有预滚动主题的主题库。您可以在此处找到有关 jQuery UI ThemeRoller Web 应用程序的更多信息。
当谈到 jQuery UI 主题时,jQuery UI 网站列出了一些需要遵循的“最佳实践”,其中包括:
本教程的设置是为了让您可以为网页选择自己的内容。
创建一个包含以下代码的 .html 文件:
<!doctype html> <html> <head> <meta charset="utf-8"> <!-- CSS stylesheets --> <link href="css/style.css" rel="stylesheet" media="screen" /> <!-- jQuery / JavaScript --> <script src="js/jquery-functions.js"></script> <meta name="description" content="This demo shows how jQuery UI Controls look with a basic, custom CSS theme applied." /> <meta name="keywords" content="jquery,jquery ui,themeroller,widget,demo,tutorial" /> <title>jQuery UI Custom Theme Demo - Custom CSS Theme</title> </head> <body> <!-- Begin Wrapper --> <div id="wrapper"> <p> Content will go here </p> </div> <!-- End Wrapper --> </body> </html>
创建一个名为“style.css”的 CSS 样式表,并将其添加到名为“css”的新文件夹中。包括以下代码:
/* Default Styles --------------------------------------------------- */ body { margin: 0px; padding: 0px; background-color: #f2f2f2; font-size: 18px; font-family: Arial, Helvetica, sans-serif; color: #000; text-align: left; } #wrapper { width: 965px; margin: 0 auto; } a:link, a:visited, a:active { color: #009999; } a:hover { color: #000; } .clear { float: none; clear: both; }
需要创建外部 JavaScript 文件“jquery-functions.js”并将其添加到名为“js”的文件夹中。该 JavaScript 文件将包含初始化各种 jQuery UI 小部件所需的 jQuery 代码。本教程的设置是为了让您可以挑选要包含在网页中的 jQuery UI 小部件。 jQuery 代码将根据您选择的 jQuery UI 小部件添加到此文件中。
下载最新版本的 jQuery 并将文件复制/上传到您的 JS 文件夹。然后下载最新版本的 jQuery UI 并将 jquery-ui .js 文件复制/上传到您的 JS 文件夹。确保已选择 ThemeRoller 默认主题“UI dark”。
在本教程中,使用 ThemeRoller 默认主题“UI dark”。但是,在创建您自己的自定义 jQuery UI CSS 主题时,请转到 jQuery Themeroller Gallery 并选择一个外观和风格最适合您的网页设计的主题。
在本教程中,jQuery 和 jQuery UI 在独立服务器上自托管,而不是使用 CDN(内容分发网络)。
如果您希望由 CDN 托管 jQuery 和 jQuery UI,您可以在以下几个位置找到可链接到的 CDN 托管的 jQuery 和/或 jQuery UI 副本:
我们需要确保网页引用 jQuery 和 jQuery UI 库。
网页的 head 标签之间,正下方 添加以下代码:
<link href="css/ui-darkness/jquery-ui-1.8.16.custom.css" rel="stylesheet" media="screen" /> <!-- jQuery / JavaScript --> <script src="js/jquery-1.6.4.min.js"></script> <script src="js/jquery-ui-1.8.16.custom.min.js"></script>
现在您已完成步骤一到步骤五,您可以开始将 jQuery 小部件添加到您的网页中。本教程介绍了如何为这些 jQuery UI 小部件设置主题:
虽然突出显示/错误不是小部件,但它们已包含在教程中,以展示如何主题化这些元素以及如何使用自定义图标替换默认 UI 图标。
在跨浏览器测试本教程的演示时,在 Google Chrome 和 Safari Web 浏览器中单击滑块手柄时会显示边框。 Google Chrome 显示黄色边框,Safari 显示浅蓝色边框。
要删除此边框,CSS 代码“outline: none;”已添加到 jQuery UI CSS 样式表中。在“jquery-ui-1.8.16.custom.css”文件中找到以下代码行:
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
更改这行代码,使其包含“outline: none;”像这样:
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; outline: none; }
您的主题的滑块手柄代码行可能略有不同。找到包含“.ui-slider .ui-slider-handle {position:absolute;......”的行并添加“outline:none;”到该行代码的末尾。
如果您对默认 ThemeRoller 主题的 CSS 样式表进行了大量修改,或者从头开始创建了自定义 CSS 主题,则有必要为未来的 jQuery UI 小部件和插件执行手动更新。
为了手动更新 jQuery UI CSS,您将需要一个好的文件比较工具。我一直在用
Beyond Compare 已经很多年了,强烈推荐这个程序。尽管需要注意的是,Beyond Compare 不是免费软件,而是商业软件。
您可以在此处和此处找到推荐的免费软件和付费软件文件比较工具的列表。
要升级您的自定义 jQuery UI CSS 主题,您需要执行以下操作:
Beyond Compare 文件比较工具屏幕。左侧显示原始默认 jQuery UI CSS 样式表。右侧显示新修改的 CSS 样式表。单击图像可查看大图。
如果您对默认 ThemeRoller 主题的 CSS 样式表进行了大量修改,或者从头开始创建了自定义 CSS 主题,则必须手动逐行更新 CSS。
使用文件比较工具,将最新版本 jQuery UI 的 CSS 样式表代码与 jQuery UI 自定义主题的 CSS 样式表代码进行比较。仔细检查差异,查找新 jQuery UI 版本样式表中因新 jQuery UI 小部件、现有小部件更新等而发生的更改。忽略
由于创建自定义 jQuery UI 主题而进行的代码更改而导致的差异。
在许多情况下,jQuery UI 主题样式表的唯一更改是版本号。如果是这种情况,只需将旧版本号的所有实例更改为新版本号,保存文件,上传即可完成。
如果最新版本的 jQuery UI 主题样式表包含自定义主题 CSS 中未包含的新 CSS 代码,请将这些代码行复制到您的样式表中,保存然后上传。
选项卡将内容分为多个部分,可以交换这些部分以节省空间。默认情况下,小部件会交换 onClick 上的选项卡式部分,但也可以更改为 onHover。
要将默认的 jQuery UI 选项卡小部件添加到您的 .html 网页,请添加以下代码:
<!-- Begin Tabs Container --> <div class="content_container_1"> <h2>Tabs</h2> <!-- Begin Tabs Area --> <div id="tabs"> <ul> <li><a href="https://www.php.cn/link/7570284063f2de77ff3145e5f321f2c5">jQuery UI</a></li> <li><a href="#tabs-2">jQuery</a></li> <li><a href="#tabs-3">ThemeRoller</a></li> </ul> <!-- Begin Tabs Section #1 --> <div id="tabs-1"> <p> @@##@@<a href="http://jqueryui.com/" target="_blank" title="jQuery UI">jQuery UI</a> was built on top of the jQuery library and features ready to use widgets, advanced effects, animation, and much more. </p> <p> Featuring a powerful and unique CSS theme framework, Themeroller tool and pre-made theme gallery, jQuery UI makes customizing your application fast and easy. </p> <p> Detailed documentation and tutorials available on the <a href="http://jqueryui.com/" target="_blank" title="jQuery UI Official Website">official website</a> allow you to start using and learning jQuery UI right away. jQuery UI is also supported by a large and enthusiastic community of web developers. </p> <p> <a href="http://jqueryui.com/" target="_blank" title="Visit The jQuery UI Website">Visit The Official jQuery UI Website</a> </p> </div> <!-- End Tabs Section #1 --> <!-- Begin Tabs Section #2 --> <div id="tabs-2"> <p> @@##@@<a href="http://jquery.com/" target="_blank" title="jQuery">jQuery</a> is a very popular cross browser JavaScript library that features event handling, animation, Ajax interactions and more for rapid web development. </p> <p> On the official jQuery website you can find <a href="http://docs.jquery.com/" target="_blank" title="detailed documentation">detailed documentation</a>, <a href="http://forum.jquery.com/" target="_blank" title="forums">forums</a> with thousands of posts and responses, information on <a href="http://docs.jquery.com/Using_jQuery_with_Other_Libraries" target="_blank" title="How to use jQuery with other Libraries">How to use jQuery with other Libraries</a> and much more. </p> <p> jQuery is lightweight, CSS3 compliant and cross browser tested. jQuery was designed to change the way developers write JavaScript! </p> <p> <a href="http://jquery.com/" target="_blank" title="Visit the jQuery Website">Visit the Official jQuery Website</a> </p> </div> <!-- End Tabs Section #2 --> <!-- Begin Tabs Section #3 --> <div id="tabs-3"> <p> @@##@@ThemeRoller is a web application designed and developed for jQuery UI by <a href="http://www.filamentgroup.com/" target="_blank" title="Filament Group, Inc">Filament Group, Inc</a>. </p> <p> The Themeroller application interface is divided into sections such as header/toolbar, content, clickable states, etc which allows you to design custom CSS themes for <a href="http://jqueryui.com/demos/" target="_blank" title="jQuery UI widgets">jQuery UI widgets</a>. </p> <p> There is also a <a href="http://jqueryui.com/themeroller/#themeGallery" target="_blank" title="Theme Gallery">Theme Gallery</a> with pre-rolled themes if you do not want to design your own custom jQuery UI theme. Basic jQuery UI widget customization can be accomplished fairly easily by using a default themeroller theme and modifying the theme CSS to suit your needs. </p> <p> There are additional articles about theming and customization on the official website including <a href="http://jqueryui.com/docs/Theming" target="_blank" title="Theming jQuery UI">"Theming jQuery UI"</a>, <a href="http://jqueryui.com/docs/Theming/API" target="_blank" title="jQuery UI CSS framework">"jQuery UI CSS framework"</a>, and <a href="http://jqueryui.com/docs/Theming/Themeroller" target="_blank" title="ThemeRoller application">"ThemeRoller application"</a>. </p> <p> <a href="http://jqueryui.com/themeroller/" target="_blank" title="Visit ThemeRoller">Visit ThemeRoller!</a> </p> </div> <!-- End Tabs Section #3 --> </div> <!-- End Tabs Area --> </div> <!-- End Tabs Container -->
大多数 jQuery UI 小部件都被编程为扩展到它们所在内容区域的 100% 宽度。
容器div“content_container_1”已在CSS中设置为固定宽度800px,以便选项卡式内容区域不会扩展屏幕的整个宽度。
菜单“选项卡”是由无序列表生成的。内容部分由
以上就是自定义 jQuery UI 小部件主题的综合指南的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号