0

0

自定义 jQuery UI 小部件主题的综合指南

PHPz

PHPz

发布时间:2023-08-31 20:49:01

|

1018人浏览过

|

来源于php中文网

原创

Krea AI
Krea AI

多功能的一站式AI图像生成和编辑平台

下载

jquery ui 是一个开源的界面组件库,具有交互、动画效果和即用型小部件。 jquery ui 基于 jquery javascript 库,并且可主题化,这使得任何技能水平的开发人员都可以轻松集成 jquery ui,将其集成到他们的网页和应用程序中。

本教程介绍如何为 jQuery UI 小部件设置主题并编写自定义 CSS,以便您可以制作自己的 jQuery UI 主题。对 CSS 和 JavaScript 有基本的了解将帮助您成功完成本教程。

使用下面的目录查找您有兴趣阅读的教程部分。

非会员请注意:除非您登录 Tuts+ Premium 会员帐户,否则目录链接将不起作用。

教程信息

  1. 关于本教程
  2. 主题 jQuery UI
  3. 关于 ThemeRoller
  4. 主题化 jQuery UI - 最佳实践
  5. 指向 jQuery / jQuery UI 网站的链接
  6. 结论

教程步骤

  1. 第 1 步 - 创建基本网页(无内容)
  2. 第 2 步 - 创建外部 JS 文件(无内容)
  3. 第 3 步 - 下载 jQuery 和 jQuery UI
  4. 第 4 步 - CDN 托管 jQuery 和 jQuery UI
  5. 第 5 步 - 参考 jQuery 和 jQuery UI 库
  6. 第 6 步 - 选择 jQuery UI 小部件
  7. 第 7 步 - 删除滑块手柄上的边框 - Chrome 和 Safari
  8. 第 8 步 - 升级到较新版本的 jQuery UI

小部件部分

  1. jQuery UI - 选项卡
  2. jQuery UI - 手风琴
  3. jQuery UI - 按钮
  4. jQuery UI - 日期选择器
  5. jQuery UI - 滑块
  6. jQuery UI - 进度栏
  7. jQuery UI - 对话框
  8. jQuery UI - 突出显示/错误

自定义图标部分

  1. 用自定义图标替换 jQuery UI 默认图标
  2. 自定义图标 - jQuery UI 按钮
  3. 自定义图标 - 日期选择器
  4. 自定义图标 - 对话框按钮
  5. 自定义图标 - 突出显示/错误
  6. 自定义图标 - jQuery UI Accordion #1
  7. 自定义图标 - jQuery UI Accordion #2
  8. 自定义图标 - jQuery UI Accordion #3
  9. 自定义图标 - jQuery UI Accordion #4

自定义 CSS 样式表参考

  1. 自定义 CSS 样式表参考 - 简介
  2. 自定义 CSS 样式表参考 - 组件容器
  3. 自定义 CSS 样式表参考 - 交互状态
  4. 自定义 CSS 样式表参考 - 交互提示
  5. 自定义 CSS 样式表参考 - 默认 UI 图标
  6. 自定义 CSS 样式表参考 - 特定 jQuery UI 小部件
  7. 自定义 CSS 样式表参考 - 自定义图标
  8. 自定义 CSS 样式表参考 - 自定义图标 - Accordion #1
  9. 自定义 CSS 样式表参考 - 自定义图标 - Accordion #2
  10. 自定义 CSS 样式表参考 - 自定义图标 - Accordion #3
  11. 自定义 CSS 样式表参考 - 自定义图标 - Accordion #4
  12. 自定义 CSS 样式表参考 - 自定义图标 - 按钮
  13. 自定义 CSS 样式表参考 - 自定义图标 - 日期选择器
  14. 自定义 CSS 样式表参考 - 自定义图标 - 突出显示/错误
  15. 自定义 CSS 样式表参考 - 自定义图标 - 对话框按钮

关于本教程

自定义 jQuery UI 小部件主题的综合指南

在本教程中,我想展示如何自定义 jQuery UI 小部件并设置主题以匹配特定的设计风格。源文件演示中的小部件的主题已与 Nettuts+ 自由职业板图形的风格相匹配。

教程源文件 zip 还包括一些额外的演示,用于展示 jQuery UI Accordion、Tabs、Datepicker 和 Slider 小部件的不同选项和设置。

