为什么jquery-ui-dialog同时使用背景颜色和覆盖图像?

rip*_*234 7 css jquery jquery-ui background-image background-color

jquery-ui-dialog使用叠加div作为模态对话框.div有这种风格:

.ui-widget-overlay {
  background: #AAA url(images/ui-bg_flat_75_aaaaaa_40x100.png) 50% 50% repeat-x
  opacity: 0.3;
}
Run Code Online (Sandbox Code Playgroud)

为什么它同时指定背景颜色和图像?为什么不只是一种颜色?

Did*_*hys 10

我认为始终将颜色与背景图像一起使用会更安全.

浏览器无法支持png格式,或者图像请求可能失败(无论出于何种原因).

另一方面,将始终应用颜色.将其视为一种备份计划:-)


编辑:

实际上,您不需要图像文件来创建彩色半透明叠加层.只是background-color而且opacity足够了.

我认为确切的原因是jquery ui 允许应用纹理(您可以在jquery ui网站上的ThemeBuilder应用程序中选择它们或禁用它们.这就是使用图像的原因,即使没有选择纹理.实际上没有纹理"平面"纹理.您实际上可以在图像文件的名称中看到它:

ui-bg_flat_75_aaaaaa_40x100.png
Run Code Online (Sandbox Code Playgroud)
  • 扁平 =没有纹理,颜色扁平
  • 75 =纹理的不透明度(使用png alpha通道)
  • aaaaaa =纹理的颜色
  • 40x100 =图案的大小

如果将"白线"纹理应用于ThemeBuilder中的叠加层,它将生成具有以下名称的图像文件:

ui-bg_ white-lines _75_aaaaaa_40x100

答案的第一部分仍然有效,但这是jquery ui案例的主要原因.

  • 为什么不只是一种颜色? (2认同)