各位网友,今天这篇文章,我将手把手带领大家开发百度新闻首页的"新闻热搜词"特效。在这个特效中应用的知识点都很基础,如果你对这些还不清楚,可以关注我以前写的详细教程。今天讲这个案例,也是希望告诉大家,在开发一个特效的时候,请不要将问题复杂化。可能有些人一开始真的不知道从哪下手,当你看完本次教程,你定会觉得,原来一切都这么简单。
可能有些人还不知道这个特效,啥也不说了,直接上效果图:
从上面的特效中,大家不难发现,当鼠标划过热搜词时,会有一个半透明的黑色背景滑上来,而且这个黑色区域中也是有热搜词的。
大概知道这些细节后,现在我就分步骤带领大家开发这个特效。
根据上面所说的关键细节,编写html代码如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link rel="stylesheet" href="styles.css"> <title>CSS3实战开发:百度热搜词动画特效实战开发</title> </head> <body> <div class="container"> <div id="news_hotwords"> <div class="keywords_title"> <a href="http://www.itdriver.cn">新闻热搜词</a><span>HOT WORDS</span> </div> <div class="hotwords"> <ul> <li class="li_0 li_color_0"> <a class="hotwords_li_a" href="http://www.itdriver.cn" title="css3教程,html5教程,互联网实战教程">一起为改革发力</a> <a class="detail" href="http://www.itdriver.cn" title="css3教程,html5教程,互联网实战教程">一起为改革发力</a> </li> <li class="li_1 li_color_1"> <a class="hotwords_li_a" href="http://www.itdriver.cn">习 近 平会见外国友人</a> <a class="detail" href="http://www.itdriver.cn">习 近 平会见外国友人</a> </li> <li class="li_2 li_color_0"> <a class="hotwords_li_a" href="http://www.itdriver.cn">李 克 强重视知识产权</a> <a class="detail" href="http://www.itdriver.cn">李 克 强重视知识产权</a> </li> <li class="li_3 li_color_1"> <a class="hotwords_li_a" href="http://www.itdriver.cn">36斤纯黄金鸳鸯枕</a> <a class="detail" href="http://www.itdriver.cn">36斤纯黄金鸳鸯枕</a> </li> <li class="li_4 li_color_0"> <a class="hotwords_li_a" href="http://www.itdriver.cn">EXO机场辱工作人员</a> <a class="detail" href="http://www.itdriver.cn">EXO机场辱工作人员</a> </li> <li class="li_5 li_color_1"> <a class="hotwords_li_a" href="http://www.itdriver.cn">学费迎来"涨价潮"</a> <a class="detail" href="http://www.itdriver.cn">学费迎来"涨价潮"</a> </li> <li class="li_6 li_color_0"> <a class="hotwords_li_a" href="http://www.itdriver.cn">女举小将蒋惠花夺魁</a> <a class="detail" href="http://www.itdriver.cn">女举小将蒋惠花夺魁</a> </li> <li class="li_7 li_color_1"> <a class="hotwords_li_a" href="http://www.itdriver.cn">童名谦获刑五年</a> <a class="detail" href="http://www.itdriver.cn">童名谦获刑五年</a> </li> <li class="li_8 li_color_0"> <a class="hotwords_li_a" href="http://www.itdriver.cn">青奥会</a> <a class="detail" href="http://www.itdriver.cn">青奥会</a> </li> <li class="li_9 li_color_1"> <a class="hotwords_li_a" href="http://www.itdriver.cn">白卷英雄成4亿富豪</a> <a class="detail" href="http://www.itdriver.cn">白卷英雄成4亿富豪</a> </li> <li class="li_10 li_color_0"> <a class="hotwords_li_a" href="http://www.itdriver.cn">被俘虏女子拒做性奴</a> <a class="detail" href="http://www.itdriver.cn">被俘虏女子拒做性奴</a> </li> <li class="li_11 li_color_1"> <a class="hotwords_li_a" href="http://www.itdriver.cn">女子把狗毛当零食</a> <a class="detail" href="http://www.itdriver.cn">女子把狗毛当零食</a> </li> </ul> </div> </div> </div> </body> </html>
大家从html源码中会发现,每个热搜词都出现两次,这是因为一个用作正常显示的,另一是用作当鼠标划过时,滑动上来的黑色区域。这里我暂且分别将它们样式定义为.hotwords_li_a和detail,同时我们的关键词用无序列表(ul)来显示。
页面代码编写完后,我们先运行一下,查看一下现在的效果:
页面元素都准备好之后,接着我们给页面添加样式,首先要做的是先清除掉无序列表(ul)的默认样式,同时设置外容器布局以方便演示。样式代码如下:
*{ /*设置所有元素默认内外边距,同时设置默认字体大小*/ margin:0; padding:0; font-size:14px; } .container{ /*设置外层容器布局,这里主要是为了方便演示*/ margin:200px 200px auto; } /*清除ul默认显示样式*/ ul { list-style-type:none; } a { /*去除超链接下划线*/ text-decoration:none; }
运行页面,查看此时的页面效果:
外容器的基本布局以及所有元素的默认样式设置完成之后,现在我们就可以来实现新闻热搜词的区域样式了:
.hotwords li{ float:left; /*使热搜词都向左浮动*/ position:relative; /*由于li里面有元素要执行动画效果,所以将li的position设置为相对定位*/ width:68px; /*设置热搜词的基本宽高度*/ height:68px; margin:0 2px 2px 0; overflow:hidden; /*设置当热搜词显示的内容超过区域大小时,隐藏超出的部分*/ text-align:center; /*内部文字居中显示*/ } .hotwords li.li_0, .hotwords li.li_3, .hotwords li.li_8, .hotwords li.li_11 { /*大家访问百度新闻首页,定会发现,它的1,4,9和12这几个快的宽度是其他的两倍,所以这里单独设置*/ width:138px; } .hotwords li a{ /*将所有a元素都设置为块元素block,这样就可以调整它的高度*/ display:block; text-decoration:none; padding:2px; height:64px; color:white; } .hotwords li.li_0 a, .hotwords li.li_3 a, .hotwords li.li_8 a, .hotwords li.li_11 a { /*对于1,4,9和12这几个元素它的文字是垂直方向上居中显示的*/ width:135px; line-height:64px; } .hotwords li.li_color_0{ background:#0DA4D6; } .hotwords li.li_color_1{ background:#35C4EF; }
上面这段样式代码主要是设置热搜词区域li的样式,如果对代码不是太了解,可以参考我的样式注释。
此时效果如下:
大家可以发现,我在最开始时演示的样式,新闻热搜词这个title信息为淡蓝色的,同时热搜词区域是显示两行的,现在我们来添加以下设置显示热搜词区域的样式:
.hotwords{ /*设置新闻热搜词区域的大小*/ width:568px; } .keywords_title{ /*设置热搜词区域字体样式以及它距离底部外边距的距离*/ font-size:1.5em; margin-bottom:10px; } .keywords_title,.keywords_title a{ /*设置热搜词title以及热搜词link的默认颜色*/ color:#3399CC; }
此时的页面样式如下:
当我们鼠标划过这些热搜词时,没有任何变化。好,接着我们给页面中的类型为detail的元素应用样式:
.hotwords .detail{ position:absolute;/*设置detail为绝对定位,由于li设置了relative,所以detail是相对于li元素的绝对定位*/ background:rgba(0,0,0,0.8); /*设置detail区域的背景色*/ left:0; /*设置detail相对li的偏移距离*/ top:68px; -webkit-transition:top 0.2s; /*当detail类型的元素top属性发生变化时,执行过度动画,过度时间为0.2s*/ -moz-transition:top 0.2s; -o-transition:top 0.2s; transition:top 0.2s; } .hotwords li:hover .detail{ /*当鼠标划过li时,设置detail类型元素的样式*/ top:0px; }
在上面这段代码中,我们主要使用了两个关键属性,position:absolute和transition,如果大家对这两个不是太了解的,可以参考我以前写的教程《CSS3实战开发:手把手教你照片墙实战开发》和《CSS3基本属性之Transition详解》。经过这两个教程的学习,相信你对这些知识点都会了如指掌了。
现在我们运行一下页面:
至此,《百度新闻热搜词特效》就开发完了,大家说是不是很简单呢。
往期精彩实战开发案例一览(已被广为转载,下面只列出部分):
2. 《CSS3实战开发:手把手教大家搜索表单发光特效实战开发》
3. 《CSS3实战开发: 弹性盒模型之响应式WEB界面设计》
5. 《CSS3 2D转换之translate技术详解 及 网页导航实战开发》
7. 《CSS3实战开发: 手把手教大家实战开发鼠标划过图片动画特效》
8. 《CSS3实战开发:仿天猫首页图片展示动画特效实战开发》
欢迎大家加入互联网技术交流群:62329335
相关推荐
为了满足现有的对于 Web UI 的开发需求,它提供了一系列强大的功能,如许多新的 CSS 属性(文字,布局,颜色等等),各种 CSS 特效,甚至还支持 CSS 动画、元素的变换。这些 CSS 新特性在现阶段可以说都是非常强大和...
为了满足现有的对于 Web UI 的开发需求,它提供了一系列强大的功能,如许多新的 CSS 属性(文字,布局,颜色等等),各种 CSS 特效,甚至还支持 CSS 动画、元素的变换。这些 CSS 新特性在现阶段可以说都是非常强大和...
6. 前端框架与库:在现代网页开发中,很多开发者会使用前端框架(如Bootstrap、Foundation)或CSS库(如Animate.css、 Normalize.css)来快速构建特效。这些框架和库提供了预设的样式和组件,大大提高了开发效率。 ...
《CSS3前端开发人员使用手册》是一本专为CSS3技术在Web开发中应用而编写的详尽指南。这本书旨在帮助前端开发人员深入理解和熟练掌握CSS3的各种特性,以提升网页设计与开发的效率和质量。以下是根据标题、描述以及...
**CSS3齿轮加载动画特效详解** 在Web开发中,用户界面的交互性和视觉吸引力是提升用户体验的关键因素之一。"CSS3齿轮loading动画特效"正是这样一种技术,它利用了CSS3的强大功能,为网页添加了一个生动且具有科技感...
**CSS 3实战详解** CSS(层叠样式表)3是Web开发中不可或缺的一部分,它极大地扩展了网页设计的可能性,提供了丰富的样式控制和布局技术。本篇将深入探讨CSS 3中的关键概念、新特性以及实战应用,帮助你提升网页...
HTML5和CSS3是现代网页开发的基石,它们极大地提升了网页的设计能力与功能特性。HTML5作为最新的超文本标记语言标准,引入了诸多新的元素、属性和API,旨在提高网页的语义化、可访问性和交互性。CSS3则是样式表语言...
而阴影、渐变、旋转等CSS3特效则让元素的外观更加丰富多彩。 这个压缩包中的“HTML5+CSS3移动Web开发实战案例”很可能是书中的实际项目示例,包括源代码、素材和最终效果展示。这些案例可能涵盖了移动Web界面设计、...
本资料包“CSS特效+实例 供大家学习”提供了一系列CSS特效和实战案例,旨在帮助学习者深入理解和应用CSS,提高网页设计技能。 首先,我们来看看CSS特效。CSS特效是指通过CSS代码实现的各种视觉效果,这些效果可以...
本项目实战聚焦于“招聘网站特效制作”,旨在提升学员对网页设计和前端开发技术的实际运用能力。通过这个实战项目,学习者将深入理解网页特效的实现原理,以及如何将这些特效应用到实际的招聘网站中,提升用户体验。...
在这个HTML5 CSS3移动Web开发实战课程中,主要涵盖以下几个方面的知识和技能: 1. **跨平台的网站首页设计**:学习如何使用HTML5的新特性如离线存储、多媒体元素、响应式布局等,来创建适应不同设备和屏幕尺寸的...
总的来说,“百度2012特效js代码”是JavaScript技术在网页特效中的应用实例,涵盖了DOM操作、动画制作、用户交互等多个方面,对于学习和理解JavaScript的实战运用具有很高的参考价值。通过分析和研究这段代码,...
在本案例中,"JS+CSS3创意时间轮盘时钟特效.rar"是一个融合了这两者的技术实现,为用户提供了一种创新的时间显示方式,即全屏的轮盘时钟。下面我们将详细探讨这一特效背后的原理和实现方法。 1. **JavaScript(JS)...
3. CSS框架:预设样式和组件,简化开发过程,如Bootstrap或Foundation。 4. 图标库:提供可复用的矢量图标,如Font Awesome或Ionicons,通过CSS控制大小和颜色。 5. 实战项目:完整的网页模板,演示如何综合运用CSS...
【jQuery和CSS3超酷3D堆叠式幻灯片特效源码】 在这个项目中,开发者结合了jQuery库和CSS3技术,创造了一个引人注目的3D堆...同时,这也是一次对CSS3 3D转换和jQuery事件处理的实战训练,对于提升Web开发技能非常有益。
【标题】"纯css3制作搜索框伸缩动画特效源码.zip"的资源是一个使用纯CSS3技术实现的搜索框动态效果的代码示例。在前端开发中,CSS3是...同时,这也是对CSS3新特性和前端动画原理的实战演练,有助于提升前端开发技能。
4. CSS3边框和背景:学习圆角边框、渐变背景、阴影和边框图片等特效。 5. 选择器层叠和优先级:理解CSS规则的权重计算,学习如何有效地组织和调试CSS代码。 通过本教程的PPT课件,你将能够跟随案例逐步实践,理论与...
【CSS3经典游戏机像素动画特效】是一种利用现代网页技术实现的视觉效果,它通过CSS3的特性将网页元素转化为类似复古游戏机的像素风格,并加入动态效果,为用户带来独特的交互体验。这个压缩包中包含的代码示例,不仅...
在本资源中,"CSS3实现的触发式3D折叠菜单导航特效源码.zip" 提供了一种利用CSS3技术创建交互式3D折叠菜单的方法。这种特效在现代网页设计中非常流行,因为它能够为用户界面增添动态和深度感,同时保持了良好的可用...