html - CSS从不同方向改变元素宽度

标签 html css background-image

我有一个包含这样设置的图像元素的 div:

<div id="container">
  <img src="cat.jpg"/>
</div>

和 CSS:

#container {
  width: 150px;
  height: 200px;
}

#container img {
  width: 200px;
  height: 200px;
  overflow: none;
}

目前容器宽度小于 img 宽度,这意味着图像的右侧部分被裁剪掉了,这正是我想要的。但是,我希望将图像的左侧部分剪掉。

我已经尝试过背景定位,但没有得到我想要的结果。有谁知道实现此目标的正确方法?

澄清一下,我想实现下面蓝色框中表示的效果(当然,淡出部分实际上不可见):

enter image description here

最佳答案

这是一个相当简单的解决方案...

HTML

<div class="cat"></div>

CSS

.cat {
    position: absolute;
    background-image: url('http://www.deargrumpycat.com/wp-content/uploads/2013/02/Grumpy-Cat1.jpg');
    background-position: right center;
    background-size: 200px 200px; // set bg size
    height: 200px; // no need for container
    width: 150px;
}

DEMO

关于html - CSS从不同方向改变元素宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20060807/

相关文章:

javascript - 简单的 Javascript CSS 不透明度淡入淡出功能

html - 当网格项没有任何同级项时,它会占用全屏宽度

具有渐变的 CSS3 背景图像纹理不起作用

html - 链接的奇怪行为

javascript - 如何使计时器每秒滴答作响并在转发或倒带视频时使其跳转?

javascript - $http.get 和 $http.JSONP 无法获取 google api 响应

html - 在 Web 应用程序中使用 HTML 表格时消除换行符

html - 如何添加两个背景图像 - 从中​​心列的左侧和右侧

r - 更改 grob 背景渐变的方向

html - Bootstrap 响应时居中对齐社交图标 div