37、IFE任务12——学习CSS 3的新特性

0、题目

  • 实现 示例图(点击查看) 中的几个例子
  • 实现单双行列不同颜色,且前三行特殊表示的表格
  • 实现正常状态和focus状态宽度不一致的input文本输入框,且鼠标焦点进入输入框时,宽度的变化以动画呈现
  • 不使用JavaScript,实现一个Banner图轮流播放的效果,且点击右下角的1,2,3可以切换到对应Banner图片

1、解题过程

index.html

 1 <!DOCTYPE html>
 2 <html>
 3   <head>
 4     <meta charset="utf-8">
 5     <title>Task 12-CSS 3的新特性</title>
 6  </head>
 7 <body>
 8   <table class=‘table‘>
 9     <tr>
10       <th>排名</th>
11       <th>网站</th>
12       <th>热度</th>
13     </tr>
14     <tr>
15       <td>1.</td>
16       <td>百度前端技术学院</td>
17       <td>13000</td>
18     </tr>
19     <tr>
20       <td>2.</td>
21       <td>百度前端技术学院</td>
22       <td>11000</td>
23     </tr>
24     <tr>
25       <td>3.</td>
26       <td>百度前端技术学院</td>
27       <td>10000</td>
28     </tr>
29     <tr>
30       <td>4.</td>
31       <td>百度前端技术学院</td>
32       <td>9000</td>
33     </tr>
34     <tr>
35       <td>5.</td>
36       <td>百度前端技术学院</td>
37       <td>8000</td>
38     </tr>
39     <tr>
40       <td>6.</td>
41       <td>百度前端技术学院</td>
42       <td>7000</td>
43     </tr>
44     <tr>
45       <td>7.</td>
46       <td>百度前端技术学院</td>
47       <td>7000</td>
48     </tr>
49     <tr>
50       <td>8.</td>
51       <td>百度前端技术学院</td>
52       <td>6000</td>
53     </tr>
54     <tr>
55       <td>9.</td>
56       <td>百度前端技术学院</td>
57       <td>5000</td>
58     </tr>
59     <tr>
60       <td>10.</td>
61       <td>百度前端技术学院</td>
62       <td>4000</td>
63     </tr>
64   </table>
65   <input type=‘text‘ class=‘input‘>
66   <div class=‘carousel‘>
67     <div class=‘pics‘>
68       <div class=‘pic‘ id=‘one‘></div>
69       <div class=‘pic‘ id=‘two‘></div>
70       <div class=‘pic‘ id=‘three‘></div>
71     </div>
72   </div>
73   <div>
74     <a href=‘#one‘ class=‘tag1 tag‘>1</a>
75     <a href=‘#two‘ class=‘tag2 tag‘>2</a>
76     <a href=‘#three‘ class=‘tag3 tag‘>3</a>
77   </div>
78 </body>
79 </html>

style.css

 1 /*表格和输入框*/
 2      .table{
 3       border-collapse: collapse;
 4       text-align: left;
 5       margin:30px 0;
 6       width: 350px;
 7      }
 8      th,td{
 9       height:25px;
10       border: 2px solid white;
11      }
12      th{
13       background-color: black;
14       color: white;
15      }
16      tr:nth-child(odd){
17       background-color: #ccc;
18      }
19      tr:nth-child(2),tr:nth-child(3),tr:nth-child(4){
20       color:#FF6666;
21      }
22      .input{
23       margin-left:100px;
24       width:100px;
25       transition:width .5s;
26      }
27      .input:focus{
28         width: 200px;
29      }
30     /*轮播图*/
31     .carousel{
32       position: relative;
33       width:300px;
34       height: 150px;
35       margin-top:20px;
36       overflow: hidden;
37     }
38     .pics{
39       position:absolute;
40       left: 0;
41       width:900px;
42       height:150px;
43       animation: carousel linear 12s infinite;
44     }
45     @keyframes carousel{
46       0%{ left: 0; }
47       28%{ left: 0; }
48       35%{ left: -300px; }
49       63%{ left: -300px; }
50       70%{ left: -600px; }
51       98%{ left: -600px; }
52       100%{ left: 0; }
53     }
54     .pic{
55       position:absolute;
56       display: inline-block;
57       width:300px;
58       height:150px;
59     }
60     #one{
61       background-color:#FFCCCC;
62       left: 0;
63     }
64     #two{
65       background-color:#FF9999;
66       left: 300px;
67     }
68     #three{
69       background-color:#FF6666;
70       left:600px;
71     }
72     .tag{
73       display: inline-block;
74       width:30px;
75       height: 30px;
76       margin:0;
77       position: relative;
78       top:-30px;
79       left: 194px;
80       background-color: rgba(0,0,0,0.5);
81       color:white;
82       line-height: 30px;
83       text-align: center;
84     }
85     .tag1:target{
86       left: 0;
87       animation: .1s 1;
88     }
89     .tag2:target{
90       left:0;
91       animation: .1s 1;
92     }
93     .tag3:target{
94       left:0;
95       animation: .1s 1;
96     }

2、遇到的问题

(1)关于nth-child() 选择器

:nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型。

A、用法一

Odd (奇)和 even(偶) 是用于匹配下标是奇数或偶数的子元素的关键词(第一个子元素的下标是 1)。

   B、用法二

