为了账号安全,请及时绑定邮箱和手机立即绑定

纯css实现宽高随浏览器变化而变化

标签:
Html/CSS
  1. 1.用padding

  2. padding设置百分比时,是相对于浏览器宽度设置的。

  3. 思路:将宽度设为百分比,高度为0,设置padding-top为百分比,这样当浏览器宽度变化时,宽高都会变化

  4. 缺点:div里面的内容被挤到外边来

  5. <div class="content">
        这是自适应图片
    </div>
    .content{
        width: 30%;
        height: 0px;
        padding-top: 30%;
        background-color: red;
    }

  6. https://img1.sycdn.imooc.com//5d327ee70001505203860383.jpg


  7. 我们可以看到,div里面的字被挤到外边来了
    2.用vh,vw实现


  8. vh是viewport hight的缩写,是CSS3新增的单位。1vh表示视口高度的1%

  9. 1vw = 视口宽度的1%

  10. <div class="content">
        通过vw,vh实现的正方形</div>
    </div>
    .content{
        width: 50vw;
        height: 50vw;
        background-color: red;
    }
  11. 3. 扩展:用js实现

  12. <body>
        <div id="content">
            js实现宽高自适应    </div>
        <script>
            window. = function(){            let content = document.getElementById("content")
                content.style.width = window.innerWidth*0.3 + "px"
                content.style.height = window.innerHeight*0.3 + "px"
    
                window.onresize = function(){
                    content.style.width = window.innerWidth*0.3 + "px"
                    content.style.height = window.innerHeight*0.3 + "px"                
                }
                content.style.backgroundColor = "red"
            }    </script></body>
  13. window.onresize 监听视口变化

  14. window.innerWidth 获取视口的宽度

  15. window.innerHeight 获取视口的高度



作者:椰果粒
链接:https://www.jianshu.com/p/59211e5ab5db

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消