CSS 做个提醒页面 - 从山寨hostker提醒页面说起
昨天看完布局,hostker正好有个页面需要用布局,心想:嘿,练手的机会到了。
于是乎就写了起来,当然还是写了好久,不禁吐槽布局什么的看来又是白学了。
刚开始的时候使用flex,因为图片需要水平垂直居中,所以优先想到了昨天看的很方便的flex布局模式。
昨天看完布局,hostker正好有个页面需要用布局,心想:嘿,练手的机会到了。
于是乎就写了起来,当然还是写了好久,不禁吐槽布局什么的看来又是白学了。
刚开始的时候使用flex,因为图片需要水平垂直居中,所以优先想到了昨天看的很方便的flex布局模式。
今晚学习了一下定位知识,恰好hostker有个小网页用到了,就想自己试试看,由于不是居中的,存在一定偏差,所以纠结了好久(当然background-image还是居中的)。我把background用Image引入,而不是定义为background(不然position实在更难控制。。。)
下面一段代码就能水平和垂直都居中了。
margin: auto;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
在使用CSS的时候,你可能会出现疑问,我如何在容器中将文本或元素垂直对齐。现在使用CSS3 Transforms,我们可以更有效解决这问题,如下:
.verticalcenter{
position: relative;
top: 50%;
-webkit-transform: translateY(-50%);
-o-transform: translateY(-50%);
transform: translateY(-50%);
}
使用这个技术,文本、段落等都可以垂直对齐,CSS3 Transform 支持Chrome 4, Opera 10, Safari 3, Firefox 3, Internet Explorer 9。
最近由于工作需要在研究HTML5的播放器,HTML5其实自带的已经很全了,但是当我们需要把切割的视频整合播放的时候就遇到了麻烦,这里我想到了一个思路,正好发现网上也提到了很多这种思路:
首先多播放器窗口,除了一个以外display:none
,一般需求中两个就足够了。然后监听是否结束(关于监听,稍后再发一篇讲讲Javascript的监听问题),监听本P播放结束之后将下一个的链接赋值到隐藏的那个,交替display,进度条当然需要重做,这里就需要统计总时长了。
关于HTML5 Video的事件可以参考:http://www.w3school.com.cn/tags/html_ref_audio_video_dom.asp
当然理论上很好想,实际在用的时候还是遇到了一些问题:
最近由于工作需要在研究HTML5的播放器,HTML5其实自带的已经很全了,但是当我们需要把切割的视频整合播放的时候就遇到了麻烦,这里我想到了一个思路,正好发现网上也提到了很多这种思路:
首先多播放器窗口,除了一个以外display:none
,一般需求中两个就足够了。然后监听是否结束(关于监听,稍后再发一篇讲讲Javascript的监听问题),监听本P播放结束之后将下一个的链接赋值到隐藏的那个,交替display,进度条当然需要重做,这里就需要统计总时长了。
关于HTML5 Video的事件可以参考:http://www.w3school.com.cn/tags/html_ref_audio_video_dom.asp
当然理论上很好想,实际在用的时候还是遇到了一些问题:
这次真的是记录一下思考过程了,反正是个很坎坷复杂的经历。
github地址:https://github.com/csvwolf/Sky-C-Study/tree/master/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84
老师给了我们一个结构体的框架,不得不说C的结构体和C++的还是有差别的:http://www.cppblog.com/percyph/archive/2009/03/06/75742.html
由此,我们这样定义一个结构体之后:
typedef struct
{
float rpart;
float ipart;
} complex;
写这次的数据结构的作业的时候对于缓冲区问题深表蛋疼,getchar()深表拙计,于是搜了一下……
以下文字来自:http://www.ludou.org/c-clear-buffer-area.html
清空键盘缓冲区很多种方法,如用fflush(stdin); rewind(stdin);等,但是在linux这些都不起作用,还得我今天试了半天都没成功,上网搜了一下发现setbuf(stdin, NULL);就能直接清空键盘缓冲区了。
以下几个实例:
Sample one
#include <stdio.h>
int main()
{
char ch1;
char ch2;
ch1 = getchar();
ch2 = getchar();
printf("%d %d", ch1, ch2);
return 0;
}
转自:http://www.cnblogs.com/kaixing/archive/2012/03/05/2380615.html
本篇先介绍一下php的MVC实现原理,我们框架的MVC部分也是基于此原理实现的,但是今天的代码并不是框架内的代码,仅仅为说明原理。
不算是成品,只是提供一个思路,学了location.repalce()
发现是分分钟的事情。
很简单的使用超时调用就搞定了。
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>You won't be able to get back here</title>
</head>
<body>
<p>Enjoy this page for a second, because you won't be coming back here.</p>
<script type="text/javascript">
setTimeout(function() {
location.replace("http://codesky.me");
}, 1000);
</script>
</body>
</html>
看了半天,终于到了我觉得实战的部分了,首先是window.open
,说白了就是弹出窗口。
基础的来讲:
// 等同于 <a href="http://codesky.me" target="topFrame"></a>
window.open("http://codesky.me", "topFrame");
等价的时候用没什么前途,所以这里还有别的用法,topFrame
,也就是第二个参数,可以传入_self
,_parent
,top
以及_blank
,而第二个参数并不是已存在的窗口和框架时,会去读取第三个参数来决定,第三个参数中似乎一些都是不怎么好用的,主要是top
,width
,left
,height
位置。
好久没有更新了,六月份因为考试的缘故更是直接跳过了,前面浅浅的读了一下也不知道记些什么好,鉴于这个看着不错的样子就来mark一下。
indexOf()
方法,可以从一个字符串中搜索给定的子字符串,和他相反的是lastIndexOf()
,这个功能还算常见,正好码这段想到其他问题了,比如:
var stringValue = "Lorem ipsum dolor sit amet, consectetur adipisicing elit";
var positions = new Array();
var pos = stringValue.lastIndexOf("orem");
这段代码的运行结果如何呢,结果是1,而换成indexOf()
结果也是1,然后我尝试了不同的测试,似乎所谓的返回子字符串的位置是从打头的字符位置而定的(如果没找到则返回-1
)。