CSS-placeholder样式修改
placeholder样式选择器
1 | ::-webkit-input-placeholder{} /* 使用webkit内核的浏览器 */ |
注1:冒号前写对应的input或textarea元素等。\
注2:placeholder属性是css3中新增加的属性,IE9和Opera12以下版本的CSS选择器均不支持占位文本。
1 | [input || textarea]::-webkit-input-placeholder { |
周记
2019年3.04 - 3.08
- 本周关于webpack的简单配置
- 以及关于
leetCode
算法学习 - WebGL中关于three.js开源项目的学习
个人认为 应制定有序的学习计划,避免盲目,毫无章法的学习,增强学习目的和学习目标,并在每周记录,总结!
2019-3.11-3.15 节后开工第四周
- 对Gis学习的加强
- mapbox
- node proxy 跨域代理
- node 跨域
周四 灵感2019年3月14日 10:38:49
是否可以根据身高座位高度改变,自动改变笔记本B面与C面夹角∠角度
2019年9-24 16:52
HTTP 状态码
301 & 302 区别
Three.js之旅
Three.js 三大组件
场景(scene), 相机(camera), 渲染器(renderer)
场景
在Threejs中场景就只有一种,用THREE.Scene来表示,要构件一个场景也很简单,只要new一个对象就可以了,代码如下:1
var scene = new THREE.Scene();
相机
相机决定了场景中那个角度的景色会显示出来。相机就像人的眼睛一样,人站在不同位置,抬头或者低头都能够看到不同的景色。
场景只有一种,但是相机却有很多种。和现实中一样,不同的相机确定了呈相的各个方面。比如有的相机适合人像,有的相机适合风景,专业的摄影师根据实际用途不一样,选择不同的相机。对程序员来说,只要设置不同的相机参数,就能够让相机产生不一样的效果。
Threejs中有多种相机,这里介绍两种,它们是:
透视相机(THREE.PerspectiveCamera)、这里我们使用一个透视相机,透视相机的参数很多,这里先不详细讲解。后面关于相机的那一章,我们会花大力气来讲。定义一个相机的代码如下所示:
1 | var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000); |
渲染器
最后一步就是设置渲染器,渲染器决定了渲染的结果应该画在页面的什么元素上面,并且以怎样的方式来绘制。这里我们定义了一个WebRenderer渲染器,代码如下所示:
1 | var renderer = new THREE.WebGLRenderer(); |
注意,渲染器renderer的domElement元素,表示渲染器中的画布,所有的渲染都是画在domElement上的,所以这里的appendChild表示将这个domElement挂接在body下面,这样渲染的结果就能够在页面中显示了。
添加物体到场景中
那现在,我们将一个物体添加到场景中:
1 | var geometry = new THREE.CubeGeometry(1,1,1); |
前端框架-组件分类
组件通信精髓归纳
组件分类
常规页面
每个页面(.vue) 即是一个组件
功能性抽象组件
不包含业务,独立、具体的功能组件,button,select、date、alert、dialog、modal。。。
业务组件
在业务中被多个页面复用
它不像第二类独立组件只包含某个功能,而是在业务中被多个页面复用的,它与独立组件的区别是,业务组件只在当前项目中会用到,不具有通用性,而且会包含一些业务,比如数据请求;而独立组件不含业务,在任何项目中都可以使用,功能单一,比如一个具有数据校验功能的输入框。
组件关系
父子组件
兄弟组件
跨级组件
在父子关系中,中间跨了很多个层级。
组件构成
一个再复杂的组件,都是由三部分组成的: prop、 event、 slot
,它们构成了 Vue.js 组件的 API。
属性 prop
插槽 slot
自定义事件 event
两种写法:
1、在组件内部自定义事件 event