【line-height】 line-height详解

2023-11-18

1,line-height是什么?

w3school定义使用line-height属性定义行与行之间的距离。也就是一个行的行高。

【它不允许使用负值。使用在文本行的时候line-height 与 font-size 的计算值之差(在 CSS 中成为“行间距”)分为两半,分别加到一个文本行内容的顶部和底部。可以包含这些内容的最小框就是行框。】

行高指的是文本行的基线间的距离。而基线(Base line),指的是一行字横排时下沿的基础线,基线并不是汉字的下端沿,而是英文字母x的下 端沿,同时还有文字的顶线(Top line)、中线(Middle line)和底线(Bottom line),用以确定文字行的位置,如图7-17 所示。





行高与字体尺寸的差称为行距(leading),如图所示。注意不要把行高和行距弄混淆。




2,line-height语法:

line-height属性的具体定义列表如下:


语法: line-height : normal | <实数> | <长度> | <百分比> | inherit
说明: 设置元素中行的高度。
值: normal:默认行高,一般为1到1.2; 实数:实数值,缩放因子; 长度:合法的长度值,可为负数; 百分比:百分比取值基于元素的字体尺寸。
初始值: normal
继承性: 继承
适用于: 所有元素
媒体: 视觉
计算值: 长度和百分比值为绝对值;其他同指定值。


3,content area ,inline box 和 line box(内容区域,行内框和行框)

框 和对应的高度:

内容区域(content area) 行内框(inline box) 行框(line box)
字体尺寸 行高(inline-height) 行框高


1)内容区域和字体尺寸

理论上讲,一行中的每个元素都有一个内容区域,它是由字体尺寸决定的。


图 内容区域


2)行内框与行高

行内元素会生成一个行内框(inline box),行内框只是一个概念,它无法显示出来,但是它又确实存在。

在没有其他因素影响的时候,行内框等于内容区域,而设定行高则可以增加或者减少行内框的高度,即:将行距的值(行高-字体尺寸)除以2,分别增加到内容区域的上下两边。

给行内元素设置border也只能轮廓出内容区域。


图 行内框与行高


由于行高可以应用在任何元素上,因此同一行内的若干元素可能有不同的行高和行内框高,例如有如下代码,其显示如图所示。

<p style=”line-height:20px;”>

行高20px。

<strong style=”line-height:50px;”> 行高50px。</strong>

<span style=”line-height:30px;”>行高30px。</span>

</p>



图 行内框与行框


3)行框与行框高

这里又有一个新的概念——行框(line box)。同行内框类似,行框是指本行的一个虚拟的矩形框,其高度等于本行内所有元素中行高最大的值

如果一行内所有的行高一样大时,行框的高度就和行内框的高度一样。

因此,当有多行内容时,每行都会有自己的行框,如图7-22所示。



图 多行内容的行框

提示:理解行框和行内框的概念对于学习本章[7.4垂直对齐:vertical-align属性]一节的内容非常重要。
注意:行框的高度只同本行内元素的行高有关,而和父元素的高度(height)无关。


4)行内框与行框,决定文字高度

css中起高度作用的应该就是height以及line-height!如果一个标签没有定义height属性(包括百分比高度),那么其最终表现的高度一定是由line-height起作用,即使是IE6下11像素左右默认高度bug也是如此。

先说一个大家都熟知的现象,有一个空的div,<div></div>,如果没有设置至少大于1像素高度height值时,该div的高度就是个0。如果该div里面打入了一个空格或是文字,则此div就会有一个高度。那么您思考过没有,为什么div里面有文字后就会有高度呢?

这是个看上去很简单的问题,是理解line-height非常重要的一个问题。可能有人会跟认为是:文字撑开的!文字占据空间,自然将div撑开。我一开始也是这样理解的,但是事实上,深入理解inline模型后,我发现,根本不是文字撑开了div的高度,而是line-height!要证明很简单(如下测试代码):

