重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
CSS3除了为开发者提供二维变形之外,还将动画从二维平面推动到了三维立体状态,能够实现真正的三维特效。
雁山网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
三维变形和二维变形一样,均使用的是transform属性。想要触发三维变形有两种方式:一种方式是通过语法告知浏览器“请采用三维方式进行变形处理”,另一种方式是直接使用CSS3三维变形的语法。
触发方法1:告知浏览器变形方式
-webkit-transform-style:preserve-3d;
Tips:IE不支持三维变形,在移动端,绝大多数的浏览器均为WebKit内核,因此,在此句代码之前需要书写-webkit-的前缀内核。
Tips:不要为body元素设置-webkit- transform-style: preserve 3d,否则会对position:fixed定位的元素造成布局影响。在开发当中,如果当前元素属于body的子级元素,又希望应用三维变形,则在body和当前元素之间多嵌套一层结构,并为这层元素应用三维变形即可。
触发方法2:直接使用CSS3变形语法
!DOCTYPE html
head
meta charset="UTF-8"
title言成科技/title
style
.box1 {
width: 150px;
height: 150px;
border: 2px solid blue;
}
.box1 div {
height: 150px;
background: rgba(0, 0, 0, 0.5);
-webkit-transform: translate3d(30px, 60px, 20px) rotateX(30deg);
transform: translate3d(30px, 60px, 20px) rotateX(30deg);
}
/style
/head
body
div class="box1"
div/div
/div
/body
/html
具体三维变形的具体属性详见《CSS3-3D相关知识详解—视角以及变形方向》
3D效果制作
需求
制作一个立方体,并进行旋转
代码实例
!DOCTYPE HTML
html
head
meta charset="utf-8" /
title言成科技/title
link rel="stylesheet" type="text/css" href="" /
style
.main-bac { -webkit-perspective:1500; } /*设定透视距离*/
.main{
width:200px;
height:200px;
margin: 0 auto;
position:relative;
-webkit-transform-style:preserve-3d;
-webkit-transition:-webkit-transform 2s ease 0s;/*过渡时间*/
}
/*基本样式*/
.main p{
position: absolute;
margin: 0;
padding: 0;
width: 200px;
height: 200px;
text-align: center;
line-height: 200px;
font-size: 26px;
opacity:0.5;
}
/*将第一个元素Z轴向前移动100px,形成第一个面(正面)*/
.main p:nth-of-type(1) {
background-color:red;
-webkit-transform:translateZ(100px);
}
/*将第一个元素Z轴向前移动100px,绕x轴旋转90度形成上面的面*/
.main p:nth-of-type(2) {
background-color:orange;
-webkit-transform:rotateX(90deg) translateZ(100px);
}
/*将第一个元素Z轴向前移动100px,绕x轴旋转-90度形成下边的面*/
.main p:nth-of-type(3) {
background-color:yellow;
-webkit-transform:rotateX(-90deg) translateZ(100px);
}
/*将第一个元素Z轴向前移动100px,绕y轴旋转90度形成右侧的面*/
.main p:nth-of-type(4) {
background-color:green;
-webkit-transform:rotateY(90deg) translateZ(100px);
}
/*将第一个元素Z轴向前移动100px,绕y轴旋转-90度形成左侧的面*/
.main p:nth-of-type(5) {
background-color:#b435bf;
-webkit-transform:rotateY(-90deg) translateZ(100px);
}
/*将第一个元素Z轴向前移动100px,绕y轴旋转180度形成后面(背面)*/
.main p:nth-of-type(6) {
background-color:blue;
-webkit-transform:rotateY(180deg) translateZ(100px);
}
/*鼠标移入时绕Y轴旋转180度,绕Z轴旋转180度*/
.main:hover {-webkit-transform:rotateY(180deg) rotateZ(180deg); }
/style
/head
body
div class="main-bac"
div class="main"
p言成科技/p
p3D立方体/p
pHTML5学堂/p
p3D立方体/p
p码匠/p
pJavaScript/p
/div
/div
/body
/html
代码解析
当鼠标移入的时候,立方体逐渐的发生旋转(非突变),围绕X轴旋转45度的同时,围绕Y轴旋转45度。
当鼠标移出立方体时,立方体恢复到初始状态。在最开始状态时,并没有采用无限远的视角,设置一定的视角,让刚开始时直视立方体时,不会觉得是一个平面。
3D效果制作-目标效果图
以上资料来源:《HTML5布局之路》
可以设置cookie(可以加载一个cookie.min.js,使用起来非常方便)。就是当第一次进入页面的时候,先去读取该cookie,如果存在,说明之前已经做了更改,把cookie值稍作处理就可以完成初始化了(记得当初始化完成后删除该cookie),如果cookie不存在说明还没有做过更改。
html5使超链接特效消失的办法如下
1.新建一个html文件,命名为test.html,用于讲解html5超链接下划线怎么去掉。
2.在test.html文件内,使用a标签创建一个链接,下面将使用css去掉该超链接的下划线。
3.在test.html文件内,给a标签添加一个class属性,属性值为ttlink。
4.在test.html文件内,编写标签,页面的css样式将写在该标签内。
在css标签内,通过class该超链接的样式,将text-decoration属性设置为none,实现去掉链接的下划线。
HTML5(WEB前端)的技术组成
HTML5(WEB前端)技术由HTML(结构)、CSS(样式)、JavaScript(行为)组成。
如何理解结构、样式与行为
简单来说,HTML5(WEB前端)是“将设计图转换为用户查看的网页”所需要的技术。
结构实现的是网页中的标题、列表、图片等标签。
样式处理的是标题文字的字体大小、颜色,图片尺寸,某个标签的背景等。
行为可以实现网页中的时间,电商网站当中的倒计时效果,在注册表单时用户名是否重复的检测,网站当中顶部图片的切换特效等等。
简单的理解结构样式和行为:将网页看做一个装修好的功能完备的房子,那么结构实现的是房间以及家具的位置布局,样式则是针对房间进行装饰,行为是为房间添加“开门”等功能。
鼠标移上去时,改变li元素的大小、背景色、文字颜色等
代码如下:
!DOCTYPE html
html
head
meta charset="utf-8"
title/title
style type="text/css"
ul {
margin: 0;
padding: 0;
}
ul li {
list-style: none;
width: 130px;
height: 50px;
text-align: center;
line-height: 50px;
font-size: 20px;
position: relative;
margin-left: 10px;
}
div {
width: 150px;
height: 500px;
border: 1px dashed #000000;
text-align: center;
}
.active {
background-color: green;
color: #fff;
}
.show {
width: 2px;
height: 20px;
position: absolute;
left: 10px;
top: 15px;
background-color: white;
}
.li1 {
left: 20px;
border-radius: 5px;
}
/style
/head
body
div id="div1"
ul
lispan/span雅望天堂1/li
lispan/span雅望天堂2/li
lispan/span雅望天堂3/li
lispan/span雅望天堂4/li
/ul
/div
script type="text/javascript"
var oLi = document.getElementsByTagName("li");
var oSpan = document.getElementsByTagName("span");
for (var i = 0; i oLi.length; i++) {
oLi[i].onmouseover = function() {
var sp = this.childNodes[0];
console.log(sp);
for (var i = 0; i oLi.length; i++) {
oLi[i].setAttribute("class", "");
oSpan[i].setAttribute("class", "");
}
this.setAttribute("class", "active li1");
sp.setAttribute("class", "show");
}
oLi[i].onmouseout = function() {
for (var i = 0; i oLi.length; i++) {
oLi[i].setAttribute("class", "");
}
}
}
/script
/body
/html
这应该是你要的效果
方法/步骤
HTML结构
该鼠标点击按钮特效中每一个可点击的元素都是一个button按钮
CSS样式
以下是该css3点击按钮特效的通用CSS样式:
插件中通过在点击按钮时使用javascript来为它添加相应的动画CLASS来执行动画效果:
上面的CSS代码可以生成如下图的动画效果:
在“Stana”效果中,使用了html5 SVG clipPath,在它上面添加了一个transition。这个效果只能在Chrome浏览器中才能看到效果。
在“Stoja”效果中使用了CSS clip-path属性,这个效果也需要浏览器的支持才能看得到的。