本教程包含一个目录,以便您可以快速找到您感兴趣的部分。本教程还提供了许多可用的 jQuery UI 即用型小部件,例如 Accordion、Tabs、Buttons、Dialog 和 Datepicker。由于本教程涵盖了多个 jQuery UI 小部件,因此您可以选择要为其创建自定义主题的小部件。


主题 jQuery UI

自定义 jQuery UI 小部件主题的综合指南

您可以通过多种方式对 jQuery UI 小部件和插件进行主题化:

  • 您可以使用 jQuery UI ThemeRoller 构建和下载主题
  • 您可以下载默认的 ThemeRoller 主题之一并修改 CSS
  • 您可以通过编写完全自定义的 CSS 从头开始​​创建自己的主题

虽然可以通过编写完全自定义的 CSS 来创建 jQuery UI 主题,但我发现从接近所需外观和感觉的默认 ThemeRoller 主题开始,然后修改 CSS 以适应更容易、更快您的需求。通过大量修改默认 ThemeRoller 主题的 CSS,您可以创建自定义主题,而无需完全从头开始。

我发现修改默认 ThemeRoller 主题的 CSS 样式表比从头开始编写自定义 CSS 主题更容易、更快捷。


关于 ThemeRoller

自定义 jQuery UI 小部件主题的综合指南

ThemeRoller 是由 Filament Group, Inc. 为 jQuery UI 设计和开发的 Web 应用程序。Themeroller 应用程序界面分为标题/工具栏、内容、可点击状态等部分,允许您为 jQuery UI 设计基本的自定义 CSS 主题小部件和插件。

如果您不想设计自己的自定义 jQuery UI 主题,还有一个带有预滚动主题的主题库。您可以在此处找到有关 jQuery UI ThemeRoller Web 应用程序的更多信息。


主题化 jQuery UI - 最佳实践

当谈到 jQuery UI 主题时,jQuery UI 网站列出了一些需要遵循的“最佳实践”,其中包括:

  • 所有类都应以 .ui- 命名空间开头
  • 所有样式都应特定于 .ui- 命名空间
  • 不要创建全局样式
  • 不要使用 ID 属性来设置样式
  • 使用连字符而不是下划线分隔单词
  • 始终使用小写

第 1 步 - 创建基本网页(无内容)

本教程的设置是为了让您可以为网页选择自己的内容。

HTML

创建一个包含以下代码的 .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>

CSS

创建一个名为“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; 
}

第2步 - 创建外部JS文件(无内容)

需要创建外部 JavaScript 文件“jquery-functions.js”并将其添加到名为“js”的文件夹中。该 JavaScript 文件将包含初始化各种 jQuery UI 小部件所需的 jQuery 代码。本教程的设置是为了让您可以挑选要包含在网页中的 jQuery UI 小部件。 jQuery 代码将根据您选择的 jQuery UI 小部件添加到此文件中。


第 3 步 - 下载 jQuery 和 jQuery UI

下载最新版本的 jQuery 并将文件复制/上传到您的 JS 文件夹。然后下载最新版本的 jQuery UI 并将 jquery-ui .js 文件复制/上传到您的 JS 文件夹。确保已选择 ThemeRoller 默认主题“UI dark”。

在本教程中,使用 ThemeRoller 默认主题“UI dark”。但是,在创建您自己的自定义 jQuery UI CSS 主题时,请转到 jQuery Themeroller Gallery 并选择一个外观和风格最适合您的网页设计的主题。


第 4 步 - CDN 托管 jQuery 和 jQuery UI

在本教程中,jQuery 和 jQuery UI 在独立服务器上自托管,而不是使用 CDN(内容分发网络)。

如果您希望由 CDN 托管 jQuery 和 jQuery UI,您可以在以下几个位置找到可链接到的 CDN 托管的 jQuery 和/或 jQuery UI 副本:

  • jQuery CDN
  • Google 图书馆 API
  • Microsoft Ajax 内容交付网络

第 5 步 - 参考 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>

第 6 步 - 选择 jQuery UI 小部件

现在您已完成步骤一到步骤五,您可以开始将 jQuery 小部件添加到您的网页中。本教程介绍了如何为这些 jQuery UI 小部件设置主题:

  • 标签
  • 手风琴
  • 按钮
  • 日期选择器
  • 滑块
  • 进度条
  • 用户界面对话框
  • 突出显示/错误

