html

html

Web前端开发QQ群 110939958-业余程序员

关于窗口大小

通常需要设定窗口大小是在弹出窗口的时候.尽管浏览器的window对象有resizeTo方法,但是对于非弹出窗口现在许多浏览器已经不理会这个动作了(比如chrome,opera...的某些版本)

设定的方式有两种

1. 在弹出方法的第三个参数中指定

window.open("url", "", "width=300, height=200");

2. 调用子窗口的window.resizeTo方法

win.resizeTo(300, 200);

经测试:

第一种方法的数值指的是 窗口的"视口(viewport)"的大小,不包括窗口本身的一些东东(标题栏,边框,地址栏等)

第二种方法指定的是窗口本身的大小,所以若想用这个来适应网页内容是不靠谱的

值得一提的是 window.resizeTo 似乎与操作系统的窗口机制相关,在ubuntu的火狐下指定的并不是窗口本身的大小,而是除去"窗口装饰"的大小(即除去标题栏,边框.但包括地址栏,状态栏之类)

以下是截图(所有数值为300*200):

弹出窗口的原始大小为内容区大小

弹出窗口的原始大小为内容区大小

上图依次为Opera, chrome, firefox 均在Ubuntu下.

(全文 ...)

CSS 高度百分比

关于CSS高度的百分比是这样规定的:

百分基数为元素包含块的高度,不可为负值.如果包含块的高度没有显式给出(即取决于内容的高度),该值等同于"auto".

元素在不设置高度的时候默认就是"auto".

所以百分比的高度必须在父元素有声明高度时使用.

但是有一种情况,如果此元素是绝对定位的(absolute或fixed) 那么百分比高度会起作用,其参照物为它的 offsetParent 的高度(不论是否设置)

学习canvas

<canvas 是HTML5 中新加入的一个标记
功能是创建一个“画板”对象及一组供javascript使用的API
基本标签的写法是这样的

<canvas width="100" height="100" id="canvas"></canvas>

创建了这个对象以后我们就可以用js来在上面画东西了

首先取得这个对象的引用

var canvas = document.getElementById("canvas");
然后取得绘制对象
var ctx = canvas.getContext("2d");

现在用ctx画一条直线

先把“画笔”放到起始点(0, 0)

ctx.moveTo(0, 0);

然后画线到(50, 50)

ctx.lineTo(50, 50);

把线画出来
ctx.stroke();

就这么简单, 更多的测试看 canvas测试页
Canvas tutorial

IE中的transparent

IE中的transparent(透明)就像是镂空一样,鼠标会直接透过这个透明的东西点到下面的物体。感觉这样是不太合理(透明不等于消失)。不过可以用一个技巧来解决这个问题,在透明的东西上铺一层透明的背景图片。

遇到8203

又是一个不可见字符, 16进制为200b.
在网页或者输入框表现为不可见, 查看内容的length是有的。
示例见 http://www.jatx.net/pub/bugs/test.html 全选并复制粘帖,在控制台检查其长度不是9.

处进方法替换即可: replace(/\200b/g, "");