CSS实现电池充电效果

学会如何运用animation属性的定义以及效果

1
animation

属性是一个简写属性,用于设置六个动画属性:

  • animation-name,绑定动画keyframe
  • animation-duration,规定完成动画所花费的时间
  • animation-timing-function,规定动画的速度曲线
  • animation-delay,规定动画开始之前的延迟
  • animation-iteration-count,规定动画应该播放的次数
  • animation-direction,规定是否应该轮流反向播放

效果地址:http://www.29ym.com/demo/dianchi.html

JQ上下切换幻灯效果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$(function(){
var index=0;
var len=$(".num>li").length;
var adTimer;
$(".num li").mouseover(function(){
index=$(".num li").index(this);
showImg(index);
}).eq(0).mouseover();
$(".ad").hover(function(){
clearInterval(adTimer);
},function(){
adTimer=setInterval(function(){
showImg(index)
index++;
if(index==len){
index=0;
}
}, 3000);
}).trigger("mouseleave")
function showImg(index){
var adHeight=$(".ad").height();
$(".slider").stop(true,false).animate(
{top:-adHeight*index},1000
);
$(".num li").removeClass('on').eq(index)
.addClass("on");
}
})

幻灯效果地址

较常用的头部META信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<!-- 字体编码 -->
<meta charset="utf-8" />
<!-- 关键字 -->
<meta name="keywords" content="" />
<!-- 说明 -->
<meta name="description" content="" />
<!-- 作者 -->
<meta name="author" content="" />
<!-- 设置文档宽度、是否缩放 -->
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no" />
<!-- 优先使用IE最新版本或chrome -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<!-- 360读取到这个标签立即钱换到极速模式 -->
<meta name="renderer" content="webkit" />
<!-- 禁止百度转码 -->
<meta http-equiv="Cache-Control" content="no-siteapp" />
<!-- UC强制竖屏 -->
<meta name="screen-orientation" content="portrait" />
<!-- QQ强制竖屏 -->
<meta name="x5-orientation" content="portrait" />
<!-- UC强制全屏 -->
<meta name="full-scerrn" content="yes" />
<!-- QQ强制全屏 -->
<meta name="x5-fullscreen" content="ture" />
<!-- QQ应用模式 -->
<meta name="x5-page-mode" content="app" />
<!-- UC应用模式 -->
<meta name="browsermode" content="application">
<!-- window phone 点亮无高光 -->
<meta name="msapplication-tap-highlight" content="no" />
<!-- 安卓设备不自动识别邮件地址 -->
<meta name="format-detection" name="email=no" />
<!-- iOS设备 -->
<!-- 添加到主屏幕的标题 -->
<meta name="apple-mobile-web-app-title" content="标题" />
<!-- 是否启用webApp全屏 -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<!-- 设置状态栏的背景颜色,启用webapp模式时生效 -->
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent/black/default" /><!-- 半透明/黑色/默认白色 -->
<!-- 禁止数字识别为电话号码 -->
<meta name="format-detection" content="telephone=no" />
<!--
iOS图标
iPhone/iTouch默认是57*57
iPad,72*72,可以没有,但推荐有
Retina iPhone/Retina iTouch,114*114,可以没有,但推荐有
Retina iPad,144*144,可以没有,但推荐有
iPhone 6 plus是180*180,iPhone 6 是120*120
-->
<link rel="apple--touch-icon-precomposed" sizes="width*height" href="xxx.png" />
<!-- iOS启动画面 -->
<!-- iPad启动是不包含状态栏的 -->
<!-- 标准分辨率:1、竖屏(768*1004);2、横屏(1024*748)
Retina:1、竖屏(1536*2008);2、横屏(2048*1496) -->
<!-- iPhone/iTouch启动是包含状态栏的 -->
<!-- 标准分辨率(320*480)、Retina(640*960)、iPhone 5/iTouch 5(640*1136) -->
<link rel="apple-touch-startup-image" sizes="width*height" href="xxx.png" />
<!-- iPhone 6对应的图片大小是750×1294,iPhone 6 Plus 对应的是1242×2148 -->
<link rel="apple-touch-startup-image" href="xxx.png" media="(device-width:375px)">
<link rel="apple-touch-startup-image" href="xxx.png" media="(device-width:414px)">
<!-- 智能添加广告条 -->
<meta name="apple-itunes-app" content="app-id=myappstoreID,affiliate-data=myaffiliatedata,app-argument=myurl" />

门前

我多么希望,有一个门口
早晨,阳光照在草上

我们站着
扶着自己的门扇
门很低,但太阳是明亮的

草在结它的种子
风在摇它的叶子
我们站着,不说话
就十分美好

门头是矮矮的,有阳
光照进来,我们靠着什
麽都不说,就十分美好。

有门,不用开开
是我们的,就十分美好

早晨,黑夜还要流浪
我们把六弦琴交给他
我们不走了

我们需要土地
需要永不毁灭的土地
我们要乘着它
度过一生

土地是粗糙的,有时狭隘
然而,它有历史
有一份天空,一份月亮
一份露水和早晨

