没有样式就是最好的样式

Archive for June, 2006


网页标准的9个错误理解

Jun 25, 2006 Author: | Filed under: Uncategorized

这是原文9 Ways to Misunderstand Web Standards,大致内容如下:

Misunderstanding #1: “We Need Separate Print Pages”

提供独立的打印页面。没有必要,使用样式表即可。你可以打印预览现在看到的这个页面,打印的时候只显示日志标题和内容等。代码如下:

Misunderstanding #2: “We Need an Alternative Mobile Web on Top of the Existing Desktop Web”

提供独立的手机浏览页面(WML)。道理同上,样式表即可解决问题。

Misunderstanding #3: “Accessibility Means to Always Use Alt Text”

关于 alt 的使用

Misunderstanding #4: “Sites Always Become More Accessible With CSS”

CSS 的意义在于简化了设计过程而不是Accessible

Misunderstanding #5: “With CSS We’re Completely Separating Content and Layout”

Misunderstanding #6: “With CSS, You Can Do the Design Later”

Misunderstanding #8: “The Semantic Web is Just Around the Corner”

Misunderstanding #9: “CSS Hacks Are Always Superior”

很多内容理解不是很贴切,也不敢妄译,自己原文吧。

flock 0.7.0.17.1.0 on ubuntu

Jun 18, 2006 Author: | Filed under: Uncategorized

Camini theme for firefox

Jun 16, 2006 Author: | Filed under: Uncategorized

via http://www.deviantart.com/view/34791392/

opera as file browser

Jun 16, 2006 Author: | Filed under: Uncategorized

自定义 checkbox 样式

Jun 15, 2006 Author: | Filed under: Uncategorized

通过纯css而不是javascript来实现。想法来自The Default Checkbox and Radio Button Graphics Are Ugly?,checkbox 和radio 样式效果来自 Adonia 主题。当然,IE是不行的。firefox和opera都没问题。

