css3特效动画和CSS3选择器的集合使用

//HTML

<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>一个简单的小效果</title>

<meta http-equiv="x-ua-compatible" content="IE-edge,chrome=1">

<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/index.css">
</head>
<body>
<div class="container">

<input type="radio" id="control-1" name="choose" checked="checked" />
<a href="#panel-1">ワンピース</a>
<input type="radio" id="control-2" name="choose" />
<a href="#panel-2">ワンピース</a>
<input type="radio" id="control-3" name="choose" />
<a href="#panel-3">ワンピース</a>
<input type="radio" id="control-4" name="choose" />
<a href="#panel-4">ワンピース</a>

<div class="scroll">
<section class="panel" id="panel-1">
<div class="arrow" data-icon="󰂄"></div>
<h2>ONE PIECE</h2>
<p>ルーフィ:俺は、海贼王になる男だ!</p>
</section>
<section class="panel p-color" id="panel-2">
<div class="arrow" data-icon="󰀦"></div>
<div class="role role-up">
<img src="img/c_01.png"/>
<img src="img/c_02.png"/>
<img src="img/c_03.png"/>
<img src="img/c_04.png"/>
</div>
<div class="role role-down">
<img src="img/c_05.png"/>
<img src="img/c_06.png"/>
<img src="img/c_07.png"/>
<img src="img/c_08.png"/>
<img src="img/c_09.png"/>
</div>
</section>
<section class="panel" id="panel-3">
<div class="arrow" data-icon="󰂄"></div>
<h2>ONE PIECE</h2>
<p>ルーフィ:俺は、海贼王になる男だ!</p>
</section>
<section class="panel p-color" id="panel-4">
<div class="arrow" data-icon="󰀦"></div>
<div class="caption caption-up">
<img src="img/c_10.jpg"/>
<img src="img/c_11.jpg"/>
<img src="img/c_12.jpg"/>
<img src="img/c_13.jpg"/>
</div>
<div class="caption caption-down">
<img src="img/c_14.jpg"/>
<img src="img/c_15.jpg"/>
<img src="img/c_16.jpg"/>
<img src="img/c_17.jpg"/>
<img src="img/c_18.jpg"/>
</div></section>
</div>
</div>
</body>
</html>


6299FDC1170F8FFF6DE5DFE5FF5D47A2.png

//CSS
@charset "utf-8";
@font-face {
font-family: 'iconfont';
src: url('../iconfont/iconfont.eot'); /* IE9/
src: url('../iconfont/iconfont.eot?#iefix') format('embedded-opentype'), /
IE6-IE8 /
url('../iconfont/iconfont.woff') format('woff'), /
chrome、firefox /
url('../iconfont/iconfont.ttf') format('truetype'), /
chrome、firefox、opera、Safari, Android, iOS 4.2+/
url('../iconfont/iconfont.svg#iconfont') format('svg'); /
iOS 4.1- /
}
.iconfont{
font-family:"iconfont" !important;
font-size:16px;
font-style:normal;
-webkit-font-smoothing: antialiased;
-webkit-text-stroke-width: 0.2px;
-moz-osx-font-smoothing: grayscale;
}
html,body,input,a,div,section,h2,p{/
初始化/
ppadding: 0;
margin: 0;
}
a{
text-decoration: none; /
去点a的下划线/
}
body{
font-family:arial ;
color: #333;
overflow: hidden;/
超出的3个暂时隐藏/
}
.container{
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
/
4个变化点的开始/
.container input,.container a{
width: 25%;
height: 40px;
position: fixed;
bottom: 0;
left: 0;
color: #fff;
}
.container a{
background-color: deepskyblue;
text-align: center;
line-height: 40px;
font-family: "微软雅黑";
z-index: 1;
}
.container input{
z-index: 10;/
使input在最上层/
opacity: 0; /
但是不显示出来/
cursor: pointer;
}
/
使4个按钮平铺开*/

control-2,#control-2+a{/加号表示紧挨这的A/

left: 25%;

}

control-3,#control-3+a{

left: 50%;

}

control-4,#control-4+a{

