css中height和max-height用法上有啥区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了css中height和max-height用法上有啥区别相关的知识,希望对你有一定的参考价值。
height是指容器的当前高度,比如你设置为100PX了它默认的就是这么高了!但是Max-height是指这个容器的最高的高度,当然在你没把有它的溢出设为隐藏的话,效果没多大区别;但当OVERFLOW这个属性为:hidden的时候
就会有区别了。同样MIN-HEIGHT则为最小的高度。但是我记得好像IE6及更低版本对这个属性不读取! 参考技术A 当你设置了页面百分比显示后,当max-width设置的值小于你的页面百分比后的值,页面的宽度就为你max-width显示的值。当你设置的百分比转换的宽度等于width宽度时,页面就显示width的值。当你min-width的值大于你百分比后的值,页面就显示你min-width显示的值
在IE 11中使用max-width和max-height保持图像比例
我正在尝试将图像放入容器内,同时保持其大小比例。图像应取整个高度或宽度,具体取决于方向。我的解决方案适用于我测试的所有浏览器,但IE11(令人惊讶的是在10和9中工作)。
在IE 11中,图像在右侧裁剪。如果可能的话,我想要一种纯粹的CSS方式,我不关心它的居中。
这是JSFiddle:https://jsfiddle.net/wagad0u8/
<div class="owl-item" style="width: 465px;">
<a class="img-flux" href="page1.html">
<img alt="omg" src="http://placehold.it/1000x100">
</a>
</div>
<div class="owl-item" style="width: 465px;">
<a class="img-flux" href="page1.html">
<img alt="omg" src="http://placehold.it/400x780">
</a>
</div>
.img-flux img {
border: 0;
max-height: 100%;
max-width: 100%;
height: auto;
width: auto;
position: relative;
transition: all 0.3s;
margin: 0 auto;
float: none;
display: block;
vertical-align:middle;
}
#content-block *:last-child {
margin-bottom: 0px;
}
.owl-item, .owl-item .img-flux {
height: 100%;
}
.img-flux {
background-color: #ECECEC;
position: relative;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
}
.owl-item{
float:left;
height:300px;
margin-bottom:50px;
}
答案
这似乎是IE11中的一个错误:Bug Report。添加flex: 1
(如报告中所示)
.img-flux img {
flex: 1;
max-width: 100%;
max-height: 100%;
}
适合我。父母的Flexbox似乎没问题,所以即使是居中也很容易。
另一种选择是
flex: 0 0 auto; /* IE */
object-fit: scale-down; /* FF */
在img
上,而不是flex: 1
,增加了与Firefox的兼容性。有关详细信息,请参阅注释和错误报告。
另一答案
.img-flux img {
border: 0;
max-height: 100%;
max-width: 100%;
height: auto;
width: 100%;
position: relative;
transition: all 0.3s;
margin: 0 auto;
float: none;
display: block;
vertical-align: middle;
}
另一答案
使用
vw - for width instead of %
和
vh - for height instead of %
在IE11等旧版本中受支持。
https://jsfiddle.net/wagad0u8/1/
要仅将更改的代码应用于IE10 +使用:
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
/* IE10+ */
.img-flux img {
max-width : 100vw;
max-height : 100vh;
}
以上是关于css中height和max-height用法上有啥区别的主要内容,如果未能解决你的问题,请参考以下文章
css的min-width,max-width,max-height,min-height在啥情况下有效
如何让CSS Transition的max-height: none?
在 IE 11 中使用 max-width 和 max-height 保持图像比例