图像宽度:更改父块高度后的自动和最大高度
Image width:auto and max-height after changing parent block height
请参阅chrome中的示例。我尝试用不应该超过父块的图像来实现行高动画。
为什么图像宽度只有在更改任何属性示例后才会更改?
尝试单击第一个按钮,图像高度将更新,但宽度不会。然后单击第二个按钮,不透明度将更改,图像宽度将正确设置。
<!DOCTYPE html>
<html>
<head>
<title>Image resizing</title>
<style>
.header-row {
width:900px;
height:90px;
margin:0 auto;
background:#0f3a51;
-webkit-transition: all .9s ease;
-moz-transition: all .9s ease;
-ms-transition: all .9s ease;
-o-transition: all .9s ease;
transition: all .9s ease;
}
.header-row img {
display: inline;
max-height: 100%;
background:#ff9900;
}
.header-row-reduced {
height:50px;
}
</style>
</head>
<body>
<div id="hr" class="header-row">
<img id="img" src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Volkswagen_Logo.png/600px-Volkswagen_Logo.png" alt="">
</div>
<button id="btn" onclick="check();">Update row height</button>
<button id="btn" onclick="changeProp();">Toggle opacity</button>
<script>
var el = document.getElementById('hr'),
img = document.getElementById('img');
function check(){
var classes = el.className.split(' '),
hasClass = classes.indexOf('header-row-reduced');
if(~hasClass) {
classes.splice(hasClass,1);
} else {
classes.push('header-row-reduced');
}
el.className = classes.join(' ');
}
function changeProp() {
img.style.opacity = '0.5';
}
</script>
</body>
</html>
这是个好问题。我不知道为什么这没有像预期的那样起作用。
但你也可以通过对元素应用具有高度的规则来修复它:
.header-row-reduced, .header-row-reduced img {
height:50px;
}
这是有效的,但我相信这并不是你想要的!
以像素为单位设置最大高度也可以解决这个问题。
相关文章:
- 使用JavaScript根据窗口/视口的高度动态调整图像大小
- 如果宽度是百分比,如何设置以px为单位的图像高度
- 根据图像高度添加类
- 图像宽度和高度,无拉伸或溢出
- 自动缩放图像以匹配文本高度
- 使用asp.net FileUpload时从javascript获取图像宽度和高度
- whay可以't我使用javascript同时更改图像的高度和宽度
- Cloudinary上传小部件-样式上传预览图像(宽度和高度)
- 尝试使用window.innerHeight和Javascript设置图像高度
- 如果我将宽度调整为另一个值,找出我的图像的高度
- Javascript图像宽度和高度未定义值
- 我想根据容器中包含的图像设置容器的高度
- 高图表图像渲染器自动高度
- 灯箱类型的东西,使图像成为浏览器高度的百分比
- 如何在浏览器宽度/高度变化时动态调整图像网格的大小
- 当溢出-x 设置为隐藏时处理可变高度图像的最佳方法是什么?
- 在画布HTML5中查找上传的宽度和高度图像.(带文件读取器)
- 使用JavaScript查找图像的高度-图像加载错误
- 将悬停效果应用于响应高度图像
- 垂直居中可变高度图像,同时保持最大宽度/高度