left: 75%;

}
.container>input:checked+a,.container>input:checked:hover+a{/被选中的input的a悬停时还是橙色/
background-color: orange;
}
.container>input:checked+a:after{/用伪类在选择卡上加一个小三角/
content: "";
width: 0;
height: 0;
border: 20px solid transparent;
border-bottom-color: orange;
position: absolute;
bottom: 100%;
left: 50%;
margin-left: -20px;
}
.container>input:hover+a{/鼠标悬停没有被选中的选项卡是颜色变化/
background-color:dodgerblue;
}
/4个变化点结束/
/主要内容样式的设置开始/
.scroll,.panel{
width: 100%;
height: 100%;
position: relative;
}
.panel{
overflow: hidden;
background-color: white;
}
.scroll{
/3D开启手机硬件加速/
-webkit-transform: translate3d(0,0,0);
-moz-transform: translate3d(0,0,0);
-ms-transform: traslate3d(0,0,0);
-o-transform:traslate3d(0,0,0);
transform: traslate3d(0,0,0);
/平滑过渡/
-webkit-transition:all 0.6s ease-in-out ;
-moz-transition:all 0.6s ease-in-out ;
-ms-transition:all 0.6s ease-in-out ;
-o-transition:all 0.6s ease-in-out ;
transition:all 0.6s ease-in-out ;

}
/利用CSS3实现页面的位置的变化,写兼容/

control-1:checked~ .scroll{/利用css3选择器,当第一个选项卡被选中时,执行页面变化/

-webkit-transform: translateY(0%);
-moz-transform: translateY(0%);
-ms-transform: translateY(0%);
-o-transform:translateY(0%);
transform: translateY(0%);

}

control-2:checked~ .scroll{

-webkit-transform: translateY(-100%);
-moz-transform: translateY(-100%);
-ms-transform: translateY(-100%);
-o-transform:translateY(-100%);
transform: translateY(-100%);

}

control-3:checked~ .scroll{

-webkit-transform: translateY(-200%);
-moz-transform: translateY(-200%);
-ms-transform: translateY(-200%);
-o-transform:translateY(-200%);
transform: translateY(-200%);

}

control-4:checked~ .scroll{

-webkit-transform: translateY(-300%);
-moz-transform: translateY(-300%);
-ms-transform: translateY(-300%);
-o-transform:translateY(-300%);
transform: translateY(-300%);

}
.panel .arrow{/顶部的三角形/
width: 200px;
height: 200px;
position: absolute;
top: 0;
left: 50%;
margin-left: -200px;
background-color: deepskyblue;
-webkit-transform: rotate(45deg) translateY(-75%);
-moz-transform: rotate(45deg) translateY(-75%);
-ms-transform: rotate(45deg) translateY(-75%);
-o-transform:rotate(45deg) translateY(-75%);
transform: rotate(45deg) translateY(-75%);
}
[data-icon]:after{/顶通过伪类制作顶部的小帽子/
content: attr(data-icon);
width: 200px;
height: 200px;
color: #fff;
font-size: 90px;
text-align: center;
line-height: 200px;
position: absolute;
left: 50%;
margin-left: -100px;
top: 0;
font-family: "iconfont";
-webkit-transform: rotate(-45deg) translateY(25%);
-moz-transform: rotate(-45deg) translateY(25%);
-ms-transform: rotate(-45deg) translateY(25%);
-o-transform:rotate(-45deg) translateY(25%);
transform: rotate(-45deg) translateY(25%);
}
.scroll h2{
color: skyblue;
font-size: 54px;
line-height: 50px;
text-align: center;
position: absolute;
width: 100%;
top: 35%;
font-weight: 900;
}
.scroll p{
color: #C0C0C0;
font-size: 18px;
line-height: 20px;
text-align: center;
position: absolute;
width: 100%;
top: 50%;
font-family: "微软雅黑";
}
.scroll .role,.scroll .caption{
width: 100%;
text-align: center;
position: absolute;
top: 30%;
}
.scroll .role img,.scroll .caption img{/小图片的设置/
width: 100px;
border: 3px solid #fff;
border-radius: 50%;
margin: 5px 5px;
cursor: pointer;
-webkit-transition: all 0.6s ease-in-out;
-ms-transition: all 0.6s ease-in-out;
-o-transition: all 0.6s ease-in-out;
-moz-transition: all 0.6s ease-in-out;
transition: all 0.6s ease-in-out;
}
.scroll .role img:hover{
border-radius: 10px;
}
.scroll .caption img:hover{
border-radius: 50%;
}
.scroll .caption img{
border-radius:10px;

}
.scroll .role-down,.scroll .caption-down{
top: 52%;
}
.p-color{
background-color: skyblue;
}
.p-color .arrow{
background: #fff;
}
.p-color [data-icon]:after{
color: skyblue;
}

