CSS中的长度单位的应用介绍

本篇文章给大家带来的内容是关于css中的长度单位的应用介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

CSS中有很多属性可以接受长度值,比如: width, height, margin, padding, border-width, font-size, text-shadow。因为使用场景多,因此CSS也提供了许多长度单位。有的是日常生活中使用的单位,比如:厘米(cm)和英寸(in);有的是印刷行业使用的单位,比如:point(pt)和pica(pc);有的是专门为CSS发明的单位,比如:px。

使用场景

那么这些属性和单位怎么配合使用呢?特定的属性需要使用特定的单位吗?其实并非如此,单位和属性无关,同一个属性任何单位都适用,何时使用何种单位是没有限制的,如果属性接受以px为单位的值(比如:margin: 5px),那么它也可以接受英寸或厘米(margin: 1.2in; margin: 0.5cm)为单位的值,反之亦然。

单位虽然和属性无关,但是和输出的媒介有一定关系,比如输出到是屏幕还是纸张。在屏幕上显示和在纸张上面打印推荐使用的单位是不一样的。下表给出了推荐的使用方法:

输出媒介 推荐 偶尔使用 不推荐

屏幕em, px, %expt, cm, mm, in, pc打印em, cm, mm, in, pt, pc, %px, ex

除了和输出媒介的关系,这些单位可以从长度值的计算方式区分为绝对单位和相对单位。

立即学习“前端免费学习笔记(深入)”;

绝对单位

绝对单位(px,cm, mm,in,Q,pt和pc)意味着以此为单位的长度值与其代表的物理长度相等,比如width: 1cm即与现实世界中的1cm长度相等,也意味着绝对单位在所有的媒介上的显示效果是一致的。但这是理想情况,受显示器和不同浏览器CSS实现的差异,在很多设备上绝对单位显示的并不精确。因为px和in的关系为1in=96px, 在低分辨率设备上,1px为1像素(pixel,也是px名称的由来)长度,而低分辨率的屏幕上1px往往大于1/96in,所以从px计算得到的其他绝对单位值都不准确。而在高分辨率设备上(如现在的高清屏和打印机)绝对单位显示得更精确。由于以上原因,绝对单位更多的是在打印时使用。

曾经,CSS要求在计算机屏幕上正确显示绝对单位。但是由于大部分厂商并不能实现这一要求,所以CSS在2011年放弃了这一要求。目前,绝对单位仅在打印和高分辨率设备上正常工作。CSS没有明确定义“高分辨率”的含义。但是,由于目前低端打印机的每英寸点数为300 dpi,而高端屏幕的每英寸点数为200 dpi,因此所谓的“高分辨率”可能介于两者之间。。

下面贴出绝对单位直接的换算公式:

1in = 2.54cm = 25.4mm = 72pt = 6pc = 96px

px

作为CSS中最常用的单位,关于px还是有必要多说两句的。px的特点可以归纳如下:

在低分辨率设备上,1px = 1像素;

在高分辨率设备上,1px = 1/96in,1px不一定等于1像素(比如4.7英寸的iphone上 1px=2像素);

对于图片显示,1px = 1图片像素,比如:一个600×400分辨率的照片的的CSS宽高即为600px和400px(在4.7英寸iphone上要用1200×800个像素点显示);

相对单位

相对单位意味着长度值是根据其他长度计算得出的。相对单位又可以分为基于字体(font based)和基于视窗(viewport based)的:

Font Based

em, ex

首先说说em和ex,em代表元素的当前字体大小,如果元素的font-size2cm,那么1em即表示2cm。em可以用于控制尺寸,比如margin: 1em; text-indent:1.5em,此时这些尺寸和元素字体大小相关,因此在大屏幕上(字体尺寸较大)和小屏幕上(字体尺寸较小)会等比缩放,因此em可以用于响应式的设计。如果em直接用于font-size属性,如font-size: 2em,则em表示为父元素字体的大小。

ex很少被使用,ex表现的大小与字体的x-height相关。x-height大致等于字体中小写字母(例如a,c,m或o)的高度。相同font-size的不同字体的x-height可能会有很大的差别,所以使用ex产生的效果存在很大的不确定性。

rem

CSS在2013年创造出了一个新的单位rem,rem表示的是根元素(html元素的)字体大小,在每个元素里面em都可能不一样,但是rem都是一致的。因为这一特性,rem现在被更广泛的应用于响应式设计。

ch

ch用的表较少,是CSS3中新加入的单位,表示当前字体中的 “0” (零、unicode 字符 U+0030) 的宽度。

Viewport Based

vw,wh,vmin,vmax

都是CSS3中新加入的单位。vw,vh可以根据视窗大小调整字体大小。vw是视窗的1/100的宽度,而vh是视窗1/100的高度。此外还有vmin,它指的是vw以及vh间较小的那个,与之相对的还有vmax。这些单位在目前大部分浏览器上都有支持。

以上就是CSS中的长度单位的应用介绍的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1613996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 04:00:24
下一篇 2025年12月24日 04:00:37

相关推荐

  • CSS如何实现表单label的两端对齐(代码示例)

    本篇文章给大家带来的内容是关于CSS如何实现表单label的两端对齐(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 主要属性: text-align: justify; text-align-last: justify; 参见https://www.html.cn/bo…

    好文分享 2025年12月24日
    000
  • CSS3实现微信小程序瀑布流布局的代码示例

    本篇文章给大家带来的内容是关于css3实现微信小程序瀑布流布局的代码示例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1.column-count 属性规定元素应该被分隔的列数: -moz-column-count:3; /* Firefox */-webkit-column-c…

    好文分享 2025年12月24日
    000
  • css3核心知识点的小结(代码示例)

    本篇文章给大家带来的内容是关于css3核心知识点的小结(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 css3前缀(浏览器兼容) 根据了解,css3属性大部分支持ie10,部分支持ie9,少部分支持ie8 // 前缀// -webkit- Safari and Chro…

    好文分享 2025年12月24日
    000
  • CSS实现页面底部固定的方法介绍(附代码)

    本篇文章给大家带来的内容是关于css实现页面底部固定的方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 当我们在写页面时经常会遇到页面内容少的时候,footer会戳在页面中间或什么?反正就是不在最底部显示,反正就是很难看,下面要讲的布局就是解决如何使元素粘住浏览器底…

    好文分享 2025年12月24日
    000
  • css权重是什么?css权重的介绍

    本篇文章给大家带来的内容是关于css权重是什么?css权重的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、什么是css权重?css6大基础选择器 css权重指的是css6大基础选择符的优先级,优先级高的css样式会覆盖优先级底的css样式,优先级越高说明权重越高,反之亦然…

    2025年12月24日
    000
  • CSS中添加阴影的方法有哪些

    在CSS中添加阴影的方法有三种,box-shadow、drop-shadow以及text-shadow,box-shadow添加阴影最简单,drop-shadow可以根据图像大小添加阴影,text-shadow为文字添加阴影,下面我们就来看看这三种阴影添加的方法。 使用box-shadow添加阴影 …

    2025年12月24日 好文分享
    000
  • CSS的优点和缺点分别是什么

    CSS的优点有:丰富的样式定义、易于修改、结构清晰、多页面使用等;CSS的缺点:浏览器支持不一样具有兼容性、不能明确指定继承性 CSS的主要哦作用是为HTML页面添加样式,使得页面更加美观。接下来在文章中将为大家详细介绍CSS的优点与缺点,具有一定的参考价值,希望对大家有所帮助。 【推荐课程:CSS…

    2025年12月24日 好文分享
    000
  • css如何显示文字的上标和下标

    在css中,可以使用vertical-align 属性的sub、super或者text-top、text-bottom属性值来显示文字的上标和下标。下面我们就来介绍一下css vertical-align属性,显示文字的上标和下标的方法,希望对你们有所帮助。 css vertical-align属性…

    2025年12月24日 好文分享
    000
  • CSS中display: inline-block的用法解析

    本篇文章给大家带来的内容是关于css中display: inline-block的用法解析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 迷之间隙 我们创建一个导航列表,并将其列表 item 设置为 inline-block,主要代码如下: 我 我 我.nav { backgrou…

    2025年12月24日
    000
  • css实现等高布局的三种方式(代码示例)

    本篇文章给大家带来的内容是关于css实现等高布局的三种方式(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 本文讲的等高布局是在不手动设置元素高度的情况下,使用纯css实现各个元素高度都相当的效果。如图: 1、使用table-cell实现(兼容IE8) 立即学习“前端免费…

    2025年12月24日
    000
  • 如何使用CSS制作箭头符号

    箭头符号我们是经常可以看到的,那么我们如何在不利用图像的情况下使用css制作箭头符号呢?本篇文章就来给大家介绍css制作箭头符号的方法。 话不多说,下面我们直接来看正文~ 用CSS制作的箭头图标的方法 只需要使用CSS就可以创建箭头而不需要利用图像 立即学习“前端免费学习笔记(深入)”; 首先,让我…

    2025年12月24日 好文分享
    000
  • CSS Sprites是什么

    CSS Sprites是一种性能优化技术,是一种将多个图像组合成单个图像文件以在网站上使用的方法,以提高性能,也被称为css精灵图。 CSS Sprites是一种性能优化技术,是一种将多个图像组合成单个图像文件以在网站上使用的方法,以提高性能;也被称为css 精灵图。 为什么要使用Sprites(精…

    2025年12月24日 好文分享
    000
  • CSS页面加载失败的原因有哪些

    CSS加载失败的常见原因有:路径错误、浏览器不兼容、网络原因、编码格式不同等错误 才刚刚入门CSS,经常会碰到CSS加载失败的问题,网页上什么样式都没有,今天将要和大家分享的是常见的CSS加载失败的原因,具有一定参考作用,希望对大家有所帮助。 【推荐课程:CSS教程】 立即学习“前端免费学习笔记(深…

    2025年12月24日
    000
  • CSS如何实现滑动门效果

    CSS实现滑动门效果主要通过设置伪元素的样式来实现,在鼠标滑过时给元素设置display:block让它显示,鼠标滑出时隐藏 一个网站的导航栏对于网站来说有着举足轻重的地位,导航栏的风格也是各式各样的,纯文本的导航栏比起图像导航栏加载更加快速,但是在样式上确不及图片导航栏的美观,后来又有了滑动门导航…

    2025年12月24日
    000
  • CSS中background什么意思?background用法详解

    在css中,background是一个比较常用的样式,但是很多人不知道background怎么用,下面我们来讲解一下cssbackground属性怎么用。 一:CSS中background什么意思? background属性是在一个声明中,可以设置所有的背景颜色,主要有五个背景颜色,一般我们在使用这…

    2025年12月24日
    000
  • css计数器如何实现自动嵌套编号

    在css中可以使用计数器函数counter()和counters()配合content属性来分别实现给元素自动嵌套编号的效果,下面我们就来看看css计数器函数counter()和counters()是如何自动嵌套编号的。 css计数器使用多个counter()函数嵌套编号 css计数器的counte…

    2025年12月24日 好文分享
    000
  • css如何使用:indeterminate选择器

    本篇文章给大家介绍一下在css中:indeterminate选择器有什么用,可以在哪些元素中使用。下面我们就来看具体的内容。 :indeterminate选择器简单介绍 :indeterminate是一个CSS 伪类选择器,是用于选择处于不确定状态的用户界面元素的。 例如,radio和checkbo…

    2025年12月24日 好文分享
    000
  • css如何添加阴影边框(代码实例)

    css如何设置边框阴影?很多人遇到这类问题都不知道怎么处理,其实利用css加边框也是简单的,下面我们来看一下如何利用css添加阴影边框。 一:css阴影边框使用语法: 1.属性:box-shadow 2.使用方法: 立即学习“前端免费学习笔记(深入)”; div{box-shadow:0 0 1px…

    2025年12月24日
    000
  • 什么是Sass?如何使用Sass?

    对于一个网页设计的新手来说,可能听说过“sass”这个词。但却不确定sass的作用以及是否可以使用它,本篇文章就给大家介绍一下什么是sass?如何使用sass?让大家对sass有一个简单的理解。 简而言之,Sass是一个CSS预处理器,它将特殊功能(如变量,嵌套规则和mixins(有时称为语法糖))…

    2025年12月24日
    000
  • CSS中line-height详解(代码实例)

    元素的高度是由什么决定对于我们解决页面显示问题和布局页面都有很大的帮助。 常规的操作表现是为一个块级元素设置height属性,则其拥有了高度: .test { border: 1px solid #ccc; height: 100px; width: 100px; } 但是根据熟知,当我们不为元素设…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信