CSS3实战开发:百度新闻热搜词特效实战开发

各位网友,今天这篇文章,我将手把手带领大家开发百度新闻首页的"新闻热搜词"特效。在这个特效中应用的知识点都很基础,如果你对这些还不清楚,可以关注我以前写的详细教程。今天讲这个案例,也是希望告诉大家,在开发一个特效的时候,请不要将问题复杂化。可能有些人一开始真的不知道从哪下手,当你看完本次教程,你定会觉得,原来一切都这么简单。

可能有些人还不知道这个特效,啥也不说了,直接上效果图:

从上面的特效中,大家不难发现,当鼠标划过热搜词时,会有一个半透明的黑色背景滑上来,而且这个黑色区域中也是有热搜词的。

大概知道这些细节后,现在我就分步骤带领大家开发这个特效。

根据上面所说的关键细节,编写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详解》。经过这两个教程的学习,相信你对这些知识点都会了如指掌了。

现在我们运行一下页面:

至此,《百度新闻热搜词特效》就开发完了,大家说是不是很简单呢。

往期精彩实战开发案例一览(已被广为转载,下面只列出部分):

  1. 《CSS3实战开发:手把手教你鼠标滑动特效开发

  2. 《CSS3实战开发:手把手教大家搜索表单发光特效实战开发

  3. CSS3实战开发: 弹性盒模型之响应式WEB界面设计

  4. CSS3线性渐变技术详解及超炫按钮实战开发

  5. CSS3 2D转换之translate技术详解 及 网页导航实战开发

  6. CSS3实战开发:手把手教你照片墙实战开发

  7. CSS3实战开发: 手把手教大家实战开发鼠标划过图片动画特效

  8. CSS3实战开发:仿天猫首页图片展示动画特效实战开发

  9. CSS3实战开发:手把手教大家折角效果实战开发

欢迎大家加入互联网技术交流群:62329335 

个人申明:所分享博文,绝对原创,并力争每一个知识点都通过实战演示来进行验证。

CSS3实战开发:百度新闻热搜词特效实战开发,布布扣,bubuko.com

时间: 2024-10-08 17:13:10

CSS3实战开发:百度新闻热搜词特效实战开发的相关文章

统计站内热搜词 实现百度搜索的时候的提示功能

方案一: 建立一张热搜词的数据表  每次用户插入就直接更新该表即可 ID KeyWords Count 缺点:每次搜索后都要Update这张表,高并发的情况就不太好使 方案二: 建立一张热搜词的数据表  每次用户搜索一次,就直接将该用户搜索的词插入数据库(最好使用NoSql而非关系型数据库),毕竟插入数据库的速度要比更新来得快,但是查询起来速度又会减慢 ID KeyWords SearchTime 方案三: 结合方案一与方案二: 定时任务: 每个一段时间将方案二的数据库表里的数据归纳到方案一的数

爬去百度热搜榜

1.打开网站http://top.baidu.com/buzz?b=1&fr=topindex 2.右键找到源代码 3.用工具爬取数据 import requestsfrom bs4 import BeautifulSoupimport pandas as pdtitles=[]hots=[]url='http://top.baidu.com/buzz?b=1&fr=topindex'#百度今日热搜headers = {'User-Agent':'Mozilla/5.0 (Windows

Lucene 6.0 提取新闻热词Top-N

一.需求 给出一篇新闻文档,统计出现频率最高的有哪些词语. 二.思路 关于文本关键词提取的算法有很多,开源工具也不止一种.这里只介绍如何从Lucene索引中提取词项频率的TopN.索引过程的本质是一个词条化的生存倒排索引的过程,词条化会从文本中去除标点符号.停用词等,最后生成词项.在代码中实现的思路是使用IndexReader的getTermVector获取文档的某一个字段的Terms,从terms中获取tf(term frequency).拿到词项的tf以后放到map中降序排序,取出Top-N

第95课:通过Spark Streaming的window操作实战模拟新浪微博、百度、京东等热点搜索词案例实战