control-1:checked~ .scroll #panel-1 h2,

control-2:checked~ .scroll #panel-2 .role-up,

control-3:checked~ .scroll #panel-3 h2,

control-4:checked~ .scroll #panel-4 .caption-up{/中间的第一层向下滑动的效果/

-webkit-animation: moveDown 0.6s ease-in-out 0.2s backwards;
-ms-animation: moveDown 0.6s ease-in-out 0.2s backwards;
-moz-animation: moveDown 0.6s ease-in-out 0.2s backwards;
-o-animation: moveDown 0.6s ease-in-out 0.2s backwards;
animation: moveDown 0.6s ease-in-out 0.2s backwards;

}
@-webkit-keyframes moveDown{
0%{
-webkit-transform: translateY(-40px);
opacity: 0;
}
100%{
-webkit-transform: translateY(0px);
opacity: 1;
}
}
@-moz-keyframes moveDown{
0%{
-webkit-transform: translateY(-40px);
opacity: 0;
}
100%{
-webkit-transform: translateY(0px);
opacity: 1;
}
}
@-o-keyframes moveDown{
0%{
-webkit-transform: translateY(-40px);
opacity: 0;
}
100%{
-webkit-transform: translateY(0px);
opacity: 1;
}
}
@-ms-keyframes moveDown{
0%{
-webkit-transform: translateY(-40px);
opacity: 0;
}
100%{
-webkit-transform: translateY(0px);
opacity: 1;
}
}
@keyframes moveDown{
0%{
-webkit-transform: translateY(-40px);
opacity: 0;
}
100%{
-webkit-transform: translateY(0px);
opacity: 1;
}
}

control-1:checked~ .scroll #panel-1 p,

control-2:checked~ .scroll #panel-2 .role-down,

control-3:checked~ .scroll #panel-3 p,

control-4:checked~ .scroll #panel-4 .caption-down{/中间第二层向上滑动的效果/

-webkit-animation: moveDown 0.6s ease-in-out 0.2s backwards;
-ms-animation: moveDown 0.6s ease-in-out 0.2s backwards;
-moz-animation: moveDown 0.6s ease-in-out 0.2s backwards;
-o-animation: moveDown 0.6s ease-in-out 0.2s backwards;
animation: moveDown 0.6s ease-in-out 0.2s backwards;

}
@-webkit-keyframes moveDown{
0%{
-webkit-transform: translateY(40px);
opacity: 0;
}
100%{
-webkit-transform: translateY(0px);
opacity: 1;
}
}
@-moz-keyframes moveDown{
0%{
-webkit-transform: translateY(40px);
opacity: 0;
}
100%{
-webkit-transform: translateY(0px);
opacity: 1;
}
}
@-o-keyframes moveDown{
0%{
-webkit-transform: translateY(40px);
opacity: 0;
}
100%{
-webkit-transform: translateY(0px);
opacity: 1;
}
}
@-ms-keyframes moveDown{
0%{
-webkit-transform: translateY(40px);
opacity: 0;
}
100%{
-webkit-transform: translateY(0px);
opacity: 1;
}
}
@keyframes moveDown{
0%{
-webkit-transform: translateY(40px);
opacity: 0;
}
100%{
-webkit-transform: translateY(0px);
opacity: 1;
}
}
/主要内容样式设置结束/

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

推荐阅读更多精彩内容