Monthly Archives: November 2011

小三角的实现

对于我这种不折腾会死星人来说,一天不折腾,就闲得蛋疼。在新浪weibo看微博的时候,无疑中看到新浪顶部的导航里面的小三角,突然在想他是用图片呢,还是直接用css呢?习惯性的打开firebug,详细的看看。小三角的作用已经很明显了,告诉用户这个链接是个下拉的,是不一样的。

新浪微薄导航小三角的css实现


先看代码(只写核心的):


style:
span{display:inline-block;width:5px;height:3px;}
.b1{display:block;width:5px;height:1px;overfollow:hidden;background:#c1c1c1;}
.b2{display:block;width:5px;height:1px;overfollow:hidden;margin-left:1px;background:#c1c1c1;}
.b3{display:block;width:5px;height:1px;overfollow:hidden;margin-left:2px;background:#c1c1c1;}

html:
span
em class="b1" /em
em class="b2" /em
em class="b3" /em
/span

主题有猫病,pre标签里面的html代码竟然不见了啊,我草

好吧,三角就是由三个元素组成,宽度分别是5px,3px,1px,然后分别设置背景色,高度设置为1px,由于IE君元素的最小高度和字体大小关联,那么设置overfollow:hidden;来隐藏多余的高度,只保留1px的高度,另外两个元素的原理也是一样,只是宽度不一样,并且使用margin-left;1px;来让三个1px高度的元素组合起来,这样子看起来,就是个三角了。当然了,由于使用的em标签,就必须使用display:block;来设置高了。

google的实现



style:
.b{border-style:solid dashed dashed;border-color:transparent;border-top-color:sliver;display:inline-block;font-size:0;height:0;line-height:0;width:0;border-width:3px 3px 0}
html:
任一一个内联标签,比如b等

我刚看这段代码的时候,没太看懂,后来琢磨了下,才看明白,要明白这个三角的实现,首先得明白边框这玩意儿,先看看下面的内容:

XX

有没有发现其中边框其实只取一个角的话,那么是不是就可以由左右两边组成一个小三角呢,这就是google小三角实现的原理。

空标签必须是inline-block或者block的,因为要设置大小,同时设置边框的形式,其实这儿solid dashed dashed,也就是说,除了上边的边框是实心的,其他都是虚线,而且对边框的颜色设置为对父级颜色北京透明,这个时候如果不设置颜色,边框其实看不到,然后对上边的边框设置为一种想要的颜色,那么除了上面的框是有颜色的,其他的都是透明的,那么就可以了,然后设置元素内容高和宽都是0,那么就剩下一个三角了,至于font-size:0;也是为了考虑IE君的心情啊。

其实对于google而言,使用更少的标签和css代码,到成的效果可以能更好,可想而知,哪种实现更好了,不过如果不是特别了解边框,相信很难想到google这种方式,不过我看了下国内前端比较厉害的淘宝,豆瓣等都是使用google这种形式。

综合看了下,还是google的实现的最好,豆瓣也很好。

css君,你又立功了。

两周记录

好吧,我已经工作两周了。

如果不是最后时间段,因为我的疏忽,导致运维老大和同组师兄的忙了将近1个小时,结果应该是大家开心的吃着烧烤,在这里说声不好意思,同时谢谢你们。后来吃烧烤的时候,改变了我对很多人的看法,相信以后能学习到更多的东西。

以下才是主题


1.节奏

从来没有这么块节奏的工作过,上班第一天就开始写需求,然后就是老大发布任务,搞懂LVS,然后就是认识技术组的人,好在现在基本上都认识了,除了移动开发组的两位不是很熟悉。每天基本上都是写需求,然后了解业务,做业务,跟PM,组长,同事沟通。基本上一个需求没有做完,另一个需求就来了。

2.全面

CTO对每个人的要求就是全面,全面了解,现在我深有感触了,以前在淘宝做mysql底层的哥们,到这儿来了后也开始做业务,做需求。每个人都要从做业务开始,然后再开始做自己负责的模块。我想接下来以前一些不深入的只是要花很多时间了,比如mysql,linux等等。

还有就是公司牛人好多,很多都是大公司待过的,前端小王子竟然是python高手,能手写HTML5和css3版本的公司吉祥物,大师姐虽然是个小loli,但是css和js牛X的很。

3.每天都迫不及待的想上班

我从来没有这样每天迫切的想要去工作。

结束分割线


以后要学习的还有很多,明年ZZ过来后,相信我们能更加往好的方向发展。

燃烧吧,少年。

上班第一天

上班第一天,节奏快的我受不了很多东西都没来得及消化,不过确实很有挑战。

到公司还没坐稳,入职手续都没办,需求就下来了,PM跑过来说了个需求,好的,麻烦你XX时间做好,囧。我甚至没来得及熟悉代码以及其他的就开始折腾了,好在下班的时候终于弄玩了,不过多亏了师傅的帮忙,在此感谢,明天已经想好了很多时间麻烦你呢,不过这次以后,相信以后很多事情我都能自己搞定了。

因为以前都是一个人写,突然很多人写一个东西,很不习惯,加上公司很多人都是大公司出来的人,个个技术牛B的很,让我鸭梨很大啊,一下感觉要学习的东西太多太多。

同时CTO给我布置了学习任务,关于LVS以及TCP/IP方面的,囧啊,工作本身就很多了啊,亲。不过这样确实能让自己学习到不少东西。

列一下学习的内容:

  • SVN,LINUX操作命令(现在还不熟练),JQ
  • 各种协议:TCP/IP,DNS,SSH,HTTP,HTTPS,OSI等等啥的,虽然有些只需要了解,但是像TCP/IP就不是了解就能完事儿的啊,亲
  • LVS,CTO点名要学习的
  • 工具:VIM啥的
    • 好吧,让暴风雨来得更猛烈写吧

      MD,总怀疑房东的网线是毛线做的,不然怎么这么慢啊。