使用公式 (an + b)。描述:表示周期的长度,n 是计数器(从 0 开始),b 是偏移值。

     比如: p:nth-child(3n+0) 指下标是 3 的倍数的所有 p 元素

  C、详情见CSS3 :nth-child() 选择器

  D、扩展::nth-of-type(n) 选择器匹配属于父元素的特定类型的第 N 个子元素.(其余用法和 :nth-child(n) 类似)

(2):target 选择器

    :target 选择器可用于选取当前活动的目标元素。

<p><a href="#news1">跳转至内容 1</a></p>

<p id="news1">内容 1...</p>    // 目标元素 

URL 带有后面跟有锚名称 #,指向文档内某个具体的元素。这个被链接的元素就是目标元素(target element)。

点击p里面的链接,:target 选择器会选择当前活动的目标元素。

(3)关于CSS3的动画属性

时间: 2024-10-07 07:52:26

37、IFE任务12——学习CSS 3的新特性的相关文章

任务十二:学习CSS 3的新特性

面向人群: 初学者 难度: 简单 重要说明 百度前端技术学院的课程任务是由百度前端工程师专为对前端不同掌握程度的同学设计.我们尽力保证课程内容的质量以及学习难度的合理性,但即使如此,真正决定课程效果的,还是你的每一次思考和实践. 课程多数题目的解决方案都不是唯一的,这和我们在实际工作中的情况也是一致的.因此,我们的要求不仅仅是实现设计稿的效果,更是要多去思考不同的解决方案,评估不同方案的优劣,然后使用在该场景下最优雅的方式去实现.那些最终没有被我们采纳的方案,同样也可以帮助我们学到很多知识.所以

C++ 学习笔记(一些新特性总结 1)

C++ 学习笔记(一些新特性总结 1) 虽然我也用了 C++ 有挺多年了,但是一直本着够用就行的原则,没有特别深入的学习过C++ 的语法,所以好多高级的 C++ 特性都不了解.正好最近从网上找到了本书<C++ 14 Quick Syntax Reference>,挺薄的一本书,只有 100多页,但是覆盖了基本所有 C++ 的特性.这个小短文就是我看这本书时摘抄下来的一些我以前没有注意到的知识点. 文中所有代码都在 gcc version 5.3.0 (Rev1, Built by MSYS2

C++ 学习笔记(一些新特性总结3)

C++ 学习笔记(一些新特性总结3) public.protected 和 private 继承 public 继承时,基类的存取限制是不变的. class MyClass { public: // Unrestricted access int myPublic; protected: // Defining or derived class only int myProtected; private: // Defining class only int myPrivate; } class

GoldenGate for bigdata 12.3.2.1版本新特性

在Oracle Tenical Network(OTN)上已经可以下载到最新的ogg4bd版本,地址如下:http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html 新增加的特性如下: 支持以Cassandra为源 从ogg4bd 12.3.2.1开始,GoldenGate可以从NoSQL存储中读取数据,在这个版本中,支持列式存储库Cassandra的增量数据捕获,它可以从头开始捕获,也称为初始捕获.

Groovy学习笔记-Java 5新特性支持

1.枚举enum enum CoffeeSize{ SHORT, SMALL, MEDIUM, LARGE, MUG } def orderCoffee(size){ print "Coffee order received for size $size:" switch(size){ case [CoffeeSize.SHORT, CoffeeSize.SMALL]: println 'Conscious' break; case CoffeeSize.MEDIUM..CoffeeS

JavaWeb学习之Servlet3.0新特性详解

异步处理支持:有了该特性,Servlet 线程不再需要一直阻塞,直到业务处理完毕才能再输出响应,最后才结束该 Servlet 线程.在接收到请求之后,Servlet 线程可以将耗时的操作委派给另一个线程来完成,自己在不生成响应的情况下返回至容器.针对业务处理较耗时的情况,这将大大减少服务器资源的占用,并且提高并发处理速度. 新增的注解支持:该版本新增了若干注解,用于简化 Servlet.过滤器(Filter)和监听器(Listener)的声明,这使得 web.xml 部署描述文件从该版本开始不再

html5学习笔记之入新特性

<header>定义页眉 <footer>定义页脚 <nav>定义导航栏 <section>定义文档中的区段 <article>定义外部的内容,外部内容可以是来自一个外部的新闻提供者的一篇新的文章,或者来自 blog 的文本,或者是来自论坛的文本.亦或是来自其他外部源内容. <aside>定义article以外的内容 <audio>定义声音 <video>定义视频,比如电影片段或其他视频流 <canvas

JAVA学习-Java新特性(泛型、枚举、Annotation)

所谓的Java新特性现在都是指从JDK 1.5之后开始的,例如,在前面已经学习过两个新特性:switch支持String判断(JDK 1.7提供的).自动装箱和拆箱.可变参数.foreach.静态导入.泛型.枚举.Annotation. 对于所有的新特性,我的个人建议:有些新特性你今天一定是不知道怎么用的,我们今天只是来看一下这些语法,至于使用方面,慢慢来观察. 1.可变参数(理解) 如果说现在有这样一个要求,要求实现整数的加法操作,并且方法可以接收任意多个整型数据一起实现加法操作. 如果按照传

Java1.0-1.12各个版本的新特性

JDK Version 1.0 1996-01-23 Oak(橡树) 初代版本,伟大的一个里程碑,但是是纯解释运行,使用外挂JIT,性能比较差,运行速度慢. JDK Version 1.1 1997-02-19 JDBC(Java DataBase Connectivity);支持内部类;RMI(Remote Method Invocation) ;反射;Java Bean; JDK Version 1.2 1998-12-08 Playground(操场) 集合框架;JIT(Just In T