虽然突出显示/错误不是小部件,但它们已包含在教程中,以展示如何主题化这些元素以及如何使用自定义图标替换默认 UI 图标。


第 7 步 - 删除滑块手柄上的边框 - Chrome 和 Safari

自定义 jQuery 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;”到该行代码的末尾。


第 8 步 - 升级到较新版本的 jQuery UI

如果您对默认 ThemeRoller 主题的 CSS 样式表进行了大量修改,或者从头开始创建了自定义 CSS 主题,则有必要为未来的 jQuery UI 小部件和插件执行手动更新。

文件比较工具

为了手动更新 jQuery UI CSS,您将需要一个好的文件比较工具。我一直在用

Beyond Compare 已经很多年了,强烈推荐这个程序。尽管需要注意的是,Beyond Compare 不是免费软件,而是商业软件。

您可以在此处和此处找到推荐的免费软件和付费软件文件比较工具的列表。

手动更新

要升级您的自定义 jQuery UI CSS 主题,您需要执行以下操作:

  • 备份您的自定义 jQuery UI CSS 主题文件
  • 下载最新版本的 jQuery 并将文件复制/上传到您的 JS 文件夹。 (如果您使用 CDN,请跳过此步骤)
  • 更新网页上引用 jQuery 库的链接,使其具有最新版本号。示例:“js/jquery-1.6.3.min.js”将更改为“js/jquery-1.6.4.min.js”。
  • 下载最新版本的 jQuery UI 并将 jquery-ui .js 文件复制/上传到您的 JS 文件夹。确保选择最初修改为自定义主题的 themeroller 默认主题。
  • 更新网页上引用 jQuery UI 库的链接,使其具有最新版本号。示例:“js/jquery-ui-1.8.15.custom.min.js”将更改为“js/jquery-ui-1.8.16.custom.min.js”。
  • 更改 jQuery UI 自定义主题的 CSS 样式表的文件名,以便它反映最新版本的 jQuery UI。示例:“jquery-ui-1.8.15.custom.css”将更改为“jquery-ui-1.8.16.custom.css”
  • 更新网页上引用 jQuery UI CSS 样式表的链接,使其反映如上所示的新文件名和版本。

逐行更新 CSS

自定义 jQuery UI 小部件主题的综合指南

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 代码,请将这些代码行复制到您的样式表中,保存然后上传。


jQuery UI 选项卡

自定义 jQuery UI 小部件主题的综合指南

选项卡将内容分为多个部分,可以交换这些部分以节省空间。默认情况下,小部件会交换 onClick 上的选项卡式部分,但也可以更改为 onHover。

HTML

要将默认的 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> 
		   <img class="tabs_img" src="images/jquery_ui.png" width="325" height="225" alt="jQuery UI" /><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> 
		   <img class="tabs_img" src="images/jquery.png" width="325" height="225" alt="jQuery" /><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> 
		   <img class="tabs_img" src="images/themeroller.png" width="325" height="325" alt="jQuery" />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,以便选项卡式内容区域不会扩展屏幕的整个宽度。

菜单“选项卡”是由无序列表生成的。内容部分由 <div> 标记生成,这些标记具有与 <code><li> 标记中的锚链接相对应的唯一 ID。

例如:<div id="tabs-1"> 对应 <code><a href="https://www.php.cn/link/7570284063f2de77ff3145e5f321f2c5"></a>

CSS(样式.css)

将以下 CSS 代码添加到 style.css:

 
/*  Containers 
--------------------------------------------------- */ 
 
.content_container_1	{ 
	width: 800px; 
	margin: 50px 0px 20px 20px; 
} 
 
/*  Tabs  
--------------------------------------------------- */ 
 
#tabs p	{ 
	font-family: Arial, Helvetica, sans-serif; 
	font-size: 16px; 
} 
 
#tabs .tabs_img	{ 
	float: left; 
	background-color: #aaa; 
	padding: 8px; 
	margin: 0px 35px 15px 0px; 
}

jQuery(jquery-functions.js)

通过在外部 JavaScript 文件 jquery-functions.js 中添加以下代码来初始化选项卡。

 
// jQuery UI Tabs 
 
$(function() { 
	$( "#tabs" ).tabs(); 
});

自定义 jQuery UI CSS

本教程的自定义 CSS 样式表参考部分包含设置小部件样式所需的特定类和代码。每行 CSS 代码都解释了它的作用以及它将如何改变小部件的样式。其他详细信息请参见参考部分简介。

