当前位置: 首页 > 面试题库 >

使用CSS在背景图片上设置尺寸?

沈实
2023-03-14
问题内容

是否可以使用CSS设置背景图片的大小?

我想做类似的事情:

background: url('bg.gif') top repeat-y;
background-size: 490px;

但是这样做似乎是完全错误的…


问题答案:

CSS2

如果需要放大图像,则必须在图像编辑器中编辑图像本身。

如果使用img标签,则可以更改大小,但是如果您需要将图像作为其他内容的背景,那将无法达到预期的效果(并且它不会像您想要的那样重复出现)…

CSS3 释放力量

在CSS3中使用可以做到这一点background-size

所有现代的浏览器都支持此功能,因此除非您需要支持旧的浏览器,否则这是这样做的方法。
支持的浏览器:
Mozilla Firefox 4.0+(Gecko 2.0 +),Microsoft Internet Explorer 9.0 +,Opera 10.0
+,Safari 4.1+(webkit 532)和Chrome 3.0+。


.stretch{
/* Will stretch to specified width/height */
  background-size: 200px 150px;
}
.stretch-content{
/* Will stretch to width/height of element */
  background-size: 100% 100%;
}

.resize-width{
/* width: 150px, height: auto to retain aspect ratio */
  background-size: 150px Auto;
}
.resize-height{
/* height: 150px, width: auto to retain aspect ratio */
  background-size: Auto 150px;
}
.resize-fill-and-clip{ 
  /* Resize to fill and retain aspect ratio.
     Will cause clipping if aspect ratio of box is different from image. */ 
  background-size: cover;
}
.resize-best-fit{
/* Resize to best fit and retain aspect ratio.
   Will cause gap if aspect ratio of box is different from image. */ 
  background-size: contain;
}

特别是,我喜欢covercontain赋予我们前所未有的控制权的价值。

回合

您还可以background-size: round结合使用具有重复含义的含义:

.resize-best-fit-in-repeat{
/* Resize to best fit in a whole number of times in x-direction */ 
  background-size: round auto; /* Height: auto is to keep aspect ratio */
  background-repeat: repeat;
}

这将调整图像宽度,使其适合背景定位区域中的所有次数。

附加说明
如果您需要的大小是静态像素大小,则可以通过物理方式调整实际图像的大小。这既可以提高调整大小的质量(假设您的图像软件比浏览器做得更好),又可以在原始图像大于要显示的图像时节省带宽。



 类似资料:
  • 问题内容: 我一直在尝试在背景图片的顶部使用线性渐变,以使背景底部的阴影效果从黑色变为透明,但似乎无法使其显示。 我在这里阅读了其他案例和示例,但没有一个对我有用。我只能看到渐变或图像,但不能全部看到。 只需单击第一个徽标,就忽略该效果,此后我要尝试的是整个网站的正文。 这是我的CSS代码: 问题答案: 好的,我通过 在行尾 添加背景图片的网址来解决此问题。 这是我的工作代码:

  • 问题内容: 如果选择了该面板(单击该面板),则该面板的颜色为蓝色。另外,我在该面板上添加了一个小标志(图像),它表示所选面板之前已被选中。 因此,如果用户看到例如10个面板,其中有4个带有这个小标记,则他知道自己之前已经单击了这些面板。到目前为止,这项工作还不错。现在的问题是我无法显示小标志并使面板同时变为蓝色。 我使用css将面板设置为蓝色,使用设置背景图像。但是背景色似乎在图像上方,因此您看不

  • 问题内容: 应该是一个相当简单的问题。在我的网站上,我这样做: 我想做的是使背景图像变暗。由于我在该DIV中包含UI元素,因此我认为我真的不能在其上放置另一个div来使其变暗。有什么建议吗? 问题答案: 您可以将CSS3 LinearGradient属性与背景图像一起使用,如下所示: 这是一个演示:

  • 问题内容: 我计划为朋友建立一个自定义的图片库,我确切地知道我将如何制作HTML,但是CSS遇到了一个小问题。 (如果可能,我希望页面样式不依赖于jQuery) 我的问题是:CSS 中的HTML 我将这种格式用于html缩略图: 我认为CSS应该看起来像这样: 我的目标是把从我的HTML文件,并使用它的每一个(或多个)在我的CSS文件来源。 问题答案: 您最终将可以使用 但是据我所知,这还没有实现

  • 问题内容: 我学习Java已有几周了,在将背景图像应用于JFrame时,我真的很困惑。我遇到的每个教程都不像我那样创建Frames(我扩展了JFrame),或者如果这样做,说明还不够清楚,我无法理解。 下面的代码来自我自己的项目,因此可以帮助我练习到目前为止所学的内容。请您能否以下面的代码为基础,并向我说明要添加的内容和位置,所以我可能以图像作为框架的背景? 我真正要感谢的一件事是,如果您能解释事

  • 问题内容: 有什么方法可以将图像设置为背景JFrame? 问题答案: 没有内置方法,但是有几种方法可以实现。目前我能想到的最直接的方法是: 创建的子类。 重写绘制想要显示的图像的方法。 设置内容窗格的是这个子类。 一些示例代码: 请注意,如果你要使用此代码,则不会处理调整图像大小以适合的大小。