请问您的回答最后洪七公提到乔峰的武功了只要换个css的地址就可以成功,是什么原理呢

累计发布条资源
推荐关键字:
技术领域:
资源类型:
已选条件 : &
上传时间:
积分/C币:
上传时间:
积分/C币:
chase_hung
上传时间:
积分/C币:
Doctoryian
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
Doctoryian
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
awenwenwem
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
A~醉吧古树茶
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
lixiaonan0318
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
applewahaha
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
上传时间:
积分/C币:
Hi,欢迎来到CSDN下载频道!
作者/分享人:前端小闪电
作者/分享人:纯洁的微笑 · 第三方支付公司技术总监
作者/分享人:Daze · 高级 Android 开发工程师
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18CSS3 Transform-3D空间变换成像原理浅析 - w3ctech
CSS3 Transform-3D空间变换成像原理浅析
14680 访问
这篇文章我将向大家简单的介绍 CSS3 里面的 3D 变换的物理成像原理,所以只是浅析,并不涉及线性代数的矩阵变换
先看一个简单的3D实例(PC端就把鼠标移上去,手机端就用手指在上面滑动,用原生JS写效果还真是...不过偶尔写写还是挺爽的):
这里本该有个示例,但是由于不能直接插入代码,可以移步到我的Blog体验:
HTML的结构:
&div class=&stage three-d&&
&div class=&three-d-box&&
&div class=&front transition&&
&div class=&back transition&&
margin: 30
width: 140
height: 100
background-color: #956129;
.transition{
-webkit-transition: all .3s ease-
-moz-transition: all .3s ease-
-ms-transition: all .3s ease-
-o-transition: all .3s ease-
transition: all .3s ease-
text-align:
font-size: 14
-webkit-perspective: 200
-moz-perspective: 200
-ms-perspective: 200
perspective: 200
.three-d-box{
width: 100%;
height: 100%;
line-height: 100
text-align:
background-color: rgba(50,50,50,.6);
-webkit-transform: translatez(-50px);
-moz-transform: translatez(-50px);
-ms-transform: translatez(-50px);
-o-transform: translatez(-50px);
transform: translatez(-50px);
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-ms-transform-style: preserve-3d;
transform-style: preserve-3d;
width: 100%;
height: 100%;
line-height: 100
text-align:
background-color: rgba(50,100,100,.5);
-webkit-transform: rotatex(0deg) translatez(50px);
-moz-transform: rotatex(0deg) translatez(50px);
-ms-transform: rotatex(0deg) translatez(50px);
-o-transform: rotatex(0deg) translatez(50px);
transform: rotatex(0deg) translatez(50px);
width: 100%;
height: 100%;
line-height: 100
text-align:
background-color: rgba(150,10,10,.5);
-webkit-transform: rotatex(-90deg) translatez(50px);
-moz-transform: rotatex(-90deg) translatez(50px);
-ms-transform: rotatex(-90deg) translatez(50px);
-o-transform: rotatex(-90deg) translatez(50px);
transform: rotatex(-90deg) translatez(50px);
一个简单的立方体旋转效果,可以移到PC浏览,console玩一下试试效果。不难看出3D变换基于几个比较重要的属性:perspective、translatez、preserve-3d。那么,transform 的3D变换效果是基于哪种坐标呢?每个属性又是如何控制的呢?先说一下3个属性的继承性:
perspective:
No ( 不太靠谱。。。)
translatez(transform):
preserve-3d(transform):
补充一点:perspective虽然不具有继承性,但是它却决定了后代元素的视觉呈现。
这段代码有几个关键点元素:three-d和three-d-box。three-d是3D变换的一个舞台元素,所有的元素都将在这里执行变换(因为它决定了所有后代元素的透视点);three-d-box则是为进行立方体变换的元素准备的一个小舞台。为什么要准备这个小舞台呢?three-d-box进行了translatez(-50px)变换,而它的子元素为么又进行translatez(-50px)变换呢?这个50px的值能换成其他值吗?先看一张GIF:
所以我们可以看出,立方体的每个2D平面都进行着3D变换,而且都围绕着一个点,这个点就是3维坐标系的中心点,而这个点也就是three-d-box的中心点。而front和back两个子元素的变换坐标系(准确的说是相对坐标系),就是基于three-d-box的三维坐标系(所有进行2D或3D变换的元素的坐标系都是基于父元素的坐标系,父元素的中心点就是2D或3D坐标系的原点,这个原点可以根据当前元素的transform-origin和translatez来改变,当然坐标是相对的,要理解这一点)。
OK,继续解决上面两个问题:设置这个小舞台的目的是为了旋转元素大小的一个可控性,直接设置three-d的大小,而且旋转元素的宽高都设置了100%,那么它们的宽高就是一样的,这样旋转元素的大小就可以通过three-d控制了。那么translatez的值呢?我就这个 Cube-Rotate 的例子说,先看一张图:
怎么样?一目了然了吧,translatez的值就是立方体高的50%,当然这个立方体的4个侧面是一样的,这个可以根据每个面的高度的值来确定对应的translatez的值(translatez的值到底是根据旋转元素的height还是width,这个也与旋转方向有关,那个GIF图不就很好的说明了吗?)。
下面在附两张我用OmniGraffle(很好用的一款思维导图绘制软件)画的两个示意图,仅供参考:
示例中的各个元素在3D空间的Z轴方向的景深示意图(1-1):
示例中元素在视觉系统中的成像示意图(1-2):
PS:上面这个图的固定视点相当于一只“机器眼”,变换元素最终呈现的客观形态就是成像到这只“机器眼”的图像,如果我们人眼的位置正好处在这只“机器眼”的位置,我们看到的是最真实的形态,当然人眼是“活动的”,成像最终取决于最终视角,和我们看现实世界的物体是一样的。固定视点的空间位置是相当于当前元素stage的,它到stage平面的垂直距离是由perspective设置的,它的投影在stage平面的坐标是由perspective-origin决定的。
看了这么多理论,在线体验实践一下吧(其中还会有其他的要点):
扫码关注w3ctech微信公众号公告:由于博客https升级,原博客引用http链接失效,预览及部分图片效果请查看源代码!
js实现网页换肤功能,javascript网页更换皮肤功能
18828次浏览
网页换肤是一门老技术了,老的现在都不怎么流行了。但是,有时候有些客户就是想要这个换肤功能。于是就实践做了一下网页换肤,方法有很多,下面先对一种方法做一下简单的介绍。
网页换肤的基本原理
基本原理很简单,就是使用 JS 切换对应的 CSS 样式表。例如导航网站 Hao123 的右上方就有网页换肤功能。除了切换 CSS 样式表文件之外,通常的网页换肤还需要通过 Cookie 来记录用户之前更换过的皮肤,这样下次用户访问的时候,就可以自动使用上次用户配置的选项。
那么基本工作流程就出来了:访问网页——JS 读取 Cookie ——如果没有,使用默认皮肤——如果有,使用指定皮肤;用户点击换肤选项——JS 控制替换对应的 CSS 样式表——将皮肤选项写进 Cookie 保存。
网页换肤事先需要的准备
首先你可能要准备多套 CSS 样式表文件,当点击换肤按钮的是,使用 JS 来切换对应的 CSS 样式表。之后,就是在网页上增加一个 ul li 列表,用 CSS 修饰一下做成换肤选项。例如:
下面我们就来看具体功能代码。
实现点击切换对应 CSS 功能
html代码,包括点击和下拉2中形式,如下:
&P&请选择下面的下拉菜单测试换肤效果&/P&
&a href=# onclick=&changecss('css.css')&&css.css&/a&
&a href=# onclick=&changecss('css1.css')&&css1.css&/a&
&a href=# onclick=&changecss('css2.css')&&css2.css&/a&
&a href=# onclick=&changecss('css3.css')&&css3.css&/a&
&select onchange=&changecss(this.value)&&
&option&选择样式单文件&/option&
&script language=&javascript&&
var csss=new Array();
csss[0]=&css.css&;
csss[1]=&css1.css&;
csss[2]=&css2.css&;
csss[3]=&css3.css&;
for(i=0;i&4;i++)
if(thisskin==csss[i])
document.write(&&option value=\&&+csss[i]+&\& selected&&+csss[i]+&样式单文件&/option&&);
document.write(&&option value=\&&+csss[i]+&\&&&+csss[i]+&样式单文件&/option&&);
js代码如下:
function SetCookie(name,value){
var argv=SetCookie.
var argc=SetCookie.arguments.
var expires=(2&argc)?argv[2]:
var path=(3&argc)?argv[3]:
var domain=(4&argc)?argv[4]:
var secure=(5&argc)?argv[5]:
document.cookie=name+&=&+escape(value)+((expires==null)?&&:(&; expires=&+expires.toGMTString()))+((path==null)?&&:(&; path=&+path))+((domain==null)?&&:(&; domain=&+domain))+((secure==true)?&; secure&:&&);
function GetCookie(Name) {
var search = Name + &=&;
var returnvalue = &&;
if (document.cookie.length & 0) {
offset = document.cookie.indexOf(search);
if (offset != -1) {
offset += search.
end = document.cookie.indexOf(&;&, offset);
if (end == -1)
end = document.cookie.
returnvalue=unescape(document.cookie.substring(offset,end));
thisskin=GetCookie(&nowskin&);
if(thisskin!=&&)
skin.href=
skin.href=&css.css&;
function changecss(url){
if(url!=&&){
skin.href=
var expdate=new Date();
expdate.setTime(expdate.getTime()+(24*60*60*1000*30));
//expdate=
//以下设置COOKIES时间为1年,自己随便设置该时间..
SetCookie(&nowskin&,url,expdate,&/&,null,false);
相关文章:
关键词搜索大家都在搜:
扫描二维码安装房天下APP
手机浏览器访问房天下
> > 问题详情
刑侦光源中css搜索光是什么原理
浏览次数:0
小伙伴们还在答题的路上,先看看下面这些内容吧~
孩子是父母的全部,所以想把全部好的东西都给予孩子,孩子的眼睛是比较重要的,所以给儿童使用灯的时候一定要慎重,那么,今天我们就来说说儿童护眼灯什么光源好?护眼灯的原理? []
浏览量:36
装修总预算0万元
卫生间:0元
扫一扫下载房天下装修
扫码即获10000套家居设计案例
申请使用此项服务,即视为接受、、
下载房天下APP
提问获取更多回答
ask:6,asku:0,askr:35,askz:16,askzx0:130,ask0:0,RedisW:53askR:21,askD:244 mz:nohit,askU:0,askT:0askA:266
Copyright &
北京拓世宏业科技发展有限公司
Beijing Tuo Shi Hong Ye Science&Technology Development Co.,Ltd 版权所有
违法信息举报邮箱:淘宝CSS代码生成器的原理是什么? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。7被浏览<strong class="NumberBoard-itemValue" title="分享邀请回答0添加评论分享收藏感谢收起0添加评论分享收藏感谢收起写回答

我要回帖

更多关于 换工作的原因怎么回答 的文章

 

随机推荐