样式表参考的这些部分包含将样式应用于选项卡小部件的 jQuery UI 类:

  • 自定义 CSS 样式表参考 - 组件容器
  • 自定义 CSS 样式表参考 - 交互状态
  • 自定义 CSS 样式表参考 - 特定 jQuery UI 小部件

例如,如果您想更改选项卡菜单中活动的选定选项卡的背景图像/渐变,您将查看“交互状态”部分中列出的类。本节顶部列出了四种交互状态的说明。由于这是“活动”状态,因此“.ui-state-active”类适用于此选项卡。

查看包含“.ui-state-active”类并包含 CSS 背景图像的行的 CSS 代码示例。此示例代码行包含类和 CSS 背景图像:

 
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #336666; background: #32646b url(images/ui-bg-1.png) 50% 50% repeat-x; font-weight: bold; color: #fff; }

现在您已经找到了适当的代码示例,请在 jQuery UI 主题样式表中找到这行代码,并将背景图像替换为您自己的自定义图像。

请记住:所有 ThemeRoller 主题都具有相同的 CSS 类。因此,每个默认主题中的类名称都完全相同。但是,CSS 代码和样式可能不同。


jQuery UI 手风琴

自定义 jQuery UI 小部件主题的综合指南

手风琴不允许同时打开多个内容面板。如果您正在寻找一种允许打开多个内容面板的小部件,请不要使用手风琴。

HTML

要将 jQuery UI Accordion Widget(带有 ThemeRoller 图标)添加到您的 .html 网页,请添加以下代码:

 
<!-- Begin Accordion Container --> 
<div class="content_container_2"> 
 
<h2>Accordion</h2> 
 
<!-- Begin Accordion --> 
<div id="accordion"> 
 
<!-- Begin Panel #1 --> 
	<h3><a href="#section1">Accordion</a></h3> 
	<div> 
 
	<!-- Begin Content Container Div --> 
	<div class="content_container_main"> 
 
		<!-- Left Content Div --> 
		<div class="content_1"> 
			<img src="images/accordion_1.png" width="350" height="180" alt="Accordion" /> 
			<p> 
				Default Accordion 
			</p> 
			<img src="images/accordion_2.png" width="350" height="198" alt="Accordion" /> 
			<p> 
				Accordion with Icons 
			</p> 
		</div> 
 
		<!-- Right Content Div --> 
		<div class="content_2"> 
			<h2>Accordion</h2> 
			<p> 
				An <a href="http://jqueryui.com/demos/accordion/" target="_blank" title="Accordion">Accordion</a> doesn't allow more than one content panel to be open at the same time. If you are looking for a widget that allows more than one content panel to be open, don't use an Accordion. 
			</p> 
			<p> 
				The markup uses a series of headers (H3 tags) and divs so the content is still usable even if the browser has JavaScript disabled. 
			</p>	 
			<p> 
				If you want Accordion sections to be collapsible, add "collapsible: true" to the JavaScript code.  
			</p>		 
			<p> 
				To set the Accordion so that the accordion sections open and close on mouseover, add event: "mouseover" to the JavaScript code. 
			</p> 
			<p> 
			<a href="http://jqueryui.com/demos/accordion/" target="_blank" title="Learn More">Learn More</a> 
			</p> 
		</div> 
 
	</div> 
	<!-- End Content Container Div --> 
 
	</div> 
<!-- End Panel #1 --> 
 
 
<!-- Panel #2 --> 
	<h3><a href="#section2">Tabs</a></h3> 
	<div> 
 
	<!-- Begin Content Container Div --> 
	<div class="content_container_main"> 
 
		<!-- Left Content Div --> 
		<div class="content_1"> 
			<img src="images/tabs_1.png" width="350" height="117" alt="Tabs" /> 
			<p> 
				Default Tabs 
			</p> 
			<img src="images/tabs_2.png" width="350" height="143" alt="Tabs" /> 
			<p> 
				Tabs Below Content 
			</p> 
			<img src="images/tabs_3.png" width="350" height="58" alt="Tabs" /> 
			<p> 
				Content via Ajax 
			</p> 
		</div> 
 
		<!-- Right Content Div --> 
		<div class="content_2"> 
			<h2>Tabs</h2> 
			<p> 
				<a href="http://jqueryui.com/demos/tabs/" target="_blank" title="Tabs">Tabs</a> break content into multiple sections that can be swapped to save space. The widget swaps the tabbed sections onClick by default, but can be changed to onHover instead. 
			</p> 
			<p> 
				If you want the Tabs sections to open on mouseover, add event: "mouseover" to the JavaScript code. 
			</p>		 
			<p> 
				If you want the Tabs content to be collapsible, add collapsible: "true" to the JavaScript code. 
			</p> 
			<p> 
				Other options for the tabs widget include content loaded via Ajax, collapse content, sortable, tabs below content, simple manipulation and cookie persistance. 
			</p> 
			<p> 
			<a href="http://jqueryui.com/demos/tabs/" target="_blank" title="Learn More">Learn More</a> 
			</p> 
		</div> 
 
	</div> 
	<!-- End Content Container Div --> 
 
	</div> 
