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

使用CSS剪辑/裁剪背景图像

胡野
2023-03-14
问题内容

我有这个HTML:

<div id="graphic">lorem ipsum</div>

使用此CSS:

#graphic { background-image: url(image.jpg); width: 200px; height: 100px;}

我正在应用的背景图像是200x100像素,但我只想显示200x50像素的背景图像的裁剪部分。

background-clip似乎不是正确的CSS属性。我该怎么用呢?

background-position
不应使用,因为我在Sprite上下文中使用了上述CSS,在该Sprite上下文中,我要显示的图像部分小于定义CSS的元素。


问题答案:

您可以将图形放置在具有其自身尺寸上下文的伪元素中:

#graphic {
  position: relative;
  width: 200px;
  height: 100px;
}
#graphic::before {
  position: absolute;
  content: '';
  z-index: -1;
  width: 200px;
  height: 50px;
  background-image: url(image.jpg);
}



#graphic {

    width: 200px;

    height: 100px;

    position: relative;

}

#graphic::before {

    content: '';



    position: absolute;

    width: 200px;

    height: 50px;

    z-index: -1;



    background-image: url(http://placehold.it/500x500/); /* Image is 500px by 500px, but only 200px by 50px is showing. */

}


<div id="graphic">lorem ipsum</div>

浏览器支持很好,但是如果需要支持IE8,请使用单个冒号:beforeIE在此之前的版本中均不支持这两种语法。



 类似资料:
  • 默认情况下,背景颜色的显示范围为 border-box 区域,不重复的背景图像的显示范围为 padding-box 区域,而重复的背景图像的显示范围为 border-box 区域。然而,有时候却希望控制背景的显示范围。 这时,就可以通过 background-clip属性用来定义元素背景的裁剪区域,即背景的显示范围,可选值有 border-box | padding-box | content-b

  • 我试图在从图库中选择图像后使用intent来裁剪图像。以下是我的代码片段 在这里,我使用PICK_IMAGE_REQUEST意图句柄调用上面的代码段 由于我在裁剪后使用了相同的意图,即PICK_IMAGE_REQUEST,可能会出现什么问题

  • 在我的fabricjs中,我制作了一张画布,在画布上添加了一幅图像,并将图像设置为背景。然后我把卡瓦什剪到一定的宽度和高度。 剪辑完画布后,我想要一个新的画布或相同的画布,以剪裁区域作为背景,所有画布都以其宽度和高度覆盖画布,或者可以制作具有剪裁区域高度和宽度的新画布 目前我正在做这件事。。 在这里,我可以轻松地剪辑画布与我给定的左,顶,宽度和高度,但我得到了相同的画布与剪辑部分和删除部分与另一种

  • 问题内容: 下面的代码可以很好地裁剪图像,这是我想要的,但是对于较大的图像,它也可以正常工作。有什么办法可以缩小图像吗? 想法是,在裁剪之前,我将能够使每个图像的大小大致相同,以便每次都能获得良好的效果 代码是 问题答案: 如果要生成缩略图,则必须首先使用调整图像大小。您必须调整图像的大小,以使图像较小侧的尺寸等于拇指的相应侧。 例如,如果源图像为1280x800px,拇指为200x150px,则

  • 我将<code>背景 1.back_xml: 2.瓷砖.xml 现在,我将back.xml设置为< code >背景以< code>LinearLayout工作正常。 我需要有一个圆角,以及它的边框。但是我只有圆角的边框,而不是图像,我的代码中有什么问题吗? 这是我的照片:

  • 本节,我们将裁剪图像的一部分,然后把其结果绘制到画布上。 图3-2 裁剪图像 绘制步骤 按照以下步骤,裁剪图像的一部分,再把结果绘制到画布: 1. 定义画布上下文: window.onload  = function(){ var canvas  = document.getElementById("myCanvas"); var context  = canvas.getContext