程序员学了一年去面试,却失败在一道css题上,基础不容忽视!

早两天群里有个伙伴,学了一年多的前端,也做过一些小项目,去面试的时候谈的还蛮不错的。但是后来他告诉我,面试失败了,就因为一道css题目

关注后私信“IT先锋”头条号,回复“学习”自助领取全套系统学习资料!

请详细解释在css中单位长是px、em、rem,三者之间的区别

虽然他能写特效,但是对于一些基础性的东西,认知学习的不多,所以这道题没写出来,被技术总监判定为基础不扎实,成长空间不大,直接淘汰了!

在这里我们详细来解释下css中rem与em的区别,希望群里以后的伙伴可以多注意基础问题,很多你忽视的东西,往往其实会成为你致命的缺陷!

如果有想从事前端这行不知道怎么学习的,或者对于前端学习效率很慢的可以来我的群570946165,群文件里有全套系统学习资料,也问题可以随时问!

在css中单位长度用的最多的是px、em、rem,这三个的区别是:

px是固定的像素,一旦设置了就无法因为适应页面大小而改变。

em和rem相对于px更具有灵活性,他们是相对长度单位,意思是长度不是定死了的,更适用于响应式布局。

对于em和rem的区别一句话概括:em相对于父元素,rem相对于根元素。

rem中的r意思是root(根源),这也就不难理解了。

em

  • 子元素字体大小的em是相对于父元素字体大小

  • 元素的width/height/padding/margin用em的话是相对于该元素的font-size

程序员学了一年去面试,却失败在一道css题上,基础不容忽视!

程序员学了一年去面试,却失败在一道css题上,基础不容忽视!

结果如下:

程序员学了一年去面试,却失败在一道css题上,基础不容忽视!

巩固测验:你能说出孙元素span的font-size和width吗?

答案:我猜你会说10px、100px,哈哈,其实逻辑上是正确的,但是如果你是chrome浏览器我不得不告诉你应该是12px、120px。因为chrome设置的最小

字体大小为12px,意思就是说低于12px的字体大小会被默认为12px,当然这一尬境可以由css3解决,这里就不多说了。

chrome默认的字体大小是12px,也就是1em默认为12px,如果最外层的父元素直接把font-size设为1.5em,那么该元素的字体大小为18px(12*1.5)。

rem

rem是全部的长度都相对于根元素,根元素是谁?<html>元素。通常做法是给html元素设置一个字体大小,然后其他元素的长度单位就为rem。

上代码:(html代码如上,只是把css代码的元素长度单位变了)

程序员学了一年去面试,却失败在一道css题上,基础不容忽视!

程序员学了一年去面试,却失败在一道css题上,基础不容忽视!

所以你可以说出span的font-size具体值吗?

当用rem做响应式时,直接在媒体中改变html的font-size那么用rem作为单位的元素的大小都会相应改变,很方便。

看到这里我想我们都更深刻的体会了em和rem的区别(参照物不同)。

总结

在做项目的时候用什么单位长度取决于你的需求,我一般是这样的:

像素(px):用于元素的边框或定位。

em/rem:用于做响应式页面,不过我更倾向于rem,因为em不同元素的参照物不一样(都是该元素父元素),所以在计算的时候不方便,相比之下rem就只有一个参照物(html元素),这样计算起来更清晰。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值