Sublime Text 快捷键大全
终于搞了点代码外的衍生产物,编辑器吧,勉强也算围绕主题展开。
好好了解一下还是能提高工作效率的吧(?)
于是转篇文章:Sublime Text 使用介绍、全套快捷键及插件推荐
Sublime Text有Dev版本,推荐使用,下载地址,一般推荐下载便携版本(Portable version),这样拿来拿去很方便,也不用安装,而且插件和主体在一个目录下,便携。
终于搞了点代码外的衍生产物,编辑器吧,勉强也算围绕主题展开。
好好了解一下还是能提高工作效率的吧(?)
于是转篇文章:Sublime Text 使用介绍、全套快捷键及插件推荐
Sublime Text有Dev版本,推荐使用,下载地址,一般推荐下载便携版本(Portable version),这样拿来拿去很方便,也不用安装,而且插件和主体在一个目录下,便携。
今天某个逗比手贱进入了黑乎乎的全命令行模式……顿时惊慌失措,搜了一下,顿时得到了答案,原文来自:http://blog.csdn.net/shuziluoji1988/article/details/8272734
1、按ALT+CTRL+F1
切换到字符界面(Linux实体机)
如果是VMware虚拟机安装的Linux系统,则切换到字符界面的时候需要以下操作
按下ALT+CTRL+SPACE
(空格),ALT+CTRL
不松开,再按F1
。这样就可以切换到字符界面了。
2、按ALT+CTRL+F7
切换到图形界面(Linux实体机)
如果是VMware虚拟机安装的Linux系统,则切换到图形界面的时候需要以下操作
按下ALT+CTRL+SPACE
(空格),ALT+CTRL
不松开,再按F7
。这样就可以切换到图形界面了。
在html5中,全屏方法可以适用于很多html 元素,不仅仅是video
代码如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>全屏问题</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta http-equiv="imagetoolbar" content="no"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<style type="text/css">
*{
padding: 0px;
margin: 0px;
}
body div.videobox{
width: 400px;
height: 320px;
margin: 100px auto;
background-color:#000;
}
body div.videobox video.video
{
width: 100%;
height: 100%;
}
:-webkit-full-screen {
}
:-moz-full-screen {
}
:-ms-fullscreen {
}
:-o-fullscreen {
}
:full-screen {
}
:fullscreen {
}
:-webkit-full-screen video {
width: 100%;
height: 100%;
}
:-moz-full-screen video{
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div id="videobox">
<video controls="controls" preload="preload" id="video" poster="poster.jpg">
<source src="./movie.ogg" type="video/ogg" />
<source src="./movie.mp4" type="video/mp4" />
<source src="./movie.webm" type="video/webm" />
<object data="./movie.mp4" width="100%" height="100%">
<embed width="100%" height="100%" src="./movie.swf" />
</object>
</video>
<button id="fullScreenBtn">全屏</button>
</div>
<script type="text/javascript">
//反射調用
var invokeFieldOrMethod = function(element, method)
{
var usablePrefixMethod;
["webkit", "moz", "ms", "o", ""].forEach(function(prefix) {
if (usablePrefixMethod) return;
if (prefix === "") {
// 无前缀,方法首字母小写
method = method.slice(0,1).toLowerCase() + method.slice(1);
}
var typePrefixMethod = typeof element[prefix + method];
if (typePrefixMethod + "" !== "undefined") {
if (typePrefixMethod === "function") {
usablePrefixMethod = element[prefix + method]();
} else {
usablePrefixMethod = element[prefix + method];
}
}
});
return usablePrefixMethod;
};
//進入全屏
function launchFullscreen(element)
{
//此方法不可以在異步任務中執行,否則火狐無法全屏
if(element.requestFullscreen) {
element.requestFullscreen();
} else if(element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if(element.msRequestFullscreen){
element.msRequestFullscreen();
} else if(element.oRequestFullscreen){
element.oRequestFullscreen();
}
else if(element.webkitRequestFullscreen)
{
element.webkitRequestFullScreen();
}else{
var docHtml = document.documentElement;
var docBody = document.body;
var videobox = document.getElementById('videobox');
var cssText = 'width:100%;height:100%;overflow:hidden;';
docHtml.style.cssText = cssText;
docBody.style.cssText = cssText;
videobox.style.cssText = cssText+';'+'margin:0px;padding:0px;';
document.IsFullScreen = true;
}
}
//退出全屏
function exitFullscreen()
{
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if(document.oRequestFullscreen){
document.oCancelFullScreen();
}else if (document.webkitExitFullscreen){
document.webkitExitFullscreen();
}else{
var docHtml = document.documentElement;
var docBody = document.body;
var videobox = document.getElementById('videobox');
docHtml.style.cssText = "";
docBody.style.cssText = "";
videobox.style.cssText = "";
document.IsFullScreen = false;
}
}
document.getElementById('fullScreenBtn').addEventListener('click',function(){
launchFullscreen(document.getElementById('video'));
window.setTimeout(function exit(){
//檢查瀏覽器是否處於全屏
if(invokeFieldOrMethod(document,'FullScreen') || invokeFieldOrMethod(document,'IsFullScreen') || document.IsFullScreen)
{
exitFullscreen();
}
},5*1000);
},false);
</script>
</body>
</html>
今天的第一个任务,就是要让Video的大小能够满屏(适应父级div),换言之要判断高度、宽度,使之能够达到全屏的效果。
在过去的一个版本中,我们要想满屏,写了一段长长的js文件,来取高度宽度对比,之后再计算,居中也要通过js计算得出缩进值——很显然,我觉得这样不合理嘛。浪费了这么多资源在适应上,在监听时不断改变,写入CSS,看着都心累,于是在想,能不能直接通过CSS解决这样一个问题呢(自适应+水平垂直居中)。
答案是可行的。
这是在慕课网看到教程之后觉得,哎哟这个屌,然后就做了……
只需要一个指定div就能实现这个效果,实际上在未来调用之类的上都是很方便的。其实感觉自己实现的还不是特别的好,比起原来的似乎总觉得缺了点什么,但基本也算完成了。
html不多说,就是一个加了.shadow
的div,CSS部分才是重点!
最近突然想实现一下线性渐变,结果查了一下果然是有属性的:
效果差不多是这样。当然,这个麻烦的地方在于不同浏览器实现方法不同,但大同小异吧,比如firefox:
background:-moz-linear-gradient(top, #ddd, #555)
同理,可以看这个网址,详细教程:http://www.cnblogs.com/lhb25/archive/2013/01/30/css3-linear-gradient.html
作为一个逗比,昨天在设置了transition
之后想要click事件添加动画,结果fadeIn/fadeOut发现没有用啊……太奇怪了。
结果其实是因为,fadeIn/fadeOut的本质是更改透明度,而透明度更改会发生什么呢——触发transition,oh gosh。
于是乎,如果想用transition的话(其实我是希望用它来做hover来的),那样就把过渡交给transition处理就好了。
今天很不幸的又踩了一个名叫delay的坑……T^T坑中之爹啊。
delay()
在我的脑洞中应该和setTimeout
一个用法,万万没想到,他们其实是有差别的。
delay()
只能在动画队列中起作用,而setTimeout()
才是真正的延时。
比如(正在学coffee不知道是不是这么写的):
$(".next").click(->
$(".main ul li").css "opacity", "0"
setTimeout(->
$(".main ul li").css "opacity", "0.7"
, 1000)
)
这里我需要把opacity延时,那么用delay()
是不能了,css()
方法并不是动画。
关于delay()
的文档说明:http://www.css88.com/jqapi-1.9/delay/
今天在click打开新窗口上也遇到了问题,切换url之后发现window.open
还是原来的窗口,第一时间怀疑,卧槽难道window.open
有缓存?
结果搜了一下一脸困惑貌似是真的,结果试了那个方法也没用。
后来各种console.log()
排查,最终怀疑到事件绑定上去了,在绑定Click事件前,先将上一个解除绑定,具体方法如下:
比如: $("p").unbind();
。如果你需要解除所有事件的绑定,这是一个非常好的方法。如果要解除click事件的绑定:$("p").unbind("click");
就OK了。
实际上,我们平时用的比如$("p").click(function(){})
也是bind的缩写$("p").bind("click", function(){})
今天因为工作的缘故对比了一下img
和background-img
的效果,结果发现还是background-img
比较好用
比如我们拿一张长 > 宽的图来看:
HTML的结构始终是:
<div class="main">
<img src="Saber-Fate.jpg">
</div>
<div class="img"></div>