<!-- End Panel #2 --> 
 
 
<!-- Panel #3 --> 
	<h3><a href="#section3">Datepicker</a></h3> 
	<div> 
 
	<!-- Begin Content Container Div --> 
	<div class="content_container_main"> 
 
		<!-- Left Content Div --> 
		<div class="content_1"> 
			<p class="left_col_1"> 
			<img src="images/datepicker_1.png" width="175" height="208" alt="Datepicker" /> 
			<br /> 
				Displayed Inline 
			</p> 
 
			<p class="left_col_2"> 
			<img src="images/datepicker_2.png" width="175" height="208" alt="Datepicker" /> 
			<br /> 
				Icon Trigger 
			</p> 
 
			<p class="left_col_3"> 
			<img src="images/datepicker_3.png" width="175" height="208" alt="Datepicker" /> 
			<br /> 
				With Button Bar 
			</p> 
 
			<p class="left_col_4"> 
			<img src="images/datepicker_4.png" width="175" height="208" alt="Datepicker" /> 
			<br /> 
				Month & Year Menus 
			</p> 
		</div> 
 
		<!-- Right Content Div --> 
		<div class="content_2"> 
			<h2>Datepicker</h2> 
			<p> 
				<a href="http://jqueryui.com/demos/datepicker/" target="_blank" title="Datepicker">Datepicker</a> is tied to form field input. A user can choose a date for the form field from an interactive calendar displayed in a small overlay using this function. 
			</p> 
			<p>		 
				To display the Datepicker embedded inline on a web page, call the .datepicker() on a div instead of a form field. 
			</p> 
			<p> 
				You can set the Datepicker to be displayed when clicking an icon. You can also set the Datepicker to display multiple months. 
			</p>		 
			<p> 
				The Datepicker function has a variety of settings including animations, month and year menus, dates in other months, display button bar, localize calendar and more. 
			</p> 
			<p> 
			<a href="http://jqueryui.com/demos/datepicker/" target="_blank" title="Learn More">Learn More</a> 
			</p> 
		</div> 
 
	</div> 
	<!-- End Content Container Div --> 
 
	</div> 
<!-- End Panel #3 --> 
 
 
<!-- Panel #4 --> 
	<h3><a href="#section4">Dialog</a></h3> 
	<div> 
 
	<!-- Begin Content Container Div --> 
	<div class="content_container_main"> 
 
		<!-- Left Content Div --> 
		<div class="content_1"> 
			<img src="images/dialog_1.png" width="350" height="197" alt="Dialog" /> 
			<p> 
				Basic Modal Dialog 
			</p> 
			<img src="images/dialog_2.png" width="350" height="207" alt="Dialog" /> 
			<p> 
				Modal Message 
			</p> 
		</div> 
 
		<!-- Right Content Div --> 
		<div class="content_2"> 
			<h2>Dialog</h2> 
			<p> 
				A <a href="http://jqueryui.com/demos/dialog/" target="_blank" title="Dialog">Dialog</a> is a floating window displayed in an overlay that covers the entire web page content. It contains a title bar, small to medium sized content area and can be closed with an "x" icon. 
			</p> 
			<p> 
				A scrollbar will automatically appear if the content length exceeds the maximum height. 
			</p>	 
			<p>		 
				The jQuery UI Dialog can be animated by specifying the desired effect in the JavaScript code. You must include the individual effects file for 	any effects you would like to use. 
			</p> 
			<p> 
				You can set the dialog so that it creates a modal message or a modal confirmation that a user must click on before continuing with the application. 
			</p>		 
			<p> 
			<a href="http://jqueryui.com/demos/dialog/" target="_blank" title="Learn More">Learn More</a> 
			</p> 
		</div> 
	</div> 
	<!-- End Content Container Div --> 
 
	</div> 