运行代码 [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

这个css的精髓在于 + 选择器(Adjacent sibling selectors)的运用。拿到 input[type="checkbox"]后面的 label,并控制其样式。

一开始,我是这样的结构

我更喜欢 label 在外面,这样顺便可以控制表单的布局(类似于原来 td 的作用)。但是似乎没有这种选择器— 包含b子节点的a,郁闷…谁有什么好建议?

python 学习笔记

Jun 14, 2006 Author: | Filed under: Uncategorized

*nix已经自带

python -V

Python 2.4.3

在Windows命令行中使用Python

如果你想要从Windows命令行调用Python,那么你需要先正确的设置PATH变量。

对于Windows 2000、XP、2003,点击控制面板->系统->高级->环境变量。在“系统变量”表单中点击叫做PATH的变量,然后编辑这个变量,把;C:Python23加到它的结尾。当然,是Python所在的正确目录名。

对于较旧版本的Windows,把下面这行加到文件C:AUTOEXEC.BAT中:PATH=%PATH%;C:Python23,然后重新启动系统。对于Windows NT,则使用AUTOEXEC.NT文件。

Say hello

python

Python 2.4.3 (#2, Apr 27 2006, 14:43:58)

[GCC 4.0.3 (Ubuntu 4.0.3-1ubuntu5)] on linux2

Type “help”, “copyright”, “credits” or “license” for more information.

>>> print “hi,i am guoshuang”

hi,i am guoshuang

如何退出Python提示符

如果你使用的是Linux/BSD shell,那么按Ctrl-d退出提示符。如果是在Windows命令行中,则按Ctrl-z再按Enter

编辑器

如果你使用Windows,那么我建议你使用IDLE。IDLE具备语法加亮功能,还有许多其他的功能,比如允许你在IDLE中运行你的程序。特别值得注意的是:不要使用Notepad——它是一个糟糕的选择,因为它没有语法加亮功能,而且更加重要的是,它不支持文本缩进。而我们将会看到文本缩进对于我们来说极其重要。一个好的编辑器,比如IDLE(还有VIM)将会自动帮助你做这些事情。

如果你使用Linux/FreeBSD,那么你有很多种选择。如果你是一位有经验的程序员,你一定已经在使用VIM或者Emacs了。勿庸置疑,它们是两个功能最强大的编辑器。使用它们编写你的Python程序,你将从中受益。我个人使用VIM编写我的大多数程序。如果你是一个初学编程的人,那么你可以使用Kate,它也是我最喜欢的编辑器之一。只要你愿意花时间学习使用VIM或Emacs,那么我强烈建议你一定要学习两者之一,因为从长远看来它们对你是极其有帮助的。

python 编辑器列表

simple example of .py

Python至少应当有第一行那样的特殊形式的注释。它被称作 组织行 ——源文件的头两个字符是#!,后面跟着一个程序。这行告诉你的Linux/Unix系统当你 执行 你的程序的时候,它应该运行哪个解释器。

#!/usr/bin/python

# Filename : helloworld.py

print ‘Hello World’

运行py

$ chmod a+x helloworld.py

$ ./helloworld.py

Hello World

chmod命令用来 改变 文件的 模式 ,给系统中所有用户这个源文件的执行许可。然后我们可以直接通过指定源文件的位置来执行程序。我们使用./来指示程序位于当前目录。

为了更加有趣一些,你可以把你的文件名改成仅仅helloworld,然后运行./helloworld。这样,这个程序仍然可以工作,因为系统知道它必须用源文件第一行指定的那个解释器来运行程序。

只要知道程序的确切位置,你现在就可以运行程序了——但是如果你希望你的程序能够从各个位置运行呢?那样的话,你可以把你的程序保存在PATH环境变量中的目录之一。每当你运行任何程序,系统会查找列在PATH环境变量中的各个目录。然后运行那个程序。你只要简单地把这个源文件复制到PATH所列目录之一就可以使你的程序在任何位置都可用了。

$ echo $PATH

/opt/mono/bin/:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/swaroop/bin

$ cp helloworld.py /home/swaroop/bin/helloworld

$ helloworld

Hello World

我们能够用echo命令来显示PATH变量,用$给变量名加前缀以向shell表示我们需要这个变量的值。我们看到/home/swaroop/bin是PATH变量中的目录之一。swaroop是我的系统中使用的用户名。通常,在你的系统中也会有一个相似的目录。你也可以把你选择的目录添加到PATH变量中去——这可以通过运行PATH=$PATH:/home/swaroop/mydir完成,其中“/home/swaroop/mydir”是我想要添加到PATH变量中的目录。

帮助

设置PYTHONDOCS环境变量。这可以在Linux/Unix中轻松地通过env命令完成。

$ env PYTHONDOCS=/usr/share/doc/python-docs-2.3.4/html/ python

Python 2.3.4 (#1, Oct 26 2004, 16:42:40)

[GCC 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)] on linux2

Type “help”, “copyright”, “credits” or “license” for more information.

>>> help(’print’)

无效变量名

无效 标识符名称的例子有2things、this is spaced out和my-name。

数字开始;空格;-号

三引号

利用三引号,你可以指示一个多行的字符串。你可以在三引号中自由的使用单引号和双引号。

逻辑行与物理行

print \n
i

与如下写法效果相同:

print i

有时候,有一种暗示的假设,可以使你不需要使用反斜杠。这种情况出现在逻辑行中使用了圆括号、方括号或波形括号的时候。这被称为暗示的行连接。

缩进

python 中不能随意缩进!同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。

if 判断

guess = raw_input(’Do u hate gongsao?(Y/N)’)

if guess == ‘Y’ or guess == ‘y’:

print ‘U a so smart!’

elif guess == ‘N’ or guess == ‘n’:

print ‘u a idiot,:(’

for in 循环

ftimes = raw_input(’How many times u want fuck blue?’)

ftimes = int(ftimes)+1

kstr = ‘ ‘

for i in range(1,ftimes):

print kstr + ‘fuck blue ‘ + str(i) +’times’

kstr += ‘ ‘

自定义函数

def whoniu(a,b):

if len(a) > len(b):

print a,’比’,b,’牛X’

else:

print a,’比’,b,’傻X’

inputa = raw_input(’比较两个人的牛X程度,那,第一个人的名字是?’)

inputb = raw_input(’第二个人的名字是?’)

whoniu(inputa,inputb)

函数参数

#!/usr/bin/python

# Filename: func_key.py

def func(a, b=5, c=10):

print ‘a is’, a, ‘and b is’, b, ‘and c is’, c

func(3, 7)

func(25, c=24)

func(c=50, a=100)

返回

$ python func_key.py

a is 3 and b is 7 and c is 10

a is 25 and b is 5 and c is 24

a is 100 and b is 5 and c is 50