1

我正在尝试创建一些自定义 jqueryui 按钮,这些按钮依赖于如何将自定义图标添加到标准 jQuery UI 主题?,尤其是 Matthew/Panayiotis 的回答,在这里创建一些自定义 jqueryUI 按钮:

http://nie-wieder.net/metronom/test.html

如您所见,该按钮未显示,并且...简而言之,我不知道出了什么问题。

我在这里创建了一个按钮:http: //nie-wieder.net/metronom/img/plus-normal.png(还有 2 个其他文件,plus-hover.png 和 plus-active.png)并考虑到 firebug 并不可怕周围,​​文件已加载,但是...如您所见,按钮不存在:(

css 文件在这里: http: //nie-wieder.net/metronom/css/style.css(向下滚动,phil-plus-classes)

我没有想法,如果你能帮助我,那就太好了!

最好的问候, 多米尼克

4

2 回答 2

3

我认为在使用带有 jQ​​uery UI 按钮的自定义图标时要理解的关键是图标,无论是否自定义,都添加ui-button.

因此,带有加号的蓝色正方形图标显示在银色矩形上,因为您可能使用默认的 jQuery UI 主题,这使得按钮背景为银灰色。

为了解决你想在这里做的事情,我想你会想要拥抱Theme Roller来帮助你。

在该页面上,将 Clickable:默认状态、Clickable:悬停状态和 Clickable:活动状态的背景颜色更改为与您的图像非常匹配的颜色(是的,我意识到它们比纯色更漂亮,但要承受和我在这里)。

颜色更改将确保添加图标的按钮使用您选择的颜色,而不是默认颜色。

从那里,您需要决定如何最好地执行自定义图标。

请记住,从我们已经看到的情况来看,如果将 30x30 图标添加到 a ui-button,则默认情况下,该按钮的任一侧都会有额外的填充。

如果您想更深入地挖掘,请打开您的 jquery-ui CSS 文件(默认或自定义,任一),然后搜索Interaction states.

此标题下有七行类,这是ui-state-default声明类的背景和其他颜色的地方。

同样在该 CSS 文件中,搜索button text element.

该标题下的第三行以 开头.ui-button-icon-only,与该行元素关联的样式包括padding: .4em; 这就是导致按钮比预期更宽的原因!

[旁注:在查看后面的两行时,有名为ui-button-icon-primaryand的类ui-button-icon-secondary,因此ui-button-icon-only不是为了声明该按钮仅包含一个图标,而是声明该按钮正在使用only按钮样式而不是声明一个按钮是primary,另一个是secondary。]

希望这足以让您创建满意的按钮,但如果您有任何问题,请告诉我。

于 2012-04-29T18:51:52.057 回答
1

不确定您在谈论哪个按钮,但您的<button>元素中没有任何文本。对于背景图像,您span的 s 具有宽度和高度的样式,但spans它们是不能指定宽度或高度(或填充或边距)的内联元素。将您的显示值设置inline-block为 ui-icon 跨度会使您的图像显示出来。

于 2012-04-29T17:07:37.773 回答