<!-- End Panel #4 --> 
 
 
</div> 
<!-- End Accordion --> 
 
</div> 
<!-- End Accordion Container -->

标记细目

大多数 jQuery UI 小部件都被编程为扩展到它们所在内容区域的 100% 宽度。

容器 div“content_container_2”已在 CSS 中设置为固定宽度 800px,以便内容区域不会扩展屏幕的整个宽度。

手风琴使用 <h3></h3><div></div> 标签来创建标题和内容面板:

 
<div id="accordion"> 
    <h3><a href="#">First header</a></h3> 
    <div>First content</div> 
    <h3><a href="#">Second header</a></h3> 
    <div>Second content</div> 
</div>

如果你想在手风琴的内容部分使用 <h3></h3> 标签,你需要添加一个 CSS 类,例如:

 
<div> 
   <h3 class="subtitle">Subtitle</h3> 
</div>

要格式化您的内容 <h3></h3> 字幕,您可以将该类添加到 CSS 样式表 style.css 并根据需要设置格式:

 
#accordion  h3.subtitle	{ 
	font-size: 18px;  
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; 
	font-weight: bold;	 
	color: #009999; 
}

CSS(样式.css)

将以下 CSS 代码添加到 style.css:

 
/*  Containers 
--------------------------------------------------- */ 
 
.content_container_2	{ 
	width: 800px; 
	margin: 50px 0px 0px 20px; 
} 
 
/*  Accordion  
--------------------------------------------------- */ 
 
#accordion .content_container_main	{ 
	width: 750px; 
} 
 
#accordion .content_1	{ 
	width: 400px; 
	float: left; 
	font-size: 14px; 
	text-align: center; 
} 
 
#accordion .content_2	{ 
	width: 290px; 
	float: left; 
	font-family: Arial, Helvetica, sans-serif; 
	font-size: 16px; 
	margin: 0px 0px 0px 30px; 
} 
 
#accordion img 	{ 
	padding: 8px; 
	background-color: #aaa; 
	margin: 10px 0px 5px 0px; 
} 
 
#accordion h2	{ 
	margin: 5px 0px 10px 0px; 
	padding: 0px; 
	font-size: 30px;  
} 
 
#accordion p 	{ 
	margin: 0px 0px 15px 0px; 
	padding: 0px; 
} 
 
#accordion p.left_col_1, #accordion p.left_col_4 	{ 
	float: left; 
	margin: 0px; 
	padding: 0px; 
} 
 
#accordion p.left_col_2, #accordion p.left_col_3 	{ 
	float: right; 
	margin: 0px; 
	padding: 0px; 
}

jQuery(jquery-functions.js)

通过在外部 JavaScript 文件 jquery-functions.js 中添加以下代码来初始化手风琴。

 
// jQuery UI Accordion 
	 
$(function() { 
	var icons = { 
		header: "ui-icon-circle-arrow-e", 
		headerSelected: "ui-icon-circle-arrow-s" 
	}; 
	$( "#accordion" ).accordion({ 
		icons: icons 
	});		 
});

jQuery 分解

要使用默认功能初始化手风琴,您只需要以下基本代码行:

 
$(function() { 
	$( "#accordion" ).accordion(); 
});

jQuery UI 手风琴包含一个图标选项,允许您为“header”和“headerSelected”指定图标,并且 jQuery 代码的前半部分是设置图标的位置。默认手风琴图标的 CSS 类是“.ui-icon-triangle-1-e”和“.ui-icon-triangle-1-s”。

基本演示(演示 2)中包含的手风琴已经过自定义,以便使用其他 jQuery UI 图标而不是默认图标。对于基本演示,图标已更改为“header: ui-icon-circle-arrow-e”和“headerSelected: ui-icon-circle-arrow-s”。

注意: 将类添加到 jQuery 代码时不要包含“点”。例如,您可以编写 header: "ui-icon-circle-arrow-e" 而不是 header: ".ui-icon-circle-arrow-e"。

自定义 jQuery UI CSS