css代码:
.test1{font-size:20px; line-height:0; border:1px solid #cccccc; background:#eeeeee;}
.test2{font-size:0; line-height:20px; border:1px solid #cccccc; background:#eeeeee;}

html代码:
<div class="test1">测试</div>
<div class="test2">测试</div>

结果如下图(windows IE6浏览器下):
行高撑开高度还是文字撑开高度测试结果

结果是如此的显而易见,test1 div有文字大小,但行高为0,结果div的高度就是个0;test2 div文字大小为0,但是有行高,为20像素,结果div高度就是20像素。这就说明撑开div高度的是line-height不是文字内容。

到底这个line-height行高怎么就产生了高度呢?在inline box模型中,有个line boxes,这玩意是看不见的,这个玩意的工作就是包裹每行文字。一行文字一个line boxes。例如“艾佛森退役”这5个字,如果它们在一行显示,你艾佛森再牛逼,对不起,只有一个line boxes罩着你;但“春哥纯爷们”这5个字,要是竖着写,一行一个,那真是够爷们,一个字罩着一个line boxes,于是总计五个line boxes。line boxes什么特性也没有,就高度。所以一个没有设置height属性的div的高度就是由一个一个line boxes的高度堆积而成的。


4,行高的计算与继承

以em、ex和百分比为单位的行高,其基数是元素本身的字体尺寸

1)例如有代码如下:

<p style=”font-size:20px;line-height:2em;”>

字高20px,行高2em。

</p>

 <p style=”font-size:30px;line-height:2em;”>

字高30px,行高2em。

</p>


2个段落的行高都为2em,但是字体大小不同,因此显示如图7-23所示。


图7-23 行高的计算


2)行高可以设定得比字体高度小,此时多行的文字将叠加到一起,例如有如下代码,其显示如图7-24所示。

p { font-size : 20px; line-height :10px; }

<p>字高20px,行高10px。此时多行的文字将叠加到一起。</p>



图7-24 比字体高度小的行高



3)行高是可继承的,但是继承的是计算值,例如有如下代码:
p { font-size :20px; line-height : 2em; }
p span { font-size : 30px; }

<p>字高20px。<span>字高30px。</span></p>

<p>元素的行高2em,字体尺寸为20px,因此计算值为40px,虽然<span>元素本身的字体尺寸为30px,不过其继承的行高仍为40px。但是在不同的浏览器内显示的效果却不尽相同,如图7-25所示。


图7-25 行高的不同表现

4)由于继承的是计算值,因此当元素内的文字字体尺寸不一样的时候,如果设定固定的行高很可能造成字体的重叠,例如有如下代码,其显示如图7-26所示。

p { font-size : 20px; line-height : 1em; }
p span { font-size : 30px; }

<p>字高20px,行高1em,当文本为多行时可能会发生文字重叠的现象。<span>字高30px。</span></p>


图7-26行高继承造成文字叠加

为了避免这种情况,可以为每个元素单独定义行高,但是这样很烦琐,因此可以定义一个没有单位的实数值作为缩放因子来统一控制行高,缩放因子是直接继承的,而不是继承计算值。例如修改上例中的行高为:

p { line-height : 1; }

则上例中的XHTML代码显示如图7-27所示。


图7-27缩放因子对行高的影响


当内容中含有图片的时候,如果图片的高度大于行高,则含有图片行的行框将被撑开到图片的高度,如图7-28所示。


图7-28 含有图片的行

注意图片虽然撑开了行框,但是不会影响行高,因此也不会影响到基于行高来计算的其他属性
提示:当行内含有图片的时候,图片和文字的垂直对齐方式默认是基线对齐,关于垂直对齐将在本章[7.4 垂直对齐:vertical-align属性]一节中讨论。



5,浏览器的差别与错误

浏览器在显示的时候往往会有自己的表现形式,例如在Opera内,行高将按照CSS定义的将行距除以2增加到内容区域的上下两边,而IE和Firefox则不是完全平分,如图7-29所示。


图7-29 不同浏览器对行高的显示

不过,相差的1至2个像素在实际显示中一般不会有太大的影响,因此可以忽略不计。比较严重的错误是IE 6.0对于含有图片或者表单元等可替换行内元素的行高失效的问题,不过,在IE 7.0中已经修正了这个错误,但是其表现同其它浏览器也不相同。例如有如下代码,其显示如图7-30所示。

#lineHeight4 p { line-height : 60px; }
#lineHeight4 fieldset{ border : 0; }

<div id=”lineHeight4″>

 <p>

内容含有图片在[IE 6]内浏览line-height将失效。

<img src=”../../img/ddcat_anim.gif” alt=”图片” width=”88″ height=”31″ />

</p>

 <form id=”testForm” action=”#”>

 <fieldset> 

<p><label for=”test1″>表单元素</label>< input type=”text” maxlength=”16″ value=”IE6内行高失效” /></p>

 </fieldset>

 </form>

 </div>