我们爱土地
我们站着
用木鞋挖着泥土
门也晒热了
我们轻轻靠着,十分美好

墙后的草
不会再长大了,它只用指
尖,触了触阳光

 

淘宝搜索框切换效果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$(function(){
$(".bodys p").not(':first').hide();
$(".searchbox ul li").mouseover(function(){
var index=$(this).index();
if(index==0){
$(this).find("a").addClass
("style1");
$("li").eq(1).find("a")
.removeClass("style2");
$("li").eq(2).find("a").
removeClass("style3");
}
if (index==1) {
$(this).find("a").addClass
("style2");
$("li").eq(0).find("a")
.removeClass("style1");
$("li").eq(2).find("a")
.removeClass("style3");
}
if (index==2) {
$(this).find("a").addClass
("style3");
$("li").eq(0).find("a")
.removeClass("style1");
$("li").eq(1).find("a")
.removeClass("style2");
};
var index=$(this).index();
$(".bodys p").eq(index).show()
.siblings().hide();
})
})

效果地址

http://www.29ym.com/demo/tb_tab.html

子元素浮动父容器高度不能自适应的CSS解决方法

网页前端工作者经常会遇到子元素设置float浮动后导致父容器高度不能自适应,也就是俗称的外部容器不能被“撑大”,常见表现为背景或边框异常,这时我们就需要来清除“闭合浮动”,方法主要有以下4种:

1. 额外标签法

这种方法就是向父容器的末尾再插入一个额外的标签,并令其清除浮动

1
(clear)

以撑大父容器。这种方法浏览器兼容性好,没有什么问题,缺点就是需要额外的(而且通常是无语义的)标签。

虽然许多人不喜欢这种方法,但是它却是W3C推荐的方法。

1
<div style="clear:both;"></div>

或者使用

1
<br style="clear:both;" />

2. 使用after伪类

这种方法就是对父容器使用

1
after

伪类和内容声明在指定的现在内容末尾添加新的内容。经常的做法就是添加一个“点”,因为它比较小不太引人注意。然后我们再利用它来清除浮动(闭合浮动元素),并隐藏这个内容。

这种方法兼容性一般,但经过各种 hack 也可以应付不同浏览器了,同时又可以保证html比较干净,所以用得还是比较多的。

以下为一个采用伪类的CSS示范写法:

1
2
3
4
5
6
7
#box:after{  
     content:".";  
     height:0;  
     visibility:hidden;  
     display:block;  
     clear:both;  
}

3. 设置overflow为hidden或者auto

这种做法就是将父容器的

1
overflow

设为

1
hidden

或auot 阅读剩余部分 –

你站在桥上看风景,看风景的人在楼上看你

断章

你站在桥上看风景,
看风景的人在楼上看你。
明月装饰了你的窗子,
你装饰了别人的梦。

When you watch the scenery from the bridge,
The sightseer watches you from the balcony.
The bright moon adorns your window,
While you adorn another’s dream.

IE6下CSS样式失效时如何进行调试

按CSS HACK规则来写一个专门针对IE6下的此样式。

A)对于#开头的样式或直接在下面复制一个当前的同名样式,并在前面加上IE6的特殊标志*html.
如:

1
2
3
#footer{width:200px;color:#ff0000;} /* for FF, IE8 */
*html #footer{width:200px;color:#ff9900;} /* for IE6 */
*+html #footer{width:200px;color:#ff9900;} /* for IE7 */

/*请注意上面的书写顺序,FF->IE6->IE7,若ie7下样式正常可不用写最后一行*/
B)对于. 开头的样式可直接在样式的{}内重写样式。
如:.

1
2
3
4
5
6
7
8
footer{width:200px;color:#ff0000;}
.footer{width:200px; /* for FF, IE8*/
*width:250px; /* IE7支持 */
_width:320px; /* IE6支持 */
color:#ff0000; /* for FF,IE8 */
*color:purple; /* IE7支持 */
_color:brown; /* IE6支持 */
}

3)再次调试,多数情况下样式已经正常了。不过,有时上面会有一些样式的影响力渗透到当前的样式上,直接把当前的样式给覆盖掉。这样就要加上一句

1
clear:both;

4)可能是因为margin 或padding等不兼容造成的,出现此情况尝试在html的头部添加如下内容。

1
&lt;meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /&gt;

注意:此段代码只针对ie浏览器有效!

5)浮动ie产生的双倍距离

1
2
3
4
5
6
7
8
9
10
11
#box{

float:left;

width:100px;

margin:0 0 0 100px; //这种情况之下ie会产生200px的距离

display:inline; //使浮动忽略

}

这里细说一下block,inline两个元素,block元素的特点是:总是在新行上开始,高度,宽度,行高,边距都可以控制(块元素);inline元素的特点是:和其他元素在同一行上,…不可控制(内嵌元素);

1
2
3
4
5
6
7
8
9
#box{

display:block; //可以为内嵌元素模拟为块元素

display:inline; //实现同一行排列的的效果

display:table;//将对象作为块元素级的表格显示

}