0

有两个 div 类:一个bar嵌套一个menu

background-image放在课堂上时没有正确缩放或响应bar,并且放在课堂上时没有出现menu,似乎适合响应式样式。

此外,图像是 png,但在空白空间中呈现为空白……为什么会这样?

现在将两者都作为内联样式进行测试,但是,在嵌套在“css”文件夹中的外部样式表中,如何将图像指向与“css”文件夹路径相邻的“img”文件夹中?

对于响应性...背景图像应根据浏览器的高度/宽度缩放,视情况而定。

当前的 CSS:

.bar {
  position: static;
  bottom: 0;
  height: 10%;
  width: 100%;
  display: block;
  margin: 0 auto;
  text-align: center;
}

.menu {
  display: inline-block;
  background-image: url("img/menu-bar.png");
}
4

1 回答 1

3

你在这里问了几个问题。所以,按顺序:

默认情况下,background-image将以其实际大小重复。如果您希望它扩展,您应该设置background-size并且可能禁用background-repeat. 要将图像缩放到容器的大小,您可以设置background-size: 100% 100%;或使用background-size: cover在较小尺寸上填充容器并剪掉其余部分。另一个选项是用来background-size: contain避免裁剪图像。

至于路径问题,路径总是相对于 CSS 文件。因此,如您所说,如果样式表位于与该css文件夹相邻的img文件夹中,您只需设置相对于该css文件夹的路径。

你最终的 CSS 可能看起来像这样:

.menu {
  display: inline-block;
  background-image: url(../img/menu-bar.png);
  background-size: cover;
  background-color: transparent;
  background-repeat: no-repeat;
}

请注意,我删除了引号,因为它们不是必需的。

最后,如果您的透明度不起作用,那么图像文件本身一定有问题。CSS与PNG透明度无关。确保您的图形编辑器以适当的透明度保存 PNG。

于 2013-08-21T17:43:49.223 回答