讲师中心 微信公众号

扫码关注官方订阅号

注册 / 登录
首页
文章
后端开发 web前端 数据库 开发工具 php框架 常见问题 科技 Java 系统教程 电脑教程 硬件教程 手机教程 软件教程 游戏教程 自媒体 新闻
专题
后端开发 web前端 数据库 开发工具 php框架 科技 Java 系统教程 电脑教程 硬件教程 手机教程 软件教程 游戏教程 新闻
AI工具
AI 聊天问答 Agent智能体 AI 文本写作 AI 绘画作图 AI 设计工具 AI 视频创作 AI 音频制作 AI 办公学习 AI 编程开发 Prompt指令
学习
大前端 后端开发 数据库 移动端 运维开发 计算机基础
编程手册
大前端 后端开发 数据库 移动端 运维开发 计算机基础
下载
js特效 网站源码 工具下载 类库下载 网站素材 学习资源 插件扩展 手机游戏
最近更新
当前位置:首页 > web前端 > css教程 >

正文

0

0

CSS中的长度单位以及宽度自适的实例分析

黄舟

黄舟

发布时间:2017-07-19 13:15:50

|

1536人浏览过

|

来源于php中文网

原创

CSS 单位

作者:Chinaxiang 来源:互联网 2015-12-01 23:36



CSS中的长度单位有很多,觉得有必要整理备忘。

概览

CSS中的长度单位有很多,觉得有必要整理备忘。

网上介绍的也比较多和全,详见参考资料。

单位大体分为两大类:

  • 绝对单位 ,不会因为其他元素的尺寸变化而变化。

  • 相对单位 ,没有一个固定的度量值,而是由其他元素尺寸来决定的相对值。


单位 类型 简介
px Absolute 像素 (计算机屏幕上的一个点),1px = 1/96in
pt Absolute Points, 1pt = 1/72in
pc Absolute Picas, 1pc = 12pt
in Absolute Inches, 1in = 96px = 2.54cm
cm Absolute Centimeters, 1cm = 96/2.54px
mm Absolute Millimeters, 1mm = 1/10cm
q Absolute Quarter-millimeters, 1q = 1/4mm
% Relative 相对于父元素的宽度或字体大小
em Relative 相对于父元素的字体大小
rem Relative (即root em) 相对于html标签的字体大小
ex Relative 当前字体环境中 x 字母的高度
ch Relative 当前字体环境中 0 数字的高度
vw Relative 1% 视口(浏览器可视区域)的宽度
vh Relative 1% 视口(浏览器可视区域)的高度
vmin Relative 1% 视口(浏览器可视区域)的宽度和高度中较小的尺寸
vmax Relative 1% 视口(浏览器可视区域)的宽度和高度中较大的尺寸

由于绝对单位是固定值,没什么要介绍的,下面主要介绍相对单位。

%

相对于父元素的相同属性的大小。这个其实谈不上单位,但它毕竟可以作为长度单位来使,所以在此列出。

如果用来设置字体,则相对的就是父元素的字体大小。

大多数浏览器中 和 标签中的默认字体尺寸是100%.

html {font-size: 100%;}body {font-size: 100%;}

100% = 1em = 16px = 12pt

如果用来设置宽和高等非字体尺寸,则以百分比为单位的长度值是基于具有相同属性的父元素的长度值。


  
  JS Bin
  
  


再啰嗦一点关于父元素的问题:何为父元素,相对定位(relative),绝对定位(absolute),浮动(float),固定(fixed)中如何找寻父元素?

由于HTML是树形结构,标签套标签,一般情况下的父子关系很明朗。

相对定位元素,它的父元素符合标签嵌套。

绝对定位元素,它的父元素是离它最近的定位元素(绝对定位,相对定位,固定,但不包括浮动)或者视窗尺寸(没找到定位元素时)。

浮动元素,它的父元素也符合标签嵌套。

固定元素(特殊的绝对定位),它的父元素是视窗(浏览器默认用来展示内容的区域的尺寸,不是html 或body 的尺寸)。

注意一下绝对定位就行了,其他的相对简单。


  
  JS Bin
     
    

box 宽度为视窗的一半,can 的宽高是 box 的宽高的一半。

将 can 设置为 position: fixed; 则其父元素将不再是 box 而是浏览器视窗。


