Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何创建独立改变颜色的相邻非矩形元素的效果?_Html_Css - Fatal编程技术网

Html 如何创建独立改变颜色的相邻非矩形元素的效果?

Html 如何创建独立改变颜色的相邻非矩形元素的效果?,html,css,Html,Css,如何执行此屏幕截图中显示的箭头: (忘记渐变。) 我可以做一个包含箭头的单一图像,但我也需要左右改变颜色的元素 图像就是这样,你可以创建一个带有一组选项的精灵,并在悬停状态下动态切换或更改。图像就是这样,你可以创建一个带有一组选项的精灵,并在悬停状态下动态切换或更改。你可以使用带透明度的PNG,每种颜色只需要一个箭头。你可以使用带透明度的PNG,每种颜色只需要一个箭头。可以使用伪元素。Chris Coyier在这里解释道: 如果您担心支持旧版本的IE,那么您可以使用IE8.js(或IE9.js

如何执行此屏幕截图中显示的箭头:

(忘记渐变。)


我可以做一个包含箭头的单一图像,但我也需要左右改变颜色的元素

图像就是这样,你可以创建一个带有一组选项的精灵,并在悬停状态下动态切换或更改。

图像就是这样,你可以创建一个带有一组选项的精灵,并在悬停状态下动态切换或更改。

你可以使用带透明度的PNG,每种颜色只需要一个箭头。

你可以使用带透明度的PNG,每种颜色只需要一个箭头。

可以使用伪元素。Chris Coyier在这里解释道:


如果您担心支持旧版本的IE,那么您可以使用IE8.js(或IE9.js):

使用伪元素是可能的。Chris Coyier在这里解释道:


如果您担心支持旧版本的IE,那么您可以使用IE8.js(或IE9.js):

您可以在以下条件下使用透明映像:

  • 浅蓝色前进箭头
  • 浅蓝背
  • 深蓝前进箭
  • 深蓝背
  • 灰色前进箭头
  • 灰背
  • 然后,在CSS中,您可以使用类似于以下内容的方法使其工作:

    .completed:after{ content: url(../images/lightblueforward.png); padding: 5px}
    .completed:before{ content: url(../images/lightblueback.png); padding: -5px}
    .current:after{...}
    .current:before{...}
    .notcompleted:after {...}
    .notcompleted:before {...}
    

    我还没试过这个,所以你得试一下。您必须在这些元素上乱动填充物/边距才能正确对齐。

    在以下情况下,您可以使用透明图像:

  • 浅蓝色前进箭头
  • 浅蓝背
  • 深蓝前进箭
  • 深蓝背
  • 灰色前进箭头
  • 灰背
  • 然后,在CSS中,您可以使用类似于以下内容的方法使其工作:

    .completed:after{ content: url(../images/lightblueforward.png); padding: 5px}
    .completed:before{ content: url(../images/lightblueback.png); padding: -5px}
    .current:after{...}
    .current:before{...}
    .notcompleted:after {...}
    .notcompleted:before {...}
    

    我还没试过这个,所以你得试一下。你将不得不在这些元素的填充/边距上乱动,才能正确排列。

    如果你认为这不可能,没有CSS你会怎么做?如何做取决于你的答案:你需要支持哪些浏览器?如果你认为这不可能,如果没有CSS,你会怎么做?答案取决于你的答案:你需要支持哪些浏览器?