本教程的自定义 CSS 样式表参考部分包含设置小部件样式所需的特定类和代码。每行 CSS 代码都解释了它的作用以及它将如何改变小部件的样式。其他详细信息请参见参考部分简介。

样式表参考的这些部分包含将样式应用于折叠式小部件的 jQuery UI 类:

  • 自定义 CSS 样式表参考 - 组件容器
  • 自定义 CSS 样式表参考 - 交互状态
  • 自定义 CSS 样式表参考 - 默认 UI 图标

例如,如果您想更改悬停时显示的手风琴面板的背景图像/渐变,您可以查看“交互状态”部分中列出的类。本节顶部列出了四种交互状态的说明。由于这是“悬停”状态,因此“.ui-state-hover”类适用于此折叠面板。

查看包含“.ui-state-hover”类并包含 CSS 背景图像的行的 CSS 代码示例。此示例代码行包含类和 CSS 背景图像:

 
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #191919; background: #000 url(images/ui-bg-3.png) 50% 50% repeat-x; font-weight: bold; color: #fff; }

现在您已经找到了适当的代码示例,请在 jQuery UI 主题样式表中找到这行代码,并将背景图像替换为您自己的自定义图像。

请记住:所有 ThemeRoller 主题都具有相同的 CSS 类。因此,每个默认主题中的类名称都完全相同。但是,CSS 代码和样式可能不同。


jQuery UI 按钮

自定义 jQuery UI 小部件主题的综合指南

jQuery UI 按钮小部件可用于增强标准表单元素,例如提交和重置按钮、单选按钮和复选框。当使用此小部件作为输入和提交类型的按钮时,支持仅限于不带图标的纯文本标签。

HTML

要将 jQuery UI 按钮(带图标)添加到您的 .html 网页,请添加以下代码:

 
<!-- Begin Buttons Container --> 
 
<div class="content_container_3"> 
 
<h2>Button</h2> 
 
<div class="demo"> 
	<button>Button with icon only</button> 
	<button>Button with icon on the left</button> 
	<button>Button with two icons</button> 
	<button>Button with two icons and no text</button> 
	<button>Button with text only</button> 
</div> 
 
</div> 
<!-- End Buttons Container -->

CSS(样式.css)

将以下 CSS 代码添加到 style.css:

 
.content_container_3	{ 
	width: 950px; 
	margin: 50px 0px 20px 20px; 
}

jQuery(jquery-functions.js)

通过在外部 JavaScript 文件 jquery-functions.js 中添加以下代码来初始化按钮。

 
// jQuery UI Button 
 
// First Button 
	$(function() { 
		$( ".demo button:first" ).button({ 
            icons: { 
                primary: "ui-icon-locked" 
            }, 
            text: false 
// Second Button 
        }).next().button({ 
            icons: { 
                primary: "ui-icon-locked" 
            } 
// Third Button 
        }).next().button({ 
            icons: { 
                primary: "ui-icon-gear", 
                secondary: "ui-icon-triangle-1-s" 
            } 
// Fourth Button 
        }).next().button({ 
            icons: { 
                primary: "ui-icon-gear", 
                secondary: "ui-icon-triangle-1-s" 
            }, 
            text: false 
// Fifth Button 
        }).next().button({ 
		}); 
	});

jQuery 分解

这些按钮是通过在网页标记中使用 <button></button> 标签生成的。 jQuery 代码引用代码每个部分中的按钮。这些按钮也被放置在具有 CSS 类“demo”的 <div> 中 (<code><p><img src="https://img.php.cn/upload/article/000/000/164/169348615151432.jpg" alt="自定义 jQuery UI 小部件主题的综合指南"></p>

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

38

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

83

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

97

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

223

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

458

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

169

2026.03.04

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

246

2026.03.03

C++高性能网络编程与Reactor模型实践
C++高性能网络编程与Reactor模型实践

本专题围绕 C++ 在高性能网络服务开发中的应用展开,深入讲解 Socket 编程、多路复用机制、Reactor 模型设计原理以及线程池协作策略。内容涵盖 epoll 实现机制、内存管理优化、连接管理策略与高并发场景下的性能调优方法。通过构建高并发网络服务器实战案例,帮助开发者掌握 C++ 在底层系统与网络通信领域的核心技术。

34

2026.03.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

相关下载

更多

精品课程

更多
相关推荐
/
热门推荐
/
最新课程

最新文章

更多
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号