前端实战(1)-动画Banner设计


title: 前端实战(1)-动画Banner设计
date: 2016-07-19 19:25
tages: 前端实战


0x01 内联元素与块元素

HTML文档中的元素大概可分为inline element和block element两种。块元素可以包含其他块或内联元素。如H1-H6,div,p,ul,ol等,但是H5中将a元素划分为了块元素,但是a元素依旧不能包含支持点击的交互元素如<a></a>,<button>等。


0x02 background简写属性

CSS中有多个属性用于设置背景样式,其中background-color设计背景颜色,background-imag指定要使用的背景图像,background是否以及如何重复图像,background-attachment是否固定,background-position图像位置。

#p {background:#f8f8f8 url(./images/sign.png) no-repeat 0 4px;}

0x03 CSS定位

CSS有四种不同类型的定位,static(默认定位),relative(相对定位),absolute(绝对定位),fixed(固定定位).

relative的元素不脱离文档流,而是参考自身右上角位置通过top,bottom,left,right进行定位。它原本所占用的空间位置会被保留,不会别其它元素所占用。

absolute和fixed的元素都是脱离文档流的,元素原先的空间位置会被关闭。但是absolute元素的位置相对于最近的已经定位的最先元素,若是没有已定位的祖先元素,则相对于最初的块。fixed则是选对于流浪器某个位置固定的,即使拖动浏览器的滚动条,该元素的位置也不会变。


0x04 font简写属性

字体属性的样式有字体系列(font-family),字体大小(font-size),行间距(line-height),字体风格(font-style),字体粗细(font-weight)。

不同于background简写属性,font简写属性遵循如下规则:
1.至少要指定字体大小与字体系列

font:12px "Times New Roman";

2.行间距添加到字体大小之后,使用"/"分割

font:1opx/1.5  "Times New Romam";

3.设置字体粗细,字体风格,字体变体属性时,要添加到字体大小之前

font:bold italic small-caps 12px/1.5 " Times New Roman";

0x04 伪类

CSS中与超链接有关的伪类如下:

种类|说明|
:---:|:---:|---
:link|向未被访问的链接添加样式
:visited|向已被访问的链接添加样式
:hover|鼠标悬浮时的样式
:active|向被激活的元素添加样式
:focus|获得聚焦时的样式


0x05 Transition动画

Transition动画通过transition属性值来指定,四个属性如下

属性 说明
tansition-property 指定html元素的哪个css属性来执行动画处理
transition-duration 渐变时间
transition-timing-funciton 动画效果,有linear,ease,ease-in,easr-out和ease-in-out等
transition-delay 延迟时间

同样transition属性也是支持简写的:

a.banner{   
 background:url(./Images/e.ico) no-repeat -100px 140px,    
 url(./Images/a.ico) no-repeat -20px -380px;
 transition:background-position .2s ease-in .2s;
}

0x06 使用jQuery播放声音

实现效果,当鼠标悬浮或者聚焦到某个元素时,开始播放声音。

编写播放声音的js插件代码

;(function($){//javascript自运行函数
    $.fn.banner_sound=function(audio_src){//使用jQuery.fn原型编号banner_sound函数
        var banner_audio;
        return this.each(function(){//返回this对象
            $(this)
                .bind('mouseover focusin',function(){
                banner_audio=new Audio(audio_src);//传入音频对象的路径
                banner_audio.play();
            })
                .bind('mouseout focusout',function(){
                banner_audio.pause();
            });

        });
    };
})(jQuery);//在内部使用$代替jQuery

在html中调用

<head>
 <script src="jquery.js"></script>
    <script src="banner.js"></script>
    <script >
        (function($){
            $(function(){
                $('.banner').banner_sound('./Media/2CELLOS - Clocks.mp3');
            });
        })(jQuery);
    </script>
</head>

0x6 最后

设计网页动态横幅的所有代码。

HTML代码

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="utf-8"/>
    <tittle>CSS3 Banner Design -动画Banner设计</tittle>
    <link rel="stylesheet" href="banner.css"/>
    <script src="jquery.js"></script>
    <script src="banner.js"></script>
    <script >
        (function($){
            $(function(){
                $('.banner').banner_sound('./Media/2CELLOS - Clocks.mp3');
            });
        })(jQuery);
    </script>
</head>
<body>
<a class="banner" href="http://www.baidu.com">
<img class="banner-logo" src="../Image/1.jpg" alt="baidu.com" width="167" height="134"/>
    <p class="banner-desc" >
        who am i?<br/>
        where am i?<br/>
        <strong>onejustone</strong>
    </p>
</a>
</body>
</html>

CSS代码

@charset "utf-8";
body{ padding:20px; background:#333333;}


a.banner{
    display:block;
    width:728px;
    height:176px;
    border:1px solid #555;

}

a.banner{
    background:url(Images/e.ico) no-repeat -100px 140px,
    url(Images/child_128px_1176085_easyicon.net.png) no-repeat -40px 220px,
    url(Images/a.ico) no-repeat -20px -380px,
    url(Images/c.ico) no-repeat 0 0;
    transition:background-position .2s ease-in .2s;
}
a.banner .banner-logo{
    position:absolute;
    top:20px;
    left:540px;
}


a.banner{
    position:relative;
    display: block;
}


/*设置Banner文字的位置和颜色*/
a.banner .banner-desc{
    opacity:0;
    position:absolute;
    top:35px;
    left:170px;
    font:30px/0.9 "Nanum Pen Script";
    color:#4ec1cd;
}

a.banner .banner-desc strong{
    font-size:23px;
}

/*当聚焦或者悬浮时显示图片*/
a.banner:hover,a.banner:focus{
    background-position:20px 140px,-40px 20px,-20px -90px,0,0;
}

/*设置文本透明度为0,当聚焦或者鼠标悬浮时显示*/
a.banner:hover .banner-desc,
a.banner:focus{
    opacity:1;

}

/*设置logo图片居中*/
a.banner .banner-logo{
    position:absolute;
    top:20px;
    left: 50%;
}

JS代码:

;(function($){//javascript自运行函数
    $.fn.banner_sound=function(audio_src){//使用jQuery.fn原型编号banner_sound函数
        var banner_audio;
        return this.each(function(){//返回this对象
            $(this)
                .bind('mouseover focusin',function(){
                banner_audio=new Audio(audio_src);//传入音频对象的路径
                banner_audio.play();
            })
                .bind('mouseout focusout',function(){
                banner_audio.pause();
            });

        });
    };
})(jQuery);//在内部使用$代替jQuery
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,725评论 1 92
  • 学习CSS的最佳网站没有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_阅读 1,023评论 0 1
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,727评论 0 2
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,301评论 0 11
  • 为增强小程序能力,扩大小程序使用场景,现小程序新增以下能力: 1、个人开发者可申请小程序 小程序开放个人开发者申请...
    A让熊猫飞会阅读 436评论 0 1