图7-30 包含替换元素的行高在IE内失效

由图7-30读者可以发现,IE 7.0中,将半行距分别加在了图片的上下,而由于图片默认是基线对齐,因此文字的基线下移了,这显然不符合CSS中的规定。

对于IE 6.0中行高失效的问题,需要使用CSS Hack手段来针对IE 6.0设定替换元素的上下补白来修正。



6,在单行或多行或图片实现垂直居中

1)单行文字的垂直居中对齐
网上都是这么说的,把line-height值设置为height一样大小的值可以实现单行文字的垂直居中。这句话确实是正确的,但其实也是有问题的。问题在于height,看我的表述:“把line-height设置为您需要的box的大小可以实现单行文字的垂直居中”,差别在于我把height去掉了,这个height是多余的,您不信您可以自己试试。

2)多行文字的垂直居中
要实现高度不固定的文字垂直居中使用padding就好了。

对于高度固定的div,里面文字单行或多行显示,字体大小有大有小的情况怎么办呢?方法之一就是借助于line-height。

下图为demo页面的截图批注图:
多行文字垂直居中原理演示

正如上面所说,line boxes的高度取决于它的下属职员的最高高度。而这个高度由一个不占据任何空间的空格完成,方法即使设置font-size为0,line-height为所需要的高度。同时,我们为了分隔line boxes,同时要保持在一行上,需要设置display属性为inline-block。如下代码,有别于demo:

.mulit_line{line-height:150px; border:1px dashed #cccccc; padding-left:5px;}
.mulit_line span{display:-moz-inline-stack; display:inline-block; line-height:1.4em; vertical-align:middle;}
.mulit_line i{width:0; display:-moz-inline-stack; display:inline-block; vertical-align:middle; font-size:0;}

html代码:

<p class="mulit_line">
    <span style="font-size:12px;">这里是高度为150像素的标签内的多行文字,文字大小为12像素。<br />这里是第二行,用来测试多行的显示效果。</span><i>&nbsp;</i>
</p>

效果如上批注图。已通过IE8以外的主流浏览器的兼容性检测。以前曾见过说IE8的line-height有些问题,如果谁发现IE8下有问题,欢迎指出,不甚感谢。

【楼主:此方法只能用于文字宽度不超过p的内容,或者人工使用<br>断行。】


3)图片的垂直居中
您可以狠狠地单击这里:行高使图片垂直居中显示demo

http://www.zhangxinxu.com/study/200911/image-center-new-method-test.html

此方法在“大小不固定的图片、多行文字的水平垂直居中”一文中的最后补充内容里已经详细讲解了。这里不多说了。

//zxx:之前未能在IE8下测试,现发现此方法不仅在Opera下有问题,在IE8下也是表现欠佳。所以仅仅使用line-height的垂直居中法有待斟酌,或许要使用与上面多行文字垂直居中的同样的方法来实现图片垂直居中的效果。


7,行高在文章显示中的应用

一般社交型的网站都会有发博文或写日志的功能,其中发表后的文章显示也是有学问的,其中之一就是line-height行高。

首先要知道行高的几种表示方法:px/em,或normal,或百分值,或数值,或inherit继承。

在显示文章的box里,px的表示方法首先是要被淘汰的。因为文章里面的文字是有大有小的,使用px定值,由于继承性,无法实现根据文字大小自动调整间距,会出现大号文字重叠的现象。

normal也是不行的,一般文章显示最好是650像素的宽度,1.5倍的行距较好。一般浏览器的normal值在1~1.2之间,使用normal必然文字间距过小,阅读吃力。

百分值也有继承性,但是有个很搓的办法可以实现文字间距自动适应于文字的大小,那就是使用“*”通配符,例如:.article_box *{line-height:150%;}就不会出现文字重叠的情况了。网易博客就是使用的这个方法,下图为证:
网易博客使用百分比加通配符实现行高自适应
为什么说这个方法搓呢,使用“*”通配符大大增加了css的渲染,效率低,而且有更好的方法,就是使用数值(缩放因子)。150%虽然和1.5在值上是一样的,但是它们也是有差别的,差别在于继承性,使用百分比会计算line-height的值,然后以px像素为单位继承下去,而1.5则是先继承1.5这个值,遍历到了该标签再计算去line-height的像素值。所以同样的效果只需要.article_box{line-height:1.5;}就可以实现了。


