「CSS 面试」这一题可以难倒 80% 以上的面试者

2015-08-17 16:49:38 +08:00
 FrankFang128

position 有哪些取值?各取值的意义分别是什么?

我上个月面了 5 个人,全都答得不准确。

所谓准确就是把各取值相对谁定位说清楚。

这反映出大部分新人根本不看标准或者定义,直接用,我只能说你们很勇敢。

注:标题党了, 80% 是我的个人经验,实际应该更高 lol 。

10354 次点击
所在节点    前端开发
105 条回复
raincious
2015-08-17 17:41:05 +08:00
@sumhat

(2^32 / 2 ) - 1

很难么?啊哈哈哈……
vitas
2015-08-17 17:41:17 +08:00
- - 我是 UI ,偶尔帮前端做一些简单的页面.自学的.
有些取值怎么读都不知道~然而不影响我做出来的页面效果.
我觉得能做出东西来就行了吧
就像 UI 你用 ps 也好 sketch 也罢 能画出好 UI 才是硬道理
sumhat
2015-08-17 17:45:55 +08:00
@raincious 我是指实际的值而不是公式
raincious
2015-08-17 17:47:30 +08:00
@sumhat

7F FF FF FF

很难么?啊哈哈哈
69
2015-08-17 17:47:51 +08:00
既然是 CSS 的工作,能「合理」的還原設計師的作品、以及交互效果才是最重要的;
其次才是對 CSS 原理的理解,雖然這些理解有助於更好的工作、在工作中碰更少的坑;

但是,如果一個人本身有著不錯的工作能力,卻因為這樣的題目就被否定,對企業也是一個損失,要知道,前端在大陸本身就沒有多少正式的授課,基本都是靠自己摸索和自學。

無論是題目、還是主貼內容、或是樓主的觀點,都太過絕對了。
tabris17
2015-08-17 17:49:26 +08:00
我做前端的时候还是 IE6 时代,我记得 position:fixed 的兼容性是有问题的,所以从来不用
qinglangee
2015-08-17 18:00:21 +08:00
@raincious 哎哟,不错哦, 明天来上班
yangff
2015-08-17 18:03:31 +08:00
其实这都不是问题……

但是这样就是为什么,前端总会出现要一个一个浏览器适配过去的情况……
FrankFang128
2015-08-17 18:04:16 +08:00
@69 面试就像应试,必然有这个缺点
FrankFang128
2015-08-17 18:13:39 +08:00
@tabris17 现在已经不是 IE 6 时代了,如果现在还在学习陈旧的知识,说明知识获取渠道太陈旧(只会用百度)
66beta
2015-08-17 18:15:08 +08:00
楼主提供一台电脑,用 google 查找出答案的就留下吧 :)
FrankFang128
2015-08-17 18:16:54 +08:00
@66beta 自带 VPN/Shadowsocks 的加分。
simodorg
2015-08-17 18:18:43 +08:00
@66beta 能马上提出是否能用 Google 搜索,并看懂英文理解进去,能用自己语言说出个大概,这样的学习能力也是可以的。
raincious
2015-08-17 19:02:40 +08:00
@FrankFang128

说真的我原先也没想起来除了 fixed 、 absolute 、 relative 之外还有什么其他的值,于是我搜了下,发现还有一个 static ,然后,我突然想起来那不是默认值么……也难怪。(当然还有 inherit 和 initial 这两个公有的)

如果一个值不经常使用的话,的确会渐渐生疏。


> 这反映出大部分新人根本不看标准或者定义,直接用,我只能说你们很勇敢。

我倒是同意,因为我自己遇到的很多坑都是因为不熟悉标准和定义(里的坑)所以掉进去的。

但:

> @tabris17 现在已经不是 IE 6 时代了,如果现在还在学习陈旧的知识,说明知识获取渠道太陈旧(只会用百度)

这个我倒是不敢苟同了。因为这仅仅只是保守而已,不是说知识有什么问题。

一个合格的程序员应该保证他自己的程序能够在尽量多的兼容各种意外状况。

比如你在 Windows 下面写的代码,跑在 Linux 上就会遇到问题。在这种情况下,你就会想到用兼容性更好的函数 /库来替代操作系统提供的功能。比如微软自家的 MultiByteToWideChar 和开源的 strconv 就是这样的情况。

就 CSS 来说,想要最大限度的进行兼容,就需要避免使用在不同浏览器下会有差异的属性。 fixed 是其中之一。而且要注意, position 是控制布局的属性,如果出现了不兼容的情况,页面的布局就乱了,这样产品就不合格。所以开发人员倾向于避免使用 fixed 没啥问题,直到决策人员下决定说只需要兼容高于某个版本的浏览器,而那些浏览器完全是支持 CSS2 标准的。
yangg
2015-08-17 19:07:15 +08:00
你知道 sticky 么
lijingyu68
2015-08-17 19:13:51 +08:00
前端做了两年了,同样答不上的路过。。。
edisonator
2015-08-17 19:18:54 +08:00
哦,看错了你的第三条。
hbkdsm
2015-08-17 19:25:48 +08:00
@FrankFang128

我来回答一下, position 属性设置为 absolute 的元素相对于离其最近的已定位祖先元素进行定位。若其祖先元素均非定位元素,则相对于初始包含块进行定位。

对否?
FrankFang128
2015-08-17 19:44:32 +08:00
@lijingyu68 还好,我见过不会 CSS 的前端
clippit
2015-08-17 20:02:02 +08:00
也许有人说,这些都是查文档查手册可以得到的,作为面试题太苛刻了。但是我觉得,这些真的都是前端的基本功啊,比如 position 的取值,比如画个盒模型,指一下 width 和 height 从哪儿到哪儿(这个也是我面试时经常能 fail 掉一大帮人的题目)。这样的基础知识,就相当于你在 C/Java/PHP 里面写一个 for 循环,括号里三段的含义是什么一样基础。你们会认为,在面试的时候,写不出 for 循环,然后通过查 Google 查到应该怎么写了,这样就可以过了?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/213833

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX