>  기사  >  웹 프론트엔드  >  Web前端新人笔记之height、min-height的区别 - 来治猩猩的我

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

WBOY
WBOY원래의
2016-05-20 13:49:191740검색
<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

 


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.