8,使用行高代替高度避免haslayout

在某些情形下,line-height可以和height互换,因为实现的效果一样。都能撑开一个高度,然而这两个css属性有一个较隐蔽的差异,就是使用height会使标签haslayout,而使用line-height则不会。以前只有IE6的时候曾流行使用height清除浮动,就是利用了IE下height使haslayout的属性。但有时候,haslayout并不需要,反而要避免。

读过我前面有关自适应按钮文章的人可能会发现我使用了line-height代替了height,其原因在于:IE6,IE7下,类似inline-block属性的元素里如果有block属性的元素,如果该block haslayout,则该标签会冲破外部inline-block的显示而宽度100%显示,从使按钮自适应文字大小的效果失效,解决方法就是使用line-height代替height。
height与line-height在IE6下区别

上图中第一个标签使用height定高,结果宽度直接100%显示;第二个标签使用line-height定高,结果很规矩,自适应与内部文字大小。其代码如下:

css部分:

.out{display:inline-block; background:#a0b3d6; margin-top:20px;}
.in1{display:block; height:20px;}
.in2{display:block; line-height:20px;}

html部分:

<span class="out">
	<span class="in1">height:20px;</span>
</span>
<span class="out">
	<span class="in2">line-height:20px;</span>
</span>



from 阿桃(http://blog.csdn.net/taotao6039)整理自以下文章:
http://www.woaicss.com/article/div/line-height.htm
http://www.zhangxinxu.com/wordpress/2009/11/css%E8%A1%8C%E9%AB%98line-height%E7%9A%84%E4%B8%80%E4%BA%9B%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E5%8F%8A%E5%BA%94%E7%94%A8/



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【line-height】 line-height详解 的相关文章

  • 客户管理系统CRM表格版,含销售合同客户关系维护等功能

    客户管理系统CRM表格版 含销售合同客户关系维护等功能 系统由EXCEL开发 绿色安全 简单好用 送VBA宏插件编号 139653845009471设计师儿
  • Vue手动控制点击事件Click触发

    方法一 变量的值 触发函数 方法二 利用变量控制css样式设置其pointer event none
  • 机器视觉基础

    机器视觉基础 什么是机器视觉 机器视觉常见的应用 机器视觉常用的概念 硬件选型 控制器 相机 镜头 附件选型 什么是机器视觉 机器视觉常见的应用 机器视觉常用的概念 快门时间越短 图片越暗淡 光圈小了 照片会暗淡 硬件选型的时候考虑物距 W
  • flex伸缩布局看着一篇就够啦

    flex伸缩布局 flex弹性概念 弹性盒子是一种按行或者按列布局元素的一种布局方式 它是需要父子盒子嵌套使用的 作用在父盒子 容器 上的属性有 flex direction 改变轴方向 flex wrap 换行 flex flow 前两项
  • Element ui Dialog弹出框宽度固定不变

    一般我们引用Dialog弹出框时 弹出框的大小都是用width 30 这样来设置 这样的话我们在缩小屏幕的时候弹出框就会根据你缩小屏幕的宽度的百分比来设置 这样你弹出框里面的东西就会溢出 如果你不想溢出就把宽度写成width 500px 这
  • CSS中的弹性布局:flex

    1 flex布局 Flexible Box 1 1 任何一个容器都可以指定为flex布局 可以应用于 块级 元素 也可以用于行内元素 1 2 当父设置flex布局后 子元素的float clear vertical align属性将失效 2
  • HTML、CSS制作小米商城网页首页源码解析

    简介 这是我学习前端以来仿写的第一个项目 沿着尚硅谷李立超老师的教学视频学习 在仿写这个项目的过程中即巩固了这两周以来的知识 也增加了一些小经验 主要是老师传授 同时也让自己更加有信心学习下去 相信自己一定会实现自己的小梦想 加油 小米官网
  • 小案例:页面滚动事件以及导航栏点击

    HTML html实现方法一 导航栏a标签href 要与下列div中id属性对应 点击a标签即可滑动到对应id的div div class navbar 导航栏 ul class rightheader li a class page sc
  • 【line-height】 line-height详解

    1 line height是什么 w3school定义使用line height属性定义行与行之间的距离 也就是一个行的行高 它不允许使用负值 使用在文本行的时候line height 与 font size 的计算值之差 在 CSS 中成
  • elementui的文件上传功能-.上传文件-带参数-手动

    elementui的文件上传功能 上传文件 带参数 手动
  • 实现3D照片墙效果

  • JS+CSS实现一个底部渐变波浪效果

    今天又来分享一个网页特效 自己瞎写的 类似一个波浪效果 并且有背景渐变 就叫做底部渐变波浪把 先看看效果图 实现代码 实现原理也很简单 就是使用 keyframes定义动画函数 然后对每个元素应用animation属性 设置不同的延迟播放时
  • 父组件传来的值和子组件自己定义的data的值有什么区别?

    props和data的区别 1 data中的数据是组件内自己的数据 状态 可以随意修改data中的值 2 props的数据是父组件传递过来的数据 是只读的 只能供子组件使用 不能随意修改 下面进行演示 1 首先创建一个父组件HomeView
  • vue+element-ui el-tabs切换面板el-tab-pane切换

    在vue项目中 el tabs在页面的右侧显示 切换面板 下面的内容是正常显示的 效果如下 代码如下 父组件
  • css中float用法

    float浮动 指将指定元素悬浮于所在整体之上 即将垂直排列的元素转换为水平同行显示 平时写出的HTML是具有先后顺序的 对于这个顺序我们称之为标准流 而浮动则是脱离标准流的另一个独立标准 下面给出float定义 float left 左浮
  • ElementUi的el-tree组件样式修改

    ElementUi的el tree组件样式修改 需求如下 下拉图标的修改 element ui中的原本的基本样式是这样的 所以第一步呢 就是要把这个下拉按钮的样式修改成加号 在vue文件中 修改样式即可 vue的项目在写样式的时候 回家上s
  • ECharts社区里面的gallery在哪里?ECharts gallery新地址

    学习echarts map发现echarts 社区里面没有gallery了 找了好久 终于找到了 这是新地址 https www makeapie com explore html 赶紧收藏
  • 超简单:很火的3D立体动态相册,送给心爱的那个人

    1 首先 我们一共需要三个文件 目录关系如下所示 先建index html文件吧 电脑上先创建一个 txt文件 在里面加入代码后保存 重命名为index html 记得把原来的 txt后缀覆盖 html我用的谷歌浏览器 index html
  • 第8章 多媒体嵌入

    学习目标 了解视频 音频嵌入技术 能够总结HTML5视频 音频嵌入技术的优点 了解常用的视频文件格式和音频文件格式 能够归纳HTML5支持的视频和音频格式 掌握HTML5中视频的嵌入方法 能够在HTML5页面中添加视频文件 掌握HTML5中
  • 当设置display:inline;时,盒模型的宽度样式失效的解决办法

    当给一个盒子的样式加了 box display inline 后 发现宽度就失效了 但是有需要盒子不换行 把display inline 删了 换成float left 效果是一样的

随机推荐

  • Sqlite进阶之--附加数据库关联查询以及Pragma的相关使用

    数据库连接 基本的 Data Source c mydb db Version 3 此类库不支持版本 2 内存数据库 Data Source memory Version 3 New True SQLite 数据库通常存储在磁盘上 但数据库
  • 元组学习python复习资料

    a 第0个 2 3 d 倒1 1 倒1 2 这里我们区分好命名各元祖 1为第0个元祖 2为第1个元祖 csharp 再介绍一下元祖的概念 数据结构在python中包含 元祖 列表和字典 特点1 元祖一旦被创建不能被修改 a 第0个 2 3
  • 简洁直观的飞行器数学模型推导

    运动学方程 动力学方程 值得注意的是 对于非定轴和定轴转动 h r
  • HDOJ 7328 Snake —— 2023“钉耙编程”中国大学生算法设计超级联赛(5)(2023杭电多校第五场)

    题目链接 简要题意 题目相当于求 n n n个人排成 m m m个队伍 队伍内部有序 队伍之间无序 最长的长度不超过 k
  • ffmpeg最简单方式支持nvidia硬编解码

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 nvidia硬编解码是什么 二 使用步骤 1 安装 2 确认 1 硬件解码器 2 硬件编码器 3 测试 总结 前言 因为工作内容的需要 之前写过一篇文章关
  • java 线程休眠 假死,java多线程-jstack线程阻塞问题排查

    线上高并发时 tomcat挂掉了 应用假死等问题 都可以使用jstack查看线程堆栈的问题 jstack参数解说 首先线程状态如下 New 当线程对象创建时存在的状态 此时线程不可能执行 Runnable 当调用thread start 后
  • IT项目管理(4)

    文章目录 联合同学做一个年级微信公众号加强各班相互了解 联合活动等 请编制项目章程和项目管理计划 指导该项目实施与运营 必须包含 WBS 和 甘特图 项目章程 测量目的 可测量的项目目标和相关的成功标准 高层级需求 高层级项目描述 边界定义
  • 【webots教程】你在webots搭建的第一个仿真环境

    系列文章目录 webots教程 简介与软硬件要求 webots教程 安装 webots教程 关于webots的超详细介绍 webots教程 你在webots搭建的第一个仿真环境 webots教程 编写你的第一个控制器 webots教程 简单
  • AI工程师职业经验指南——前新浪微博资深算法工程师告诉你怎样成为一名合格的推荐系统工程师

    本文转载自 程序员 杂志2017年11月期 推荐系统工程师成长路线图 Item based collaborative filtering recommendation algorithms 这篇文章发表于2001年 在Google学术上显
  • Android完全退出程序

    有过Android开发经验的人都知道 应用程序点击返回键或者代码显示调用了Activity finish 方法都无法完全退出 他们还在进程中 下面分享下Android客户端完全退出程序的方法 1 添加权限
  • WPS VAB支持库下载

    WPS VAB支持库下载 WPS VAB支持库下载 新的改变 功能快捷键 合理的创建标题 有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中 居左 居右 Smar
  • Linux进程编程(PS: exec族函数、system、popen函数)

    目录 1 进程相关概念 程序和进程 查看系统中的进程 ps指令 top指令 进程标识符 使用getpid 获取 父进程 子进程 2 创建进程fork 进程创建发生了什么 C程序的存储空间如何分配 3 创建进程vfork 区别fork 4 进
  • cifar数据集介绍及到图像转换的实现

    CIFAR是一个用于普通物体识别的数据集 CIFAR数据集分为两种 CIFAR 10和CIFAR 100 The CIFAR 10 and CIFAR 100 are labeled subsets of the 80 million ti
  • pandas笔记(2)——导入excel、csv、txt、sql文件

    导入Excel文件 导入xlsx文件可以使用read excel 基本导入 为避免文件路径里的 被转义 需要在路径前面加转义符 r import pandas as pd df pd read excel r C Users 13513 D
  • git提交代码流程

    当我们从git仓库拉去代码后 我们当前分支将会是master 然后在实际工作中 规范要求我们创建自己的分支 开发后再进行合并 那么这一整个流程是啥样的呢 流程 1 创建自己的分支 git checkout b feat mybranch 2
  • C++11继承构造函数在类中的使用

    继承构造函数 概念 衍生问题 使用示例 注意 扩展使用 函数 示例代码 输出结果 注意 概念 继承构造函数在C 11特性中随之提及 其大概可以理解为 解决了派生类无法直接使用基类中的构造函数的这一问题 正常情况下 基类定义了自己的构造函数
  • Java如何编写无返回值的方法的单元测试

    有一个方法 他的返回值是void也就是说 我们无法对方法的返回值进行断言 但是 既然这个方法是无返回值的方法 那么他一定修改了对象的状态 成员变量 或是进行了输入输出 向某个窗口发送消息 与某个进程通讯 总之 他是有副作用的 如果没有任何副
  • AI催生教育行业“焦虑症”,加拿大高校用机器人教学来解

    过去几年间 安大略省南部的高等院校中涌现出许多类人机器人 这些机器人可以在工程训练 健康护理和皮肤医学等方面为学生们提供帮助 今年六月 麦克马斯特大学和瑞尔森大学通信与设计学院 FCAD 合力引进了由日本电信巨头SoftBank打造的类人机
  • 模块电路选型(7)----人机交互模块

    系列文章目录 1 电源模块 2 主控模块 3 传感器模块 4 通信模块 5 电机驱动模块 6 存储模块 7 人机交互模块 文章目录 前言 一 按键 1 触摸按键 前言 送给大学毕业后找不到奋斗方向的你 每周不定时更新 牛客网 构建从学习到职
  • 【line-height】 line-height详解

    1 line height是什么 w3school定义使用line height属性定义行与行之间的距离 也就是一个行的行高 它不允许使用负值 使用在文本行的时候line height 与 font size 的计算值之差 在 CSS 中成