html - 如何创建改变状态的图像?

标签 html css css-selectors image

创建显示各种状态的 HTML 图像(例如按钮:正常、悬停、选定、禁用)的最佳方法是什么? 理想情况下,我想通过 CSS 类(包括 :hover 元类)来完成。

此外,我还看到多个状态组合成一个图像(这使得图像预加载更容易),但我不知道如何根据需要显示图像的单个切片。

谢谢!

最佳答案

我假设您正在谈论 CSS Sprites。这是一篇可以帮助您入门的 A List Apart 文章:http://www.alistapart.com/articles/sprites 。基本思想是将所有图像组合成一个大图像。

通常情况下,您会有 img 标签或应用了背景图像的小元素,但现在您将单个图像应用到多个元素作为背景图像,并且每个元素都有不同的背景位置值将正确的图像放置到位。 jQuery UI 的图标就是一个例子 - 单个组合图像如下所示:

alt text

然后每个单独的图标共享一个类,并设置一个backgroun-image:

.ui-icon{width:16px;height:16px;background-image:url(../images/ui-icons_808080_256x240.png);}

以及每个不同图标的单独背景位置:

.ui-icon-carat-1-n{background-position:0 0;}
.ui-icon-carat-1-ne{background-position:-16px 0;}
.ui-icon-carat-1-e{background-position:-32px 0;}
.ui-icon-carat-1-se{background-position:-48px 0;}

对于各个交互状态也可以执行相同的操作 - 更改 :hover 上元素的背景位置,您将获得不同的颜色或图标。

关于html - 如何创建改变状态的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4243206/

相关文章:

CSS :not() selector. 如果父项不存在则应用样式

html - 列之间的距离如何更小?BOOTSTRAP

html - 为什么我的 div 高度为 0?

css - 最小高度 :100%; height:100%; not working

css - 页脚小部件中的最新帖子未对齐

html - 使用 CSS 设置类型行的最后一个样式

css - 手写笔从选择器中选择

html - 使图像出现在移动设备上的相同位置

html - 屏幕分辨率过大时DIV溢出

html - 仅限 CSS - 带有滚动条的动态标题高度和 100% 内容高度