这是原文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”
很多内容理解不是很贴切,也不敢妄译,自己原文吧。
通过纯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,郁闷…谁有什么好建议?
*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,那么我强烈建议你一定要学习两者之一,因为从长远看来它们对你是极其有帮助的。
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