因此,作为网页设计师和前端开发人员,我们别无选择,必须熟悉我们手上的工具,做到知己知彼,这样才能百战不殆。为了帮助大家更好的工作小编今天为大家分享一些css的长度单位,希望能够对小伙伴们有所帮助。
1、rem
我们首先介绍下和我们熟悉的很相似的货。em
被定义为相对于当前对象内文本的字体大小。炒个栗子,如果你给body小哥设置了font-size字体大小,那么body小哥的任何子元素的1em就是等于body设置的font-size。
Test
body{
font-size:14px
}
div{
font-size:1.2em
//calculatedat14px
*1.2,or16.8px
}
你看,这里div这娃的字体大小是1.2em。解释来说,就是他从body爹爹那里继承的字体大小(这里是14px)的1.2倍,结果就是16.8px。
但是,如果你用em一层一层级联得定义嵌套元素的字体大小又会花生什么事情呢?在下面这一小段代码里我们应用了和上面一样一样的CSS,每一个div都从它上一级父元素继承了字体大小,并且逐渐得增加。
Test
Test
Test
虽然在某些地方这正是我们想要的,但是通常情况下我们还是希望就依赖单一的相对度量单位就好。这时候嘛,我们就可以使用rem
了。‘r’是“root”的缩写,意思就是1rem等于根元素的字体大小大部分情况下,根元素就是元素了。
html{
font-size:14px
}div{
font-size:1.2rem
}
这样在上面的那三个嵌套的div娃们的字体大小都是1.2*14px=16.8px了。
2、适用于网格布局
Rems
不仅仅只是在设置字体大小上很方便。再炒个栗子,你可以用基于html根元素字体大小的rem作为整个网格布局或者UI库的大小单位,然后在其他特定的地方用em单位。这样将会给你带来更多的字体大小和伸缩的可控性,
.container{
width:70rem
//70*14px=980px}
概念上来说,这个方法的思想就是让你的界面根据你的内容进行缩放。但是,这样做并不是对所有的情况都有意义。
3、vhandvw
响应式Web设计离不开百分比。但是,CSS百分比并不是所有的问题的最佳解决方案。CSS的宽度是相对于包含它的最近的父元素的宽度的。但是如果你就想用视口(viewpoint)的宽度或者高度,而不是父元素的,那该肿么办?这就是
vh和vw单位为我们提供的。
1vh等于1/100的视口高度。栗子:浏览器高度900px,1vh=900px/100=9px。同理,如果视口宽度未750,1vw
=750px/100=7.5px。
可以想象到的,他们有很多很多的用途。比如,我们用很简单的方法只用一行CSS代码就实现同屏幕等高的框。
.slide{
height:100vh
}
假设你要来一个和屏幕同宽的标题,你只要设置这个标题的font-size的单位为vm,那标题的字体大小就会自动根据浏览器的宽度进行缩放,以达到字体和viewport大小同步的效果,有木有?!
4、vminandvmax
vh和vm依据于视口的高度和宽度,相对的,vmin和
vmax则关于视口高度和宽度两者的最小或者最大值。比如,浏览器的宽度设置为1100px,高度设置为700px,1vmin=1px,1vmax=
11px。
如果宽度设置为800px,高度设置为1080px,1vmin就等于8px,1vmax则未10.8px。
那么问题来了,我们应该在什么场景下使用这两个单位呢?
假设有一个元素,你需要让它始终在屏幕上可见。
只要对其高度和宽度使用vmin单位,并赋予其低于100的值就可以做到了。再来个栗子,可以这样定义一个至少有两个边触摸到屏幕的方形:
.box{
height:100vmin
width:100vmin
如果你要让这个方形框框始终铺满整个视口的可见区域(四边始终触摸到屏幕的四边)
.box{
height:100vmax
width:100vmax
}
结合使用这些单位可以为我们提供一个新颖有意思的方式来灵活地利用我们视口的大小。
5、exandch
ex和ch单位,类似于em和rem,依赖于当前的字体和字体大小。但是,不同的是,这两货是基于字体的度量单位,依赖于设定的字体。
ch单位通常被定义为数字0的宽度。你可以在Eric
Meyers的博客里找到关于它的一些有意思的讨论,例如将一个等宽字体的字母”N”的宽度设置为40ch,那么在另一种类型的字体里它却可以包含40个字母。
这个单位的传统用途主要是盲文的排版,但是除此之外,肯定还有可以应用他的地方。
ex定义为当前字体的小写x字母的高度或者1/2的1em。很多时候,它是字体的中间标志。
x-heighttheheightofthelowercasex
这些单位有很多用途,大部分用于版式的微调。比方说,sup元素(上角文字标),可以通过position:relativebottom:1ex实现
。
类似的方法,你可以实现一个下角文字标。浏览器默认的方式是利用
上标和下标特定垂直对齐规则,但是如果你想更细粒度更精确得控制,你可以像下面这样做:
sup{
position:relative
bottom:1ex
}
sub{
position:relative
bottom:-1ex
}
结论
持续关注不断发展壮大的CSS技术无疑是很重要的,这样你才能掌握你所持有的工具的全部技能。说不定将来你遇到的某个特殊的问题就需要使用这些复杂的单位来解决。
以上就是小编今天为大家分享的额关于Web前端新手应该知道的CSS长度单位的文章,希望本篇文章能够对正在从事web前端工作和喜欢web前端技术的小伙伴们有所帮助。想要了解更多web前端相关知识记得关注北大青鸟web培训官网。最后祝愿小伙伴们工作顺利!
CSS上标:<sup>上浮内容</sup>
CSS下标:<sub>下浮内容</sub>
以下是范例:
一、电脑不能启动的原因
系统不承认硬盘
此类故障比较常见,即从硬盘无法启动,从A盘启动也无法进入C盘,使用CMOS中的自动监测功能也无法发现硬盘的存在。这种故障大都出现在连接 电缆 或IDE口端口上,硬盘本身的故障率很少,可通过重新插拔硬盘电缆或者改换IDE口及电缆等进行替换试验,可很快发现故障的所在。
如果新接上的硬盘不承认,还有一个常见的原因就是硬盘上的主从条线,如果硬盘接在IDE的主盘位置,则硬盘必须跳为主盘状,跳线错误一般无法检测到硬盘。
<!DOCTYPE> 定义文档类型。<html> 定义 HTML 文档。
<body> 定义文档的主体。
<h1>to <h6> 定义 HTML 标题。
<p> 定义段落。
<br> 定义简单的折行。
<hr> 定义水平线。
<!--...--> 定义注释。
<b> 定义粗体文本。
<ont> 不赞成使用。定义文本的字体、尺寸和颜色
<i> 定义斜体文本。
<em> 定义强调文本。
<big> 定义大号文本。
<strong> 定义语气更为强烈的强调文本。
<small> 定义小号文本。
<sup> 定义上标文本。
<sub> 定义下标文本。
<bdo> 定义文本的方向。
<u> 不赞成使用。定义下划线文本。
<pre> 定义预格式文本
<code> 定义计算机代码文本。
<tt> 定义打字机文本。
<kbd> 定义键盘文本。
<var> 定义文本的变量部分。
<dn> 定义定义项目。
<samp> 定义计算机代码样本。
<xmp> 不赞成使用。定义预格式文本。
<acronym> 定义只取首字母的缩写。
<abbr> 定义缩写。
<address> 定义文档作者或拥有者的联系信息。
<blockquote> 定义块引用。
<center> 不赞成使用。定义居中文本。
<q> 定义短的引用。
<cite> 定义引用(citation)。
<ins> 定义被插入文本。
<del> 定义被删除文本。
<s> 不赞成使用。定义加删除线的文本。
<strike> 不赞成使用。定义加删除线的文本。
<a> 定义锚。
<link> 定义文档与外部资源的关系。
<rame> 定义框架集的窗口或框架。
<rameset> 定义框架集。
<norames> 定义针对不支持框架的用户的替代内容。
<irame> 定义内联框架。
<orm> 定义供用户输入的 HTML 表单。
<input> 定义输入控件。
<textarea> 定义多行的文本输入控件。
<button> 定义按钮。
<select> 定义选择列表(下拉列表)。
<optgroup> 定义选择列表中相关选项的组合。
<option> 定义选择列表中的选项。
<label> 定义 input 元素的标注。
<ieldset> 定义围绕表单中元素的边框。
<legend> 定义 ieldset 元素的标题。
<isindex> 不赞成使用。定义与文档相关的可搜索索引。
<ul> 定义无序列表。
<ol> 定义有序列表。
<li> 定义列表的项目。
<dir> 不赞成使用。定义目录列表。
<dl> 定义定义列表。
<dt> 定义定义列表中的项目。
<dd> 定义定义列表中项目的描述。
<menu> 不赞成使用。定义菜单列表。
<img> 定义图像。
<map> 定义图像映射。
<area> 定义图像地图内部的区域。
<table> 定义表格
<caption> 定义表格标题。
<th> 定义表格中的表头单元格。
<tr> 定义表格中的行。
<td> 定义表格中的单元。
<thead> 定义表格中的表头内容。
<tbody> 定义表格中的主体内容。
<oot> 定义表格中的表注内容(脚注)。
<col> 定义表格中一个或多个列的属性值。
<colgroup> 定义表格中供格式化的列组。
<style> 定义文档的样式信息。
<div> 定义文档中的节。
<span> 定义文档中的节。
<head> 定义关于文档的信息。
<title> 定义文档的标题。
<meta> 定义关于 HTML 文档的元信息。
<base> 定义页面中所有链接的默认地址或默认目标。
<baseont> 不赞成使用。定义页面中文本的默认字体、颜色或尺寸。
<script> 定义客户端脚本。
<noscript> 定义针对不支持客户端脚本的用户的替代内容。
<applet> 不赞成使用。定义嵌入的 applet。
<object> 定义嵌入的对象。
<param> 定义对象的参数。