can 的宽高是视窗宽高的一半。

浮动元素的父元素跟普通元素的父元素是一样的。


  
  JS Bin
     
    


注意: padding、 margin 如果设置了百分比,上,下,左,右 用的都是父元素宽度 的值为标准去计算。

em 和 rem

两者都是基于字体尺寸的,区别在于 em 是相对于当前父元素的字体大小为标准,而 rem 是相对于 html 元素的字体大小为标准。

举个例子你就明白了。


  
  JS Bin
  
  

Test

Test

Test

Test

Test

Test

 

ex 和 ch

ex 和ch 单位,依赖于当前字体font-family 和字体大小 font-size。 ex 指当前字体环境中小写字母x 的高度,ch指当前字体环境中数字 0 的宽度。


IE9+ 和现代浏览器都已经支持。

vw 和 vh

响应式网页设计技术很大程度上依赖于比例规则。然而,CSS比例不总是每个问题的最佳解决方案。如果想使用显示窗口的宽度或高度而不是父元素的宽度将会怎么样?这正是vh 和vw 单位所提供的。

vh 等于视窗高度的 1/100.例如,如果浏览器的高是 900px, 1vh 求得的值为 9px 。同理,如果显示窗口宽度为750px, 1vw 求得的值为 7.5px。

IE10+ 和现代浏览器都支持这两个单位。

vmin 和 vmax

这两个单位是针对vw和vh

vmin 是vw和vh中比较 小 的值

vmax 是vw和vh中比较 大 的值

.box {    height: 100vmin;    width: 100vmin;}


.box {    height: 100vmax;    width: 100vmax;}


IE10+ 和现代浏览器都已经支持 vmin

webkit浏览器之前不支持vmax,现在已经支持,所有现代浏览器已经支持,但是IE不支持 vmax.

总结

尺寸单位虽然说不是很难的内容,但能够做到精准理解和熟练使用也是极其难得的,也许随着CSS的发展会有更多有用的单位引进。

对单位斤斤计较是一个优秀CSS使用者应该具备的品质,赶紧去挑选合适的单位去开发你的NB产品吧。

下面的代码用来检测您的浏览器是否支持常用单位:




  
  JS Bin
   
  


50% - percentage
400px - pixels (device pixels)
20em - relative unit
20rem - root em
15vw - viewport width
60vh - viewport height
60vmin - smaller of vw or vh
60vmax - larger of vw or vh
4in - inches
20cm - centimeters
200mm - millimeters
120pt - points
40pc - picas
60ex - x-height
60ch - based on width of zero (0) character


相关文章

css 想快速实现卡片组件样式怎么办_使用 css tailwind 预设组件类实现

css 响应式网页中卡片高度不一致怎么办_通过统一内容结构实现稳定布局

css 想给表格隔行设置不同颜色怎么办_nth-child 配合 background-color

css currentcolor 是什么颜色值_利用继承机制说明颜色取值规则

css 垂直居中布局_使用 flexbox 和 grid 实现元素垂直居中

相关标签:

css

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

上一篇:id和class在css中的样式设置的区别是什么? 下一篇:CSS3中介绍最新的几种长度单位

作者最新文章

HTML5 Placeholder属性的详情介绍

2018-05-30 09:51

html中关于标签的全部属性的使用总结

2018-05-30 14:32

php如何快速实现数组去重的实例

2018-05-30 15:03

php中关于IMAP如何收取邮件的方法介绍

2018-05-31 09:38

PHPMailer如何利用QQ邮箱完成邮件发送功能的实例分析

2018-05-31 10:28

从零开始打造自己的PHP框架的视频资料

2018-05-31 10:45

php基础知识总结(新手入门必备)

2018-05-30 14:26

ReactJS中表单的单选多选与反选的实现方法

2018-05-30 09:45

JavaScript中typeof的使用方法介绍

2018-05-30 11:42

JavaScript中confirm()方法的使用介绍

2018-05-30 10:29

热门AI工具

更多
DeepSeek

DeepSeek

幻方量化公司旗下的开源大模型平台

AI大模型

开放平台

豆包大模型

豆包大模型

字节跳动自主研发的一系列大型语言模型

AI大模型

通义千问

通义千问

阿里巴巴推出的全能AI助手

AI大模型

腾讯元宝

腾讯元宝

腾讯混元平台推出的AI助手

文档处理

Excel 表格

文心一言

文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

AI大模型

中文写作

讯飞写作

讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

中文写作

写作工具

即梦AI

即梦AI

一站式AI创作平台,免费AI图片和视频生成。

图片拼接

图画生成

ChatGPT

ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

AI大模型

中文写作

智谱清言 - 免费全能的AI助手

智谱清言 - 免费全能的AI助手

智谱清言 - 免费全能的AI助手

AI大模型

PC软件

相关专题

更多
c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

42

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

46

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

202

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

341

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

16

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

100

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

73

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

75

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

67

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板
  • [图片特效]jQuery遮罩图片hover翻转效果
  • [图片特效]jQuery鼠标点击图片滑动切换特效
  • [图片特效]西山居首页jQuery焦点图代码
  • [表单按钮]jQuery评论框插入QQ表情代码
  • [图片特效]纯CSS3实现超酷幻灯片切换
  • [表单按钮]CSS3扁平化风格联系表单
  • [表单按钮]jQuery自定义添加删除表单代码
  • [图片特效]js循环滚动切换首页幻灯片
  • [表单按钮]CSS3表单输入框动画特效
  • [图片特效]jquery图片旋转切换效果代码
  • [电商源码]openaishop
  • [其它模板]思翔企(事)业单位文件柜 build 20080313
  • [企业站源码]雅龙智能装备工业设备类WordPress主题1.0
  • [电商源码]威发卡自动发卡系统
  • [电商源码]卡密分发系统
  • [电商源码]中华陶瓷网
  • [电商源码]简洁粉色食品公司网站
  • [电商源码]极速网店系统
  • [电商源码]淘宝妈妈_淘客推广系统
  • [电商源码]积客B2SCMS商城系统
  • [网站素材]水墨冬季寒梅傲雪风景矢量模板
  • [网站素材]清新拼贴自然环保海报矢量模板
  • [网站素材]2026马年黑金贺卡矢量模板
  • [网站素材]INS风格快餐美食宣传模板设计下载
  • [网站素材]蓝色极简网球运动海报矢量模板
  • [网站素材]情人节超级大促竖版海报设计下载
  • [网站素材]美式复古手绘汉堡海报矢量模板
  • [网站素材]萌系卡通唐装小马插画矢量素材
  • [网站素材]超市购物宣传方形海报PSD源文件设计下载
  • [网站素材]粉色极简线条派对海报矢量模板
  • [前端模板]驾照考试驾校HTML5网站模板
  • [前端模板]驾照培训服务机构宣传网站模板
  • [前端模板]HTML5房地产公司宣传网站模板
  • [前端模板]新鲜有机肉类宣传网站模板
  • [前端模板]响应式天气预报宣传网站模板
  • [前端模板]房屋建筑维修公司网站CSS模板
  • [前端模板]响应式志愿者服务网站模板
  • [前端模板]创意T恤打印店网站HTML5模板
  • [前端模板]网页开发岗位简历作品展示网页模板
  • [前端模板]响应式人力资源机构宣传网站模板

相关下载

更多
jQuery自适应导航

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3万人学习

CSS教程
CSS教程

共754课时 | 23.5万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 10.9万人学习

最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)
最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)

共79课时 | 151.6万人学习

phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 53.4万人学习

最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 20万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 10.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

最新文章

更多
css 内部样式写在 head 里可以吗_内部 css 使用场景说明
css动画是否影响首屏加载_css动画加载性能说明
css grid中fr单位到底是什么意思_通过剩余空间分配规则解析
css 多个元素颜色想统一怎么办_使用 css 变量 var() 设置统一颜色
css图片hover边框亮起太快怎么办_使用transition-border-color让边框渐变
css 想快速实现卡片组件样式怎么办_使用 css tailwind 预设组件类实现
css 响应式网页中卡片高度不一致怎么办_通过统一内容结构实现稳定布局
css 想给表格隔行设置不同颜色怎么办_nth-child 配合 background-color
css currentcolor 是什么颜色值_利用继承机制说明颜色取值规则
css 垂直居中布局_使用 flexbox 和 grid 实现元素垂直居中
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号

微信扫码
关注PHP中文网服务号

技术交流群

QQ扫码
加入技术交流群

PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • PHP学习

  • 技术支持

  • 返回顶部