关于如何利用CSS自动调整图片的大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于如何利用CSS自动调整图片的大小相关的知识,希望对你有一定的参考价值。

我现在在做一个div的拖拽,当我把一张图片从一个比较大的DIV中拖到一个较小的DIV中时,怎样才能使图片自动变小,以适应那个小的DIV的?
还是我只能通过JS代码来实现呢?
还是我的做一张小的图片呢?

1、首先需要新建一个html页面。

2、然后输入页面的标题,可以按照下方图中的进行设置。

3、然后在根据下方图片中的代码进行编辑,

4、在两个div的class 中添加相同的控制图片的class名为了 ”img“,并为div添加控制宽度的样式。

5、在两个div中加入相同的图片<img src="images/5.png" />,在浏览器打开页面发现加入图片后把原来的div都给覆盖掉了。

6、然后在输入命令.img img width:100%; height:auto,这样就完成了。

参考技术A img max-width: 800px;  height: auto;

 代码中的max-width:800px限制图片的最大宽度为800像素,而下面的hight:auto很关键,可以保证图片有正确的长宽比,不至于因为被调整宽度而变形。

img width:100%;height: auto;

这种css是图片自适应,不管img的父元素宽度高度如何调整,img都会等比填充,知道宽度和父元素一样。

img  width:100px; height:100px;

这种是直接控制图片的 宽和高 

参考技术B <style>
.demonwidth:100%;max-width:500px;height:auto;
.demon imgwidth:100%;
</style>

<div class="demon"><img src="demon.jpg"/></div>

参考技术C 不用再CSS里调吧
HTML里直接都可以了
如下
<img width="***" height="***" src="***.gif" alt="****" />

也可以直接 做个小的图片在放到网页里

希望有帮助..
参考技术D js版和css版自动按比例调整图片大小方法,分别如下:
<title>javascript图片大小处理函数</title>
<script language=Javascript>
var proMaxHeight = 150;
var proMaxWidth = 110;
function proDownImage(ImgD)
var image=new Image();
image.src=ImgD.src;
if(image.width>0 && image.height>0)
var rate = (proMaxWidth/image.width < proMaxHeight/image.height)?proMaxWidth/image.width:proMaxHeight/image.height;
if(rate <= 1)
ImgD.width = image.width*rate;
ImgD.height =image.height*rate;

else
ImgD.width = image.width;
ImgD.height =image.height;



</script>
</head>
<body>
<img src="999.jpg" border=0 width="150" height="110" onload=proDownImage(this); />
<img src="room.jpg" border=0 width="150" height="110" onload=proDownImage(this); />
</body>
纯css的防止图片撑破页面的代码,图片会自动按比例缩小:
<style type="text/css">
.content-width MARGIN: auto;WIDTH: 600px;
.content-width imgMAX-WIDTH: 100%!important;HEIGHT: auto!important;width:expression(this.width > 600 ? "600px" : this.width)!important;
</style>

<div class="content-width">
<p><img src="/down/js/images/12567247980.jpg"/></p>
<p><img src="/down/js/images/12567247981.jpg"/></p>
</div>

如何设置 SDWebImage 的 placeholderImage 的显示尺寸大小

很多页面其实就是这种展示结果,通常需要 imageView , textLabel , detailTextlabel ,而 UITableViewCell 本身提供了方便的自动布局(当有图片和没图片时,textLabel和detailLabel的位置会左右自动调整). 但是图片的大小却是没有办法固定的(直接设置 imageView.frame 是无法固定 imageView 的大小的),那么一般来说解决这个问题的办法有两种:

  固定显示图片的大小(包括PlaceHolder)
  自定义tableViewCell,添加自定义的 imageView , textLabel 和 detailTextLabel
  这两种方式都可以解决这个问题,但是这两种方式其实都挺麻烦的,能否直接固定imageView的大小呢? 方法是有的,只需要重载 layoutSubviews 即可

  派生UITableViewCell

  //自定义一个Cell
  @interface MMCell : UITableViewCell

  @end

  @implementation MMCell

  //重载layoutSubviews
  - (void)layoutSubviews
  
  UIImage *img = self.imageView.image;
  self.imageView.image = [UIImage imageName:@"res/PlaceHolder.png"];
  [super layoutSubviews];
  self.imageView.image = img;
  

  @end
  这样,我们只要使用 MMCell 就可以固定 imageView 的大小了,且大小为 PlaceHolder.png 的大小(一般来说这种页面都会使用一个 PlaceHolder.png 来显示默认图片).

  原理是在 UItableVeiw 的 layoutSubviews 调用时,会根据 imageView.image 的大小来调整 imageView , textLabel , detailTextLabel 的位置,在此之前我们先将 imageView.image 设置为 PlaceHolder.png 图片,等待重新布局完后再将原本的图片设置回去就可以了
参考技术A 点设置

以上是关于关于如何利用CSS自动调整图片的大小的主要内容,如果未能解决你的问题,请参考以下文章

在css中调整图像大小以自动调整div [重复]

css中如何调整插入背景图片的大小

IOS开发中如何调整WKWebView中的图片大小

DIV CSS 中,如何控制显示的图片大小?

如何在css中动态调整图像大小?

css 如何根据显示器屏幕大小自动调整显示区域