两个比较好的css面试题。第一天关于z-index

两道淘宝的css测试练习题

准备换工作了,周末在家充电,本来想封装个插件的。

但是看到个有意思的博文,原作者处理的不是很好,感觉有点意思我就研究一下。

原文地址:http://www.cnblogs.com/yexiaochai/archive/2013/05/18/3085536.html

我完成的效果预览:http://jsfiddle.net/dtdxrk/cbSfX/embedded/result/

第一题:使用 HTML+CSS 实现如图布局,border-widht 5px,一个格子大小是 50*50,hover时候边框变为红色(兼容IE6+,考虑语义化的结构)


简单分析一下:这题没什么好说的项目开发时经常用到的效果 a元素块级化 :hover的时候相对定位 改变z-index

 

第二题:使用一个标签和纯CSS <a href="#" title="订阅博客">订阅博客</a> 实现如图效果,文字始终保持左边距10px, 下边距5px,改变字体大小(12px-50px)时,边距保持不变,不使用 content:"订阅博客",兼容现代浏览器



其实第二题挺有意思的,需要完成两个动画效果:

1.只能用一个元素 a 如果你display:block块级化 就不能改变文字的位置了 所以使用display:table-cell 就可以使用vertical-align:bottom

2.文字放大动画 用的是CSS3 Transition

3.鼠标放上去有个背景颜色的改变动画 用到了CSS3 Animation 目前Firefox还不支持

 

总结:

1.淘宝ued确实牛 两道题短小精干

2.由于各个浏览器的兼容问题 都没有看过css3 又走别人后面了

 

相关学习地址:

CSS3 Transition :http://www.w3cplus.com/content/css3-transition

CSS3 Animation :http://www.w3cplus.com/content/css3-animation 

 

复制代码

 1 <!DOCTYPE HTML>

 2 <html>

 3 <head>

 4   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 5   <title>css淘宝测试练习题</title>

 6   <style type="text/css">

 7   *{margin: 0;padding: 0;font-size: 12px;line-height: 1;font-family:  'Microsoft Yahei',Arial;}

 8   h1{background-color: green;color: #fff;padding: 10px;font-size: 16px;font-weight: normal;}

 9   a{text-decoration: none;}

10

11   #box1{width:180px;height:180px;overflow: hidden;}

12   #box1 a{display: block;float:left;z-index:1;border: 5px solid blue;margin-right: -5px; margin-bottom:-5px;width: 50px;height: 50px;line-height: 50px;text-align: center;}

13   #box1 a:hover{border-color: red;position: relative;z-index: 2;}

14

15   #box2{ text-align: left;width: 500px;height:100px;padding-left: 10px;padding-bottom: 5px; display:table-cell; vertical-align:bottom;border-bottom: 3px solid red;background-color: #a0d0e0;color: #000;transition: font-size 4s;}

16   #box2:hover{background-color: #a0d0e0;-webkit-animation-name:'wobble';-webkit-animation-duration:0.3s;font-size: 50px;}

17   @-webkit-keyframes 'wobble' {

18      50% {

19         background: green;

20      }

21      100% {

22         background: #a0d0e0;

23      }

24   }

25   </style>

26 </head>

27 <body>

28 <h1>一.使用 HTML+CSS 实现如图布局,border-widht 5px,一个格子大小是 50*50,hover时候边框变为红色(兼容IE6+,考虑语义化的结构)</h1>

29 <img src="http://images.cnitblog.com/blog/294743/201305/18155307-5204bc8ef6164feb87953dd7f264158b.gif">

30 <div id="box1">

31   <href="#">1</a>

32   <href="#">2</a>

33   <href="#">3</a>

34   <href="#">4</a>

35   <href="#">5</a>

36   <href="#">6</a>

37   <href="#">7</a>

38   <href="#">8</a>

39   <href="#">9</a>

40 </div>

41

42

43 <h1>二.使用一个标签和纯CSS a href="#" title="订阅博客" 订阅博客 a 实现如图效果,文字始终保持左边距10px, 下边距5px,改变字体大小(12px-50px)时,边距保持不变,不使用 content:"订阅博客",兼容现代浏览器</h1>

44 <img src="http://images.cnitblog.com/blog/294743/201305/18155433-83a8a694edc3490d81efde98cc3b09b2.gif">

45

46   <href="#" id="box2" title="订阅博客">订阅博客</a>

47

48 </body>

49 </html>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值