Usually, we can set a CSS property for the image to define its height and width. But sometimes, we just want to control the maximum visible size of the image. There are generally two methods for such an operation: 1. Use CSS property values directly; 2. Use JavaScript to dynamically set CSS values.
1. Fixed size
Generally, in order to limit the size of the image, the following HTML attribute value or CSS attribute value is used to define it:
<img src="/static/imghwm/default1.png" data-src="http://www.linuxfly.org/logo.gif" class="lazy" style="max-width:90%" style="max-width:90%" border="0" alt="Example code sharing on how to use CSS to adjust image size" > img { width: 600px; height: 500px; }
But this setting is too rigid and not flexible enough.
2. Use CSS attribute values
img.qtipImg { max-width: 500px; width: 500px; width:expression(this.width > 500 ? "500px" : this.width); overflow:hidden; }
Here defines a CSS rule for the img tag under the qtipImg class, through the max-width attribute Control the image within the width range of 500px and make it adaptive to proportions.
However, the support of this attribute by various browsers is not consistent. For example, IE6 does not support this attribute.
So, an expression action is added later. The statement in brackets after the operator is a JavaScript script, which is used to dynamically adjust the image size.
The last one, overflow:hidden, is to prevent the part that exceeds the set size from being hidden when the definition of the above two attributes fails, so as to avoid display exceptions.
This setting has been tested and works normally under IE7, IE8, and FireFox 3.5.
3. Use JavaScript script
Each browser (including different versions) has different support for CSS. For example: IE 8 has canceled support for the expression action. At this time, using JavaScript to adjust the image size is also a good method. But its flaw is that using pure JavaScript script, the size will overflow during the download of the image, and JavaScript will not adjust its size to the appropriate value until the download is completed.
1. With the help of a transferred Image object
Two JavaScript functions:
function getImageSize(FilePath) { var imgSize={width:0,height:0}; image=new Image(); image.src=FilePath; imgSize.width = image.width; imgSize.height = image.height; return imgSize; } function fixImageSize(originalImage) { fixSize = 500; if ( originalImage.width > fixSize ) { originalImage.height = Math.round( originalImage.height * fixSize / originalImage.width ); originalImage.width = fixSize; } return originalImage; }
When used, pass the address of the image to these two function, the return value is the adjusted image:
img = getImageSize("http://www.linuxfly.org/logo.gif"); img = fixImageSize(img); finalresult = '<img src="/static/imghwm/default1.png" data-src="'+attachUrl+'" class="lazy" style="max-width:90%" height="'+img.height+'" alt="'+filename+'"/>';
2. Adjust the size after loading the DOM
Although the CSS expression method will Canceled, but it is still a good method to directly use JavaScript to calculate appropriate CSS values. For example, jQuery's $(document).ready() method can avoid overflow problems when loading images.
The following script comes from: here
$(document).ready(function() { $('.post img').each(function() { var maxWidth = 100; // 图片最大宽度 var maxHeight = 100; // 图片最大高度 var ratio = 0; // 缩放比例 var width = $(this).width(); // 图片实际宽度 var height = $(this).height(); // 图片实际高度 // 检查图片是否超宽 if(width > maxWidth){ ratio = maxWidth / width; // 计算缩放比例 $(this).css("width", maxWidth); // 设定实际显示宽度 height = height * ratio; // 计算等比例缩放后的高度 $(this).css("height", height * ratio); // 设定等比例缩放后的高度 } // 检查图片是否超高 if(height > maxHeight){ ratio = maxHeight / height; // 计算缩放比例 $(this).css("height", maxHeight); // 设定实际显示高度 width = width * ratio; // 计算等比例缩放后的高度 $(this).css("width", width * ratio); // 设定等比例缩放后的高度 } }); });
The above is the detailed content of Example code sharing on how to use CSS to adjust image size. For more information, please follow other related articles on the PHP Chinese website!

在css中,可用list-style-type属性来去掉ul的圆点标记,语法为“ul{list-style-type:none}”;list-style-type属性可设置列表项标记的类型,当值为“none”可不定义标记,也可去除已有标记。

区别是:css是层叠样式表单,是将样式信息与网页内容分离的一种标记语言,主要用来设计网页的样式,还可以对网页各元素进行格式化;xml是可扩展标记语言,是一种数据存储语言,用于使用简单的标记描述数据,将文档分成许多部件并对这些部件加以标识。

在css中,可以利用cursor属性实现鼠标隐藏效果,该属性用于定义鼠标指针放在一个元素边界范围内时所用的光标形状,当属性值设置为none时,就可以实现鼠标隐藏效果,语法为“元素{cursor:none}”。

在css中,rtl是“right-to-left”的缩写,是从右往左的意思,指的是内联内容从右往左依次排布,是direction属性的一个属性值;该属性规定了文本的方向和书写方向,语法为“元素{direction:rtl}”。

转换方法:1、给英文元素添加“text-transform: uppercase;”样式,可将所有的英文字母都变成大写;2、给英文元素添加“text-transform:capitalize;”样式,可将英文文本中每个单词的首字母变为大写。

在css中,可以利用“font-style”属性设置i元素不是斜体样式,该属性用于指定文本的字体样式,当属性值设置为“normal”时,会显示元素的标准字体样式,语法为“i元素{font-style:normal}”。

在css3中,可以用“transform-origin”属性设置rotate的旋转中心点,该属性可更改转换元素的位置,第一个参数设置x轴的旋转位置,第二个参数设置y轴旋转位置,语法为“transform-origin:x轴位置 y轴位置”。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),
