HTML5技术

你可能不知道的7个CSS单位 - jerrylsxu

字号+ 作者:H5之家 来源:博客园 2016-05-27 12:04 我要评论( )

如果你是一名前端开发工程师,一般px和em使用频率比较高。但是今天本文的重点是介绍一些我们使用很少、甚至么有听说的单位。 一、重温em 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 style type="text/css" body {font-size: 12px;} div {font-size: 1.5em;} /styl

如果你是一名前端开发工程师,一般px和em使用频率比较高。但是今天本文的重点是介绍一些我们使用很少、甚至么有听说的单位。

一、重温em

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<style type="text/css">

    body {font-size: 12px;}

    div  {font-size: 1.5em;}

</style>

<body>

    <div>

        Test-01 (12px * 1.5 = 18px)

        <div>

            Test-02 (18px * 1.5 = 27px)

            <div>

                Test-03 (27px * 1.5 = 41px)

            </div>

        </div>

    </div>

</body>

因为font-size具有继承性,所以层数越深字体越大。

二、rem

虽然上面使用em的情况可能会在开发中用到,但是我们有时候想有一个基准来扩展。遇到这种需求时,我们可以使用rem单位,rem中的“r”代表“root”,这意味着设置当前元素的字体大小为根元素,大多数情况下,我们会设置在html元素上。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<style type="text/css">

    html {font-size: 12px;}

    div  {font-size: 1.5rem;}

</style>

<body>

    <div>

        Test-01 (12px * 1.5 = 18px)

        <div>

            Test-02 (12px * 1.5 = 18px)

            <div>

                Test-03 (12px * 1.5 = 18px)

            </div>

        </div>

    </div>

</body>

当然,rem单位不仅应用在字体上,还可以实现到CSS 网格系统中。

三、vh 和 vw

在进行响应式布局时,我们常常会使用百分比来布局,然而CSS的百分比不总是解决每个问题的最佳方案,CSS的宽度相对于离它最近的父元素的宽度。如果你想使用视口的宽度、高度而不是父元素的宽高,可以使用vh和vw单位。 1vh = viewportHeight * 1/100; 1vw = viewportWidth * 1/100; 使用vh、vw就可以保证元素的宽高适应不同设备。

四、vmin 和 vmax

vw和vh对应于viewport的width和height,而vmin和vmax分别对应于width、height中的最小值和最大值,例如如果浏览器的宽/高被设置为1000px/600px,那么

1vmin = 600 * 1/100;

1vmax = 1000 * 1/100;

下面我们来看看几个实例: 4.1 一个正方形元件总是触摸至少两个屏的边缘

1

2

3

4

5

6

7

8

9

10

11

<style type="text/css">

.box {

    height: 100vmin;

    width : 100vmin;

}

</style>

<body>

    <div class="box" style=" margin: 0px !important; padding: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; border-bottom-left-radius: 0px !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.8em !important; outline: 0px !important; overflow: visible !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; box-sizing: content-box !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; min-height: inherit !important; background: none !important;">>

        fdasjfdlas

    </div>

</body>

4.2 覆盖全屏

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<style type="text/css">

    body {

        margin: 0;

        padding:0;

    }

    .box {

        /*宽屏显示器width > height*/

        height: 100vmin;

        width : 100vmax;

    }

</style>

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 这个发现是否会是RSA算法的BUG、或者可能存在的破解方式? - Bro__超

    这个发现是否会是RSA算法的BUG、或者可能存在的破解方式? - Bro__超

    2017-01-21 14:01

  • css-单位%号-background-size-background-position-遁地龙卷风 - 遁地龙卷风

    css-单位%号-background-size-background-position-遁地龙卷风 - 遁

    2016-10-15 18:00

  • NanUI for Winform发布,让Winform界面设计拥有无限可能 - 林选臣

    NanUI for Winform发布,让Winform界面设计拥有无限可能 - 林选臣

    2016-05-19 18:01

  • 移动开发之设计稿转换页面单位尺寸 - 海角在眼前

    移动开发之设计稿转换页面单位尺寸 - 海角在眼前

    2016-05-01 14:00

网友点评