Heim  >  Artikel  >  Web-Frontend  >  Web前端新人笔记之height、min-height的区别 - 来治猩猩的我

Web前端新人笔记之height、min-height的区别 - 来治猩猩的我

WBOY
WBOYOriginal
2016-05-20 13:49:191734Durchsuche
<span style="font-family: Microsoft YaHei; font-size: 15px;"> 浏览器参照基准:Firefox, Chrome, Safari, Opera, IE;<br><span style="color: #ff0000;">  * IE6不支持CSS min-height属性。最小高度的定义:1. 元素拥有默认高度;2. 当内容超出元素的默认高度时,元素的高度随内容增加而增加<br><span style="color: #000000;">Figure 1:如下图的需求</span><br><img src="http://images2015.cnblogs.com/blog/707288/201605/707288-20160504085333263-493495629.png" alt=""><br>  * 如上图,两个区域的高度不一样。这就是 min-height 的效果演示。元素拥有一个默认的高度,当内容超出该默认高度时,元素的高度同时随内容而增加。</span></span>
eg1:<br><style><span style="color: #000000;">
.test{
    <span style="color: #0000ff;">float<span style="color: #000000;">:left;
    width:200px;
    margin:<span style="color: #800080;">0<span style="color: #000000;"> 5px;
    padding:10px;
    border-<span style="color: #000000;">radius:10px;
    background:#eee;
}
.test{
    min-height:80px;  <span style="color: #008000;">/*<span style="color: #008000;"> 实现最小高度代码 <span style="color: #008000;">*/<span style="color: #000000;">
}
</style>

<div style="color: #0000ff;">class=<span style="color: #800000;">"</span><span style="color: #800000;">test</span><span style="color: #800000;">"</span>>喝水为什么会中毒?</div>
<div style="color: #0000ff;">class=<span style="color: #800000;">"</span><span style="color: #800000;">test</span><span style="color: #800000;">"</span>>喝水为什么会中毒?<br>日前有媒体报道称日饮用3升水年轻10岁,于是有人真开始喝了,可喝了4天后,尿血了。水是生命之源,但是不是喝水越多越好呢?喝水多了又会发生什么呢?</div>
<span style="color: #ff0000; font-family: Microsoft YaHei; font-size: 15px;"> * 如上代码,我们只需要一行代码<span class="Apple-converted-space"> <code>min-height:80px;</code><span class="Apple-converted-space"> 就可以实现非IE6浏览器的最小高度。</span></span></span>
<span style="color: #000000;">.test{
    height:80px;  </span><span style="color: #008000;">/*</span><span style="color: #008000;"> 看看ie6会如何 </span><span style="color: #008000;">*/</span><span style="color: #000000;">
}</span>

  * 将 min-height:80px; 改成 height:80px; 在IE6下查看这个样式。你可能发现了奇迹,是的,你没看错。这个DEMO的表现与eg1的demo在高级浏览器下的表现一致,即最小高度的效果。

  * 但这还不是大获全胜的时候,因为你会发现本例在高级浏览器下都GameOver了。肿么办,这不是坑爹么?别着急,作为一个合格的coder,你肯定会想各种办法来搞定它。

  * 你是一个前端工程师,所以你必须要知道一些浏览器专属的CSS Hack,虽然大多数情况下不推荐使用。我们想办法让高级浏览器仍然使用min-height,而ie6使用height,这样似乎就可以达成目的了,动手吧。

 

<span style="color: #000000;">Figure 4:大获全胜的场景<br>.test{
    min</span>-height:80px;  <span style="color: #008000;">/*</span><span style="color: #008000;"> for ie7+, firefox, chrome, safari, opera </span><span style="color: #008000;">*/</span><span style="color: #000000;">
    _height:80px;        </span><span style="color: #008000;">/*</span><span style="color: #008000;"> for ie6 </span><span style="color: #008000;">*/</span><span style="color: #000000;">
}</span>

  * ok, 我们实现了包含ie6在内的min-height效果。

  * 记住,千万别加overflow除visible之外的值,否则你的ie6又要悲剧demo

 


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn