• CSS(十三).高度如何铺满全屏


    该需求来源一次面试题。

    IE6不认识!important声明,IE7、IE8、Firefox、Chrome等浏览器认识;而在怪异模式中,IE6/7/8都不认识!important声明,这只是区别的一种,还有很多其它区别。所以,要想写出跨浏览器的CSS,你必须采用标准模式。好像太绝对了,呵呵。好吧,要想写出跨浏览器CSS,你最好采用标准模式。

    目前能够找到的有两种方案:

    • A.利用css百分比实现
    • B.利用css vh 单位实现(直接设置即可,非常简单快捷)

    vh,是css中的相对长度单位,表示相对视口高度(Viewport).


    首先来说说 A 计划的实现

    原理1: 子元素通过父元素的 指定宽高,设定百分比继承父元素的宽高。
    原理2: Web浏览器在计算有效宽度的时候会考虑浏览器窗口的打开高度,如果不给宽度设定任何缺省值,则浏览器自动铺满横向宽度。但高度计算方法不一样。浏览器根本不计算内容的高度 换句话说。浏览器:100%;height:auto;

    1.怪异模式下,body 可以作为根元素。2.标准模式下,html 才是根节点。

    <!DOCTYPE html> 是 标准模式。没有则是怪异模式。

    通常我们都推荐 标准模式。也就是说,我们需要通过设置 html{width100%;}

    标准模式实现如下(html头部含有<!DOCTYPE html>)

    css

    html,body {
      height: 100%;
    }
    

    html

    <div id="box" style="background-color: blue;100px;height:100%;"></div>
    

    怪异模式实现如下(html头部不含<!DOCTYPE html>)

    css

    body {
      height: 100%;
    }
    

    html

    <div id="box" style="background-color: blue;100px;height:100%;"></div>
    

    接下来非常说说B计划,其实非常简单。直接设置 vh 即可。

    该方法需要 IE9 以上。

    原理:vh是相当于视窗的高度(满高是100vh)。vw是相当于视窗的宽度(满宽是100vw)。 浏览器内部可视区域。window.innerWidth

    张鑫旭大佬博客

    满高实现如下

    <div id="box" style="background-color: blue;height:100vh;"></div>
    
  • 相关阅读:
    CCF201503-1 图像旋转(100分)
    CCF201509-1 数列分段(100分)
    CCF201509-1 数列分段(100分)
    JSP---使用checkbox实现多项删除
    JS---checkbox实现全选
    JSP---jsp页面获取物理路径
    JSP---根据值让某一Radio处于选中状态
    JSP---Myeclipse8.5使用Sql server数据库
    JSP---JSP学习笔记
    VS---解决VS2008专业版试用90天限制的方法
  • 原文地址:https://www.cnblogs.com/can-i-do/p/8559208.html
Copyright © 2020-2023  润新知