背景描述:在社交网络(例如微博).电子商务(例如京东).搜索引擎(例如百度)等人们核心关注的内容之一就是我所关注的内容中大家正在最关注什么或者说当前的热点是什么,这在实际企业级应用中是非常有价值的.例如我们关系过去30分钟大家正在热搜索什么,并且每5分钟更新一次,这就使得热点内容是动态更新,当然也是更有价值. 我们知道在SparkStreaming中可以设置batchInterval,让SparkStreaming每隔batchInterval时间提交一次Job,假设batchInterval设

CSS3实战开发:手把手教你鼠标滑动特效开发

各位网友,如果你已经看过我的CSS3实战开发系列教程,我相信你对CSS3已经有了非常全面深刻的了解.有些人可能CSS3语法掌握了不少,但是真正实际用起来还有点生疏,甚至无从下手.请别担心,我会不断更新一系列实战开发案例,我会为大家分步骤剖析特效开发过程. 今天我将手把手带领大家开发一个鼠标滑动的特效案例,废话不多说,直接上效果动画: 你有没有觉得上面的这个特效很棒呢! 好,现在咱们就开始分步骤实战开发这个动画特效吧: 首先,我们先准备好html页面代码: <!DOCTYPE html> <

CSS3实战开发:手把手教大家搜索表单发光特效实战开发

各位网友,大家好,我是陌上花会开,今天这个案例,我将带领大家,手把手教大家开发一个会发光的表单组,还是先秀运行效果图吧: 从这个效果图,大家可以发现,当光标在某个组件上时,它就会发光,今天我将带领大家实战开发这个特效. PS: 大家可以直接将博客中的代码复制到本地便可得到同样的运行效果. 首先,我们先准备好html代码: <!doctype html> <html> <head> <meta charset="utf-8"><met

CSS3实战开发:仿天猫首页图片展示动画特效实战开发

各位网友大家好,我是陌上花会开,人称陌陌.今天我带领大家开发一个仿天猫首页图片展示动画特效的案例.一如往常,我既不提供源码给大家,也不提供Demo给大家,只是希望大家能跟着我的讲解,然后将代码一步步复制到本地,本人可以保证,页面上的代码复制到本地,绝对百分百运行,且得到与陌陌一样的运行效果.我这么做只为激起大伙的动手能力,望大家能明白我的用心. 好了,不废话了,直接本篇的实战开发吧. 我们看一下我们今天要做的实战案例效果图: 1. 鼠标划过前: 2. 鼠标划过右侧的图片时: 可能大伙看这个静态截

CSS3实战开发: 手把手教大家实战开发鼠标划过图片动画特效

各位网友大家好,我是陌上花会开,当然大家也可以叫我陌陌.今天这篇文章,我将手把手带领大家实战开发一个鼠标划过图片时的动画特效.在这里我不会给大家提供案例的源码下载,但是本人可以保证,只要大家跟着我的思路,一步步将代码复制到本地,一定会得到同样的运行效果.希望大家明白我的用心.好了不废话,直接进入今天的主题吧. 在今天这个案例里,我准备3个素材,一张背景图,两张风景图片.这个大家可以到网上自行下载. 在写代码之前,我先给大家展示一下,动画特效的效果图. 鼠标花过前: 当鼠标划过图片时,图片将逐渐变

CSS3实战开发:手把手教大家折角效果实战开发

各位网友,大家好,我是陌上花会开,今天这篇文章,我将手把手教大家如何开发一套纯CSS的折角效果.一如往常,我不提供代码下载,但是我可以保证,只要将教程中的代码复制到本地,绝对百分百获得与我演示的效果一样,希望各位明白我的用意. 好了,直接开始今天的教程吧.首先,我先给大家演示一下今天实战案例的效果: 有人会说这是什么?这就是我们今天的实战开发,我将带领大家开发上图中的右上角折叠效果. 在我讲解完之前,有些人可能觉得很难,不可思议.我想跟你们说:真的so easy.下面就请跟着我的分解步骤一步步学