min-height和min-width的用法总结

max-height,max-height这里我就不做探讨了,相信聪明的你如果理解了min-height,min-width,其他大家自会理解….

首先声明min(max)、(width)height,这几个属性系类有一个试用范围
应用于:除了非替换行内元素和表元素以外的所有元素

1.min-heigh

用法:设置一块区域的最小高度,额,似乎听起来有点晕,举个例子吧,

    <div class="test">
        我是一只小青蛙我是一只小青蛙我是一只小青蛙
        我是一只小青蛙我是一只小青蛙我是一只小青蛙
        我是一只小青蛙我是一只小青蛙我是一只小青蛙
    </div>
    .test{
        width: 200px;
        height: 60px;
        background-color: #E5B783;
    }

结果如图:

这里写图片描述

如何你只想让多余的内容不显示,overflow: hidden; 可以帮到你

这里写图片描述

而有些时候我们是不知道中间内容区域有多高的,但又想让该区域的高度恰好能放下中间内容区域,这个时候我们可以使用min-height

    .test{
        width: 200px;
        min-height: 60px;
        background-color: #E5B783;
    }

结果如图:

这里写图片描述

如果你还是不放心min-height属性,这里还有一种可以实现该效果的方法,

    .test{
        width: 200px;
        height: auto;
        background-color: #E5B783;
        overflow: hidden;
    }

2.min-width

然后我用min-height的思维去理解min-width,然后发现溴大了….

    <div class="test">我是一只小青蛙我是一只小青蛙我是一只小青蛙</div>
    .test{
        min-width: 100px;
        height: 60px;
        background-color: #E5B783;
    }

结果如图:

这里写图片描述

其实大家就是想知道为什么会出现那样的情况,于是做了这样的测试

    <div class="parent">
        <div class="test">我是一只小青蛙我是一只小青蛙我是一只小青蛙</div>
    </div>
    .parent{
        width: 200px;
        height: auto;
    }
    .test{
        min-width: 100px;
        height: 60px;
        background-color: #E5B783;
    }

结果如下:

这里写图片描述

发现和parent的宽度一样,也就是说min-width会继承父元素的width,而min-height不会。
如果无父元素,也就是最外层是body,则默认100%,

知道了原因,接下来就是解决的事了…..

进行百度,博文查阅,汇总了以下方法

方法一: display: inline;

    <div class="test">我是一只小青蛙我是一只小青蛙我是一只小青蛙</div>
    .test{
        min-width: 100px;
        /*height: 60px;*/
        background-color: #E5B783;
        display: inline;
    }

效果图:
这里写图片描述

莫名达到了宽高自适应的效果,但是元素成了内联元素,似乎有点不好…

方法二:inline-block

    .test{
        min-width: 100px;
        height: 60px;
        background-color: #E5B783;
        display: inline-block;
    }

效果图:

这里写图片描述

已经达到了效果,但是由于用到了display: inline-block; 有牵扯的了这个属性的“3px”问题(^o^)/~简答提一下
设置该属性的两个相邻的块,中间不是紧贴的,有一个3px(一般3px-4px,浏览器差异有时候会变)的间距。

方法三:position: absolute;

    .test{
        min-width: 100px;
        height: 60px;
        background-color: #E5B783;
        position: absolute;
        top: 0;
        left: 0;
    }

方法四:position: fixed;

    .test{
        min-width: 100px;
        height: 60px;
        background-color: #E5B783;
        position: fixed;
        top: 0;
        left: 0;
    }

方法五:float进行元素浮动

    .test{
        min-width: 100px;
        height: 60px;
        background-color: #E5B783;
        float: left;
    }

方法三,四,五同样达到了效果,

根据网上的说法,ie6以下有兼容性,我ie浏览器坏了,测不了,尴尬….

让min-width方法生效的情况总结:

  • 设置为内联属性
  • 浮动,定位,是之脱离文档流
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值