准备换工作了,周末在家充电,本来想封装个插件的。
但是看到个有意思的博文,原作者处理的不是很好,感觉有点意思我就研究一下。
原文地址: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="//images0.cnblogs.com/blog/294743/201305/18155307-5204bc8ef6164feb87953dd7f264158b.gif"> 30 <div id="box1"> 31 <a href="#">1</a> 32 <a href="#">2</a> 33 <a href="#">3</a> 34 <a href="#">4</a> 35 <a href="#">5</a> 36 <a href="#">6</a> 37 <a href="#">7</a> 38 <a href="#">8</a> 39 <a href="#">9</a> 40 </div> 41 42 43 <h1>二.使用一个标签和纯CSS a href="#" title="订阅博客" 订阅博客 a 实现如图效果,文字始终保持左边距10px, 下边距5px,改变字体大小(12px-50px)时,边距保持不变,不使用 content:"订阅博客",兼容现代浏览器</h1> 44 <img src="//images0.cnblogs.com/blog/294743/201305/18155433-83a8a694edc3490d81efde98cc3b09b2.gif"> 45 46 <a href="#" id="box2" title="订阅博客">订阅博客</a> 47 48 </body> 49 </html>