当只给定宽度或高度时,是否所有浏览器都按比例缩放图像
Do all browsers scale images proportionally when only width or height is given?
我注意到,如果我只指定图像的一个维度,无论是使用img
标记上的width
和height
属性,还是使用CSS,浏览器都会自动按比例缩放另一个维度。
例如,如果我有一个100x150的图像,并且我指定了width="50"
或width:50px;
,浏览器会自动将高度设置为75像素。
这种行为是否适用于所有浏览器?为了节省时间,我可以省略一个吗?我正在用JavaScript预加载图像并动态插入它们,所以在下载时不必担心图像会影响布局。
是的,这是CSS2规范的一部分:
[…]如果"width"的计算值为"auto",则"height"具有其他计算值,并且该元素确实具有固有比率;则使用的"宽度"值为:
(used height) * (intrinsic ratio)
定义的CSS宽度或高度将在任何符合CSS2的浏览器中正确缩放(我在IE6及更高版本中测试过它)。
我认为这是一个非常有用的功能。假设我有一个800px
宽度布局的论坛,我允许用户上传图像。将帖子的图像设置为没有定义高度的max-width:790px
(默认为height:auto
)将自动使它们适合,而不会破坏我的布局,同时保持正确的纵横比。整洁的东西注意:IE6不支持max-width
。
显然,如果您定义了一个具有width:auto
的CSS height
,也同样适用。
这里有一个Fiddle用于测试。显然,HTML属性在几乎所有的浏览器中都能正常伸缩。但我仍然建议使用CSS进行元素样式设计,以保持一致性并保持标记的整洁。样式应该通过CSS来完成。
相关文章:
- 访问布局信息是否也会导致浏览器重排
- 是否可以在浏览器中使用纯JavaScript保存音频流
- jQuery检测浏览器是否支持Zoom
- 是否可以使用iframe API在iOS浏览器上播放youtube视频
- javascript跨浏览器确定用户是否滚动到页面底部
- 是否可以在系统/电脑浏览器中访问手机摄像头
- javascript移动交叉浏览器确定用户是否滚动到页面底部
- 是否可以创建一个带有进度条的跨浏览器AJAX照片上传器
- 浏览器是否持久缓存脚本元素的编译版本
- 如何(功能)检测浏览器是否支持WebM alpha透明度
- 同步(阻塞)ajax调用是否可以阻塞浏览器'的UI
- 如何知道浏览器是否阻止插件
- qoxdoo中的离线存储是否与所有浏览器和本地文件系统兼容
- AMD应用程序在浏览器中的加载速度是否快于CommonJS应用程序
- WebRTC-是否可以将浏览器代理视频从源发送到接收器
- 检查具有特定标题的浏览器选项卡是否已存在
- 假设浏览器渲染为60 fps是否安全
- 查看浏览器是否在React中更改了路线
- 如何检查浏览器中是否支持文本溢出:省略号
- 检查网络驱动程序是否浏览器仍处于打开状态