目录
前面的话
绝对长度单位
像素px(pixels)
英寸in(inches)
厘米cm(centimeters)
毫米mm(millimeters)
1/4毫米q(quarter-millimeters)
点pt(points)
派卡pc(picas)
字体相关相对长度单位
em
rem
ex
ch
视口相关相对长度单位
vh
vw
vmin
vmax
首页 web前端 html教程 深入理解CSS中的长度单位_html/css_WEB-ITnose

深入理解CSS中的长度单位_html/css_WEB-ITnose

Jun 24, 2016 am 11:18 AM

× 目录 [1]px [2]in [3]cm [4]mm [5]q [6]pt [7]pc [8]em [9]rem [10]ex [11]ch [12]vh [13]vw [14]vmin [15]vmax

前面的话

  本文分为绝对长度单位和相对长度单位来介绍CSS中的长度单位的主要知识

 

绝对长度单位

  绝对长度单位代表一个物理测量

 

像素px(pixels)

  在web上,像素px是典型的度量单位,很多其他长度单位直接映射成像素。最终,他们被按照像素处理

 

英寸in(inches)

  1in = 2.54cm = 96px  

 

厘米cm(centimeters)

  1cm = 10mm = 96px/2.54 = 37.8px

 

毫米mm(millimeters)

  1mm = 0.1cm = 3.78px

 

1/4毫米q(quarter-millimeters)

  1q = 1/4mm = 0.945px

 

点pt(points)

  1pt = 1/72in = =0.0139in = 1/72*2.54cm = 1/72*96px = 1.33px

 

派卡pc(picas)

  1pc = 12pt = 1/6in = 1/6*96px = 16px

 

字体相关相对长度单位

  em、ex、ch、rem是字体相关的相对长度单位

 

em

  em表示元素的font-size属性的计算值,如果用于font-size属性本身,相对于父元素的font-size;若用于其他属性,相对于本身元素的font-size

<style>.box{font-size: 20px;}.in{    /* 相对于父元素,所以2*2px=40px */    font-size: 2em;    /* 相对于本身元素,所以5*40px=200px */    height: 5em;    /* 10*40px=400px */    width: 10em;    background-color: lightblue;}</style>
登录后复制

<div class="box">    <div class="in">测试文字</div>    </div>
登录后复制

rem

  rem是相对于根元素html的font-size属性的计算值

  兼容性: IE8-不支持

<style>/* 浏览器默认字体大小为16px,则2*16=32px,所以根元素字体大小为32px */html{font-size: 2rem;}/* 2*32=64px */.box{font-size: 2rem;}.in{    /* 1*32=32px */    font-size: 1rem;    /* 1*32=32px */    border-left: 1rem solid black;    /* 4*32=128px */    height: 4rem;    /* 6*32=192px */    width: 6rem;    background-color: lightblue;}</style>
登录后复制

<div class="box">    <div class="in" id="test">测试文字</div>    </div>
登录后复制

ex

  ex是指所用字体中小写x的高度。但不同字体x的高度可能不同。实际上,很多浏览器取em值一半作为ex值

  [注意]ex在实际中常用于微调

<style>.box{font-size: 20px;}.in{    font-size: 1ex;    border-left: 1ex solid black;    height: 10ex;    width: 20ex;    background-color: lightblue;}</style>
登录后复制

<div class="box">    <div class="in" id="test">测试文字</div>    </div>
登录后复制
登录后复制

<script>var aBtns = document.getElementsByTagName('button');for(var i = 0; i < aBtns.length; i++ ){    aBtns[i].onclick = function(){        test.style.fontFamily = this.innerHTML;    }}    </script>
登录后复制
登录后复制

ch

  ch与ex类似,被定义为数字0的宽度。当无法确定数字0宽度时,取em值的一半作为ch值

  兼容性: IE8-不支持

  [注意]ch在实际中主要用于盲文排版

<style>.box{font-size: 20px;}.in{    font-size: 1ch;    border-left: 1ch solid black;    height: 10ch;    width: 20ch;    background-color: lightblue;}</style>
登录后复制

<div class="box">    <div class="in" id="test">测试文字</div>    </div>
登录后复制
登录后复制

<script>var aBtns = document.getElementsByTagName('button');for(var i = 0; i < aBtns.length; i++ ){    aBtns[i].onclick = function(){        test.style.fontFamily = this.innerHTML;    }}    </script>
登录后复制
登录后复制

视口相关相对长度单位

  视口相关的长度值相对于初始包含块的大小。当初始包含块的宽高变化时,他们都会相应地缩放。然而,当根元素的overflow值为auto时,任何滚动条会假定不存在。

  关于视口相关的单位有vh、vw、vmin、vmax4个单位

  兼容性:IE8-不支持,IOS7.1-不支持,android4.3-不支持(对于vmax,所有IE浏览器都不支持)

  [注意]黑莓错误的将其相对于视觉视口来计算;而safari奇怪地相对于html元素来计算,如果html中增加了内容,这两个单位也会发生变化

vh

  布局视口高度的 1/100

vw

  布局视口宽度的 1/100

<style>body{margin: 0;}.box{    /* 实现与屏幕等高的效果 */    height: 100vh;    background-color: lightblue;}    </style>
登录后复制

<div class="box"></div>
登录后复制

vmin

  布局视口高度和宽度之间的最小值的 1/100

/*类似于contain效果*/.box{    height: 100vmin;    width: 100vmin;}
登录后复制

vmax

  布局视口高度和宽度之间的最大值的 1/100

/*类似于cover效果*/.box{    height: 100vmax;    width: 100vmax;}    
登录后复制

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

&gt; gt;的目的是什么 元素? &gt; gt;的目的是什么 元素? Mar 21, 2025 pm 12:34 PM

本文讨论了HTML&lt; Progress&gt;元素,其目的,样式和与&lt; meter&gt;元素。主要重点是使用&lt; progress&gt;为了完成任务和LT;仪表&gt;对于stati

&lt; datalist&gt;的目的是什么。 元素? &lt; datalist&gt;的目的是什么。 元素? Mar 21, 2025 pm 12:33 PM

本文讨论了html&lt; datalist&gt;元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

HTML容易为初学者学习吗? HTML容易为初学者学习吗? Apr 07, 2025 am 12:11 AM

HTML适合初学者学习,因为它简单易学且能快速看到成果。1)HTML的学习曲线平缓,易于上手。2)只需掌握基本标签即可开始创建网页。3)灵活性高,可与CSS和JavaScript结合使用。4)丰富的学习资源和现代工具支持学习过程。

&lt; meter&gt;的目的是什么。 元素? &lt; meter&gt;的目的是什么。 元素? Mar 21, 2025 pm 12:35 PM

本文讨论了HTML&lt; meter&gt;元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了&lt; meter&gt;从&lt; progress&gt;和前

&lt; iframe&gt;的目的是什么。 标签?使用时的安全考虑是什么? &lt; iframe&gt;的目的是什么。 标签?使用时的安全考虑是什么? Mar 20, 2025 pm 06:05 PM

本文讨论了&lt; iframe&gt;将外部内容嵌入网页,其常见用途,安全风险以及诸如对象标签和API等替代方案的目的。

视口元标签是什么?为什么对响应式设计很重要? 视口元标签是什么?为什么对响应式设计很重要? Mar 20, 2025 pm 05:56 PM

本文讨论了视口元标签,这对于移动设备上的响应式Web设计至关重要。它解释了如何正确使用确保最佳的内容缩放和用户交互,而滥用可能会导致设计和可访问性问题。

HTML,CSS和JavaScript的角色:核心职责 HTML,CSS和JavaScript的角色:核心职责 Apr 08, 2025 pm 07:05 PM

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

HTML中起始标签的示例是什么? HTML中起始标签的示例是什么? Apr 06, 2025 am 12:04 AM

AnexampleOfAstartingTaginHtmlis,beginSaparagraph.startingTagSareEssentialInhtmlastheyInitiateEllements,defiteTheeTheErtypes,andarecrucialforsstructuringwebpages wepages webpages andConstructingthedom。

See all articles