著名教育家陶行知曾提出“生活即教育、社会即学校,教学做合一”的理念。著名儿童教育学家陈鹤琴也曾说过:“所有的课程内容都是从人的实际生活与经验里选出来的,要还原孩子生活的本来面目,给孩子生活原貌,让他们在生活中学习。”
生活即教育、社会即学校,教学做合一。
——陶行知
所有的课程内容都是从人的实际生活与经验里选出来的,要还原孩子生活的本来面目,给孩子生活原貌,让他们在生活中学习。——陈鹤琴
《白鳍豚·生活游戏学习课程》,就是一套将生活、游戏和教学融合起来,从生活、游戏中延伸教学,从生活、教学中产生游戏,让生活经验、教学内容为游戏的开展提供更多的实践的课程。本课程的设计目的,旨在为幼儿创造一段主动积极的幼儿园生活历程,让幼儿在生活中成长,在游戏中体验。
本课程由华中师范大学孙民从教授主编。孙教授有超过25年幼儿园课程主编的经历,对领域课程、主题课程等都有丰富的经验。
一、课程的内涵
新世纪开始至今,党和国家对学前教育给予了持续的高度关注,把学前教育看做是社会公益事业,纳入了国民教育体系,认为学前教育的发展“关系亿万儿童健康成长,关系社会和谐稳定,关系党和国家事业未来”。在党和政府的推动下,我国的学前教育发展步入了快车道,城乡公益性幼儿园数量快速增长,适龄儿童的入园率不断上升。
但是幼儿园在贯彻我国幼儿教育发展中的“去小学化”和“提高幼儿教育质量”的政策方面仍处在努力探索之中。虽然各地的幼儿园和幼教工作者做出了各种各样的努力,在很多方面已经取得了可喜的成果,但是如何从幼儿发展的全面性和整体性出发,将各种教育活动整合进一个完整的课程体系之中,还有待我们进一步的努力与探索。
近几十年来,随着我国的改革开放的持续推进,经济和社会生活的快速发展,今天的幼儿所处的生活环境和条件已经发生了巨大的变化。信息化社会中科学技术的广泛应用也极大地改变了人们的生产和生活方式,也对人的素质提出了新的要求,教育必须“为未来不确定的社会培养不确定的人”,对今天的幼儿教育提出了严峻的挑战。
在这种经济和社会快速发展和进步的时代,各国的早期教育工作者都展开了研究和探索。学者们在新的时代用新的视角来解读幼儿和幼儿的发展,重新理解幼儿的生活、游戏和学习,并在新的社会背景中提出了许多创造性的教育理念,在实践中持续展开形式多样的改革,试图通过多层面的创新来帮助幼儿发展出各种 “核心素养”,以适应信息化、国际化的社会,并在激烈国际竞争中占有先机。
正是在新时期幼儿教育改革和发展的背景中,我们组织专业力量在广泛吸收国内外先进的幼儿教育研究成果的基础上研发了这套“生活·游戏·学习课程”。这一课程力图在幼儿在园的各种内容和形式的活动之间建立起有机的联系,使之成为一个完整的活动体系,更加有效地促进幼儿身心全面和谐的发展,成为自己生活、游戏和学习的主体,发展出当今社会发展所必须的身心素质,为后续的学习和长远发展奠定坚实的基础。
长期以来,我们习惯于将幼儿在园的活动分成生活活动、游戏活动和学习活动,并赋予不同的活动以不同的内容和功能,并进行了相应的活动设计,不同的活动分别有各自不同的时间、环境和方法程序等等,甚至是生活活动由保育员组织管理,学习活动由教师组织管理,久而久之转化成我国幼儿园普遍遵循的“园所制度”。这很自然地将幼儿的各种活动之间的联系割裂开来,使各种活动都“专门化”。这种实践状况尽管有利于幼儿园的管理和教师对活动的组织,但却有违幼儿学习与发展的规律,影响教育的价值的实现。
如果我们仔细考查幼儿的活动与其身心发展的关系,就会发现对幼儿的来说,各种形式和内容的活动都有着学习的性质和发展功能。因为儿童是通过各种主体性的活动来满足自己的愿望,表现自己的存在。在活动的过程中,儿童会通过与环境中的人、事、物的相互作用来展示自己的需求,发生对活动对象的感知、操作和理解等行为,实现对事物的认知,并在这一过程中产生相应的感受和体验。所以这些主体性活动的本质就是幼儿的学习。各种学习活动的功能都能帮助幼儿丰富和提升学习者内在的经验能力、感受和体验,实现内在素质的变化和成长。基于这样的认识,幼儿园的课程就应该突破活动分类设计的局限性,围绕幼儿学习和发展的需要将各种内容和不同形式的活动都当作是幼儿学习和发展的途径,强化去学习和发展的本质,提高其学习和发展的功能和效益。这就是我们研发的追求。
二、课程的教育理念
(一)幼儿发展的本质是幼儿作为主体在生活历程中持续不断地成长
当代的教育学已经充分地认识到人是主体性的存在,人的发展是一种主体性的发展。一个正常的孩子从出生开始,感觉饿了就会哭,稍大一些,妈妈逗他就会笑,这就是其主体性最初表现。在幼儿阶段,儿童在现实的生活中一定会在具体情境中产生内在的、主体性的需求和欲望,形成其内在的活动动机,进行各种主动积极的活动来满足自己的需求,这就是儿童的主体性。所以,福禄贝尔、蒙台梭利都强调在教育活动中重视儿童兴趣的利用,皮亚杰也说“兴趣是儿童的第一位教师”,马拉古奇在谈到儿童的学习时,认为儿童从出生开始就会学习,就对学习充满了渴望。这都是对儿童发展的主体性的认识。
《幼儿教育指导纲要(试行)》中明确提出“幼儿园的教育活动,是教师以多种形式有目的、有计划地引导幼儿生动、活泼、主动活动的教育过程。”要求幼儿教师“以关怀、接纳、尊重的态度与幼儿交往。耐心倾听,努力理解幼儿的想法与感受,支持、鼓励他们大胆探索与表达”、“ 关注幼儿在活动中的表现和反应,敏感地察觉他们的需要,及时以适当的方式应答,形成合作探究式的师生互动。”这些要求的核心就是对幼儿主体性发展的尊重。同样在《3-6岁儿童学习和发展指南》中对尊重和培养幼儿的主体性也有诸多的要求。
幼儿的主体性作为一个教育的目标和条件,也有一个发展的过程,课程的教育活动既需要尊重已有的主体性,更需要根据社会发展对人的需求来引导幼儿主体性的成长。让幼儿在每天的生活、学习和游戏等各种形式的活动中既保持积极主动,逐步形成活泼开朗的性格,也能在集体生活中逐步生成责任意识,学会和他人协调合作,善于学习,善于交往。
在主体性教育思想的引导下,幼儿园各种教育活动的设计和实施都应该力图为幼儿创造一个主动积极的幼儿园生活历程,重视儿童的兴趣的利用和培养,关注儿童在各种活动中的感受和体验,增进儿童活动的内在动力,帮助幼儿在自主操作中探究客观事物,在丰富的学习、游戏和人际交往等活动中实现身心发展。
(二)幼儿的发展是幼儿身心素质整体向上的提升
如果幼儿园教育能根据社会的发展对人的素质要求将幼儿看作是主体,培养幼儿的主体性,就必须根据幼儿成长的规律,从主体需求的角度来设计幼儿园的课程。
在现实的社会生活中,人是作为一个完整的个体生活着。每一个幼儿也是一个整体的人,在各种情境中,他们总是其自身“自然性和社会性的统一,认知和情感的统一,愿望和行动的统一”。作为教育者更要认识到,幼儿的身心发展也必须是整体性的。只有实现了身心整体性的发展才能为儿童适应不断发展变化的社会做好准备,奠定基础。所以《指南》中明确指出“儿童的发展是一个整体”,教育要“关注幼儿学习与发展的整体性”,要“促进幼儿身心全面协调发展”。
在现实的幼儿园教育中,我们对儿童发展的整体性一般理解为课程的在教育目标上的全面均衡,在教育内容上的综合渗透。而在教育的方式方法方面,我们习惯性地将幼儿的在园生活分解成各自相对独立的生活活动、游戏活动和学习活动等等。
为了提升幼儿园教育的效率,便于教育活动的有效管理,上述的活动区分有其现实的必要。但是,这种解析式的思维却很容易导致人们在教育活动设计和实施中将不同活动形式之间进行“脱钩”,使不同的活动之间失去有机联系,彼此割裂开来。这不仅有违儿童学习和发展的规律,最终拆解了儿童学习和发展的整体性。
我们认为,幼儿园教育活动要能引导和帮助幼儿实现整体性的发展,不仅在课程目标和内容上关注其全面性和各领域之间的相互渗透,还应在幼儿园的各种类型的教育活动之间建立有机的联系,消弭彼此之间的裂痕,使幼儿园的各种教育活动形成目标一致、功能一致的整体。
(三)学习品质是幼儿身心素质中的核心品质
今天的幼儿都生活在信息社会,一个科技高度发达的社会。现代科学技术的快速发展和在生产和生活领域广泛应用,促进了社会持续的变革,“我们正面临新的教育环境,如若我们要生存,教育的目标就应该是:促进变化和学习。惟一受过教育的人是已学会怎样学习的人,已学会怎样适应变化的人,已认识到知识都不完全可靠,探索知识的过程才是安全基础的人。”所以,早在上个世纪的70年代,联合国教科文组织在全球教育研究报告《学会生存》中,就把培养人学会学习当成现代教育的重要目标。
基于高科技社会对人的素质提出的要求和国际竞争中国家发展对人才的需求,在20世纪90年代,美国国家教育目标委员会在一份报告中提出了“学习品质”的概念,并将学习品质作为一个重要的教育目标提出来。自此以后,很多国家就把培养学生的学习品质作为重要的教育目标。
我国的幼儿教育政策也对培养幼儿良好的学习品质提出了明确要求,《3~6岁儿童学习和发展指南》中对幼儿学习品质的含义、结构、价值都做出了说明。如学习品质是“幼儿在活动中表现出的积极态度和良好行为倾向”,包含幼儿的“好奇心和学习兴趣”, “积极主动、认真专注、不怕困难、敢于探究和尝试、想象和创造”等心理倾向。认为教育者如果“忽视幼儿学习品质的培养,单纯地追求知识技能学习的作法是短视而有害的”。并在规定的幼儿学习和发展的五个领域的目标和内容中都十分重视幼儿学习态度、意愿和学习习惯、能力的培养。
幼儿的学习活动有别于中小学生的制度化的学习,幼儿在生活、游戏和课堂教学等各种形式的活动中表现出的感知、观察模仿、操作探究等行为,都在学习的范畴之内。因为3~6岁的儿童身心发展很快,不同年龄的幼儿在学习的态度和行为方面都有着不同的内涵,所以,幼儿的学习品质也是一个发展着的概念。课程设计者必须根据幼儿的年龄特点来把握学习品质的具体内容,提供适宜性的活动来支持和促进幼儿学习品质的发展。
(四)幼儿园的课程应引导和帮助幼儿将优良的文化内化成个体的身心素质
前苏联著名的心理学家维果斯基将儿童的发展分为两种心理机能,一种是个体早期以直接的方式与外界相互作用时表现出来的“低级心理机能”,另一种是作为历史产物的进化结果,以符号系统为中介的“高级心理机能”。儿童的心理发展是个体的心理自出生到成年,在环境与教育的影响下,在低级心理机能的基础上,逐渐向高级机能转化的过程。儿童的认知能力的发展始于社会关系和文化,儿童的记忆、注意、推理能力的发展都和学习使用社会的创造发明有关。语言是儿童的心理工具,社会文化是儿童心理能力的发展资源。尤其高级心理机能只能是儿童通过外部活动不断将社会文化内化的结果。维果斯基的这一理论为当代教育提供了理论基础,对各国教育课程的设计和实施产生了巨大的影响。
幼儿园课程作为幼儿三年之中学习和成长的总体方案,也应该是一种儿童与优良的社会文化相互交融的方案。我们必须在课程开发的过程中根据社会文化的内涵来明确为每个年龄段的幼儿学习和发展的目标,还必须为幼儿选择优良的社会文化资源,引导幼儿去感知理解,去体验感受,将文化转化成其主体性的身心素质。也应该通过科学的课程体系的构建来为社会文化的发展增添幼儿学习和发展的内容。
基于这一理解,我们在课程开发的过程中,就必须充分分析文化的价值和适宜性,通过选择和组织优秀的社会文化资源来帮助幼儿学习良性文化,将选择出来的文化素材融入幼儿的生活和游戏之中,赋予幼儿生活和游戏以丰富的文化内涵,引导幼儿通过各种形式的生活活动和游戏来将优良的社会文化内化成自己的人格素质。
三、理念的落实
1. 把教育过程和幼儿生长的经历统整为一个过程
这套课程从3-6岁儿童的生活经验出发,从幼儿生活成长的各个阶段的重点问题、最感兴趣的话题入手,把幼儿生活分解为四大线索:成长线索、空间线索、自然线索、环境线索。这四条主线相互关联、相互影响,最终构建出完整的幼儿生活场景。比如小班上学期的重点就是适应幼儿园、理解家庭、照顾自己、照顾环境。到了大班,就已经在探索小学、生命、地球的秘密,为适应未来的小学生活做准备。这些都是幼儿生活中可以被观察、接触到的内容,更容易激发幼儿的学习兴趣,更可以将教育过程和幼儿的成长经历融合为一个过程。
2. 从生活中来,以幼儿生活重要历程为重要主题线索
3. 到生活中去,让所获经验成为幼儿生活的一部分
围绕主题,设计与之相关的学习活动、主题环境、区域活动、户外游戏和家园共育等主题实施方案。在主题实施过程中,配合学习活动的开展,逐步完善班级主题墙的布置,引导幼儿利用区域材料自主探索主题延伸活动,再利用户外游戏和亲子活动加以强化,多措并举,让主题成为幼儿生活的一部分。
4. 珍视日常生活环节的独特教育价值
5. 尊重并引导幼儿主体性的发展
儿童在现实的生活中一定会在具体情境中产生内在的、主体性的需求和欲望,形成其内在的活动动机,进行各种主动积极的活动来满足自己的需求,这就是儿童的主体性。
在课程的活动设计中,我们尊重幼儿已有的主体性,并根据社会发展对人的需求,积极引导幼儿主体性的成长。
在主体性教育思想的引导下,通过各类活动的设计和实施,力图为幼儿创造一段主动积极的幼儿园生活历程。
6. 关注幼儿学习与发展的整体性
课程力图在幼儿在园的各种内容和形式的活动之间建立起有机的练习,使之成为一个完整的活动体系,更加有效地促进幼儿身心全面和谐的发展,成为自己生活、游戏和学习的主体,发展出当今社会发展所必须的身心素质,为后续的学习和长远发展奠定坚实的基础。
所以在教育目标的设计上面,全面均衡。在教育内容的选择上,综合渗透。在生活活动、游戏活动和学习活动之间,建立有机的练习,让各教育活动形成目标一致、功能一致的整体。
7. 促进儿童主动学习和全面发展
课程不是传递知识的简单过程,而是把课程当作儿童成长的过程。儿童不是知识的容器,而是一个个有主动性、有创造性的鲜活个体。
《白鳍豚·生活游戏学习课程》,在课程的架构上除了遵循生活化之外,也遵循游戏化的设计特点,提供丰富的游戏化材料,根据八大特性来设计内容,以此来促进儿童主动学习和全面发展。
8. 帮助幼儿内化优良的社会文化,注重中华优秀传统文化的传承和爱国主义教育
充分分析文化的价值和适宜性,选择和组织优秀的社会文化资源,为幼儿的生活、游戏和学习赋予丰富的文化内涵,引导幼儿通过各种形式的活动将优良的社会文化内化为自己的人格素质。如语言活动《中国字》、美术活动《青花瓷》《画脸谱》、科学活动《四大发明》。
]]>从现在开始,你不再需要下载和安装任何应用软件,只需要打开浏览器,输入网址www.uzer.me,登陆账号即可立即使用任何的应用软件,包括你常用的OFFICE和你爱玩的游戏。拒绝盗版、阉割,无需更新等待,你需要的只是一个浏览器。
UZER.ME为你带来更加畅快的操作体验。云端超级处理器更为强大的运算能力和图像处理技术轻松超越绝大多数的日常使用电脑,轻松运行各种大型程序。
跨平台使用,MAC电脑下可以使用Windows系统下的所有软件。
邀请好友和你一起修改文档吧。多人编辑,实时存储,在线讨论,协同合作不再受时间和地域的局限,所有的协作都是实时同步的,或许你也可以找个PS大神共同制作一张美美的照片。
为保障用户数据不丢失,UM通过更多服务器相互备份和异地备份的方式保护信息安全。为防止信息被盗,UM采用RSA共约加密算法(RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准),
相当于银行级别的安全防护标准,保卫你的信息安全。
针对企业用户,UZER.ME还提供专属企业化个性定制,根据企业的不同需求进行设计开发,打造属于你的企业云空间。
而这一切,都只需要一台浏览器。
]]>
Themeforest原价$19的呢。
对了,忘了说。仅供学习哦!
演示:http://themeforest.net/item/blogpost-responsive-wordpress-blog-theme/11211905
]]>所谓漫漫长夜,孤枕难眠,异地恋的男女最是缠绵。长期分隔两地的情人相见一次面不容易,虽然电话电脑都能够稍解相思之苦,但是总有些“情话”不通过身体传递不到给对方。为了拯救天底下有情男女,Lovense(爱感)团队历经长达5年的研究和开发,以及无数个日夜的奋战,如今我们终于迎来了这场高潮!2009年,公司创始人经历了一场异地恋,和许多异地恋人一样,因为缺乏性生活,他们关系逐渐冷淡。最后,他们的恋爱关系无疾而终。困惑的同时,他开始带领团队开始对远程性爱进行了探索。
第二年,一款名为“远程乐趣”的产品诞生了。具备革命性的是,它是第一款能够通过skype来进行远程控制的情趣玩具。它给世界上成千上万的伴侣带去了愉悦。尽管如此,我们依然不断尝试改善产品。
从2011,再到2012,研究持续并建立了第一个能够在电脑平台上进行双向互动的玩具原型。然而,由于设计和体验都达不到我们期望的效果,于是我们决定对其重新设计,并开始尝试在移动设备上做适配。这就是如今Lovense玩具的雏形。
Max与Nora发布于2013年底,是首款基于应用程序、支持双向互动的情趣玩具。我们的开发团队一直在努力满足用户在功能与体验上的需求和对一个科技性情趣用品公司的期望。感谢顾客给予我们宝贵意见,你们让我们成为科技领域行业里的先锋。感谢你们对我们的关注,同时,我们期望在接下来时间里给大家带来更多高科技情趣玩具。
这两款玩具创新性地支持远程性爱。当一边运动,另一边也会跟着运动,让身处异地的爱侣们可以真实感受对方的动作。无论您们是短暂分开,还是长时间分开,这对玩具都能提升您们的性爱质量。观看视频了解具体如何互动。
现在点击上面按钮进入官网购买将享受原价50%的折扣!
]]>
发给我的通知邮件,我第一眼还真被蒙住了。由于用的邮箱是corp.elong.com(我也不知道艺龙的邮箱怎么会变成诈骗邮箱),没有被QQ邮箱识别成垃圾邮件。而且打开两个链接出现的网页和QQ安全中心一摸一样,我相信还是会有人没有看地址栏,就输入了QQ号码和密码~~~
而当你输入帐号密码(不管对错~~)进去就提示QQ帐号有风险,要重置密保资料,这样不光搞到了你的QQ密码,还搞到了密保资料,接下来盗号者想干什么可以猜测的出来了···,真是不可谓凶险啊。
]]>
买的光驱位硬盘托架还送了十字一字起子一样一个,还有备用的螺丝,挺不错了。
在开始动手之前先讲C盘ghost备份到非系统盘里中。我的方案是把SSD放在主硬盘位做系统盘,把原本的笔记本硬盘放到光驱位的硬盘托架中。
把光驱下下来,外壳横条移到硬盘托架上,卸下笔记本硬盘装上SSD,把笔记本硬盘装入硬盘托架后塞入光驱位,螺丝上好后,插入装机U盘,从U盘系统进入PE,格式化SSD,用ghost选择之前的C盘备份文件恢复系统。完成后进入系统将原本的C盘(现在的D盘)格式化。
]]>
这位在网络上迷倒万千宅男的17岁美少女名叫Joyce Chu,网名“四叶草”,由于妆容打扮确实非常韩风,所以常常被误当成是韩国妹妹或是赴韩变过脸。
为了给自己洗白,来自马来西亚的她最近发布了一首名为《Malaysia Chabor》的乡村风小曲,小清新的愉快调调配合Joyce俏皮清脆的歌声,让这首由马来西亚作曲人黄明志(Namewee)亲自为Joyce量身谱写的歌曲在一周左右的时间里收获了超过160万的超高浏览量,成绩惊人,估计“四小姐”都被自己的人气震到了吧?
事不宜迟,现在就让我们马上来听歌看美妞吧!
]]>
非国标插座存隐患 大多消费者不知情
刘铭/摄
您是否知道万用孔插座存在着由于错插、误插而导致的触电危险,存在着由于插头与插孔之间出现不良接触导致插座内部发热、漏电甚至引发火灾事故等安全隐患?
您是否知道我国从2010年6月1日起强制执行的电源插座新国标即明令禁止再生产万用孔插座?
两芯线插座严重违反国家标准,由于没有地线连接墙壁电源,一旦电器出现漏电情况,两芯线插座会引起触电、火灾等事故的发生,对此,您是否知道?
调查结果令人不安:分别有52.31%、72.69%和64.7%的消费者对此表示“不知道”。
日前,本报联合北京、天津、上海、重庆、河北、山西、辽宁、吉林、黑龙江、江苏、浙江、安徽、福建、江西、山东、河南、湖北、湖南、广东、广西、四川、陕西、大连、厦门、青岛、深圳、沈阳、长春、哈尔滨、南京、杭州、济南、武汉、广州、成都、西安、昆明等37省市消协(消委会、消保委),在中国消费网、新浪财经和3G门户网上共同开展的电源插座安全使用状况调查结果显示,消费者对电源插座相关标准的了解程度、对非国标电源插座可能带来的安全隐患以及购买电源插座的途径等问题,均令人异常担忧。
三成多受访者不能及时换插座
37省市消协与本报和中国消费网联合开展的此次调查,是针对非国标电源插座肆意泛滥的情况,同时也为了解我国电源插座安全使用状况、提高广大消费者的安全意识而开展的。
调查结果显示,家中有4-6个电源插座的占比最高,为38.89%;家中有7-10个电源插座的占比为34.92%,家中有10个以上电源插座的占比为16.27%,而家中有1-3个电源插座的占比仅为9.92%。由此可见,超过90%的受访者家中拥有4个或4个以上的电源插座。
但是关于“什么时候会主动更换家中的电源插座”的问题,34.04%的受访者存在着错误的认知,他们不是“当家中的电源插座出现插孔变松、插头出现接触不良情况时主动更换”,而是在等到“插座不通电、完全不能使用”等情况出现时才更换。而专业人士指出,这时电源插座已经存在着引起短路、失火等风险。
五成多人对插座隐患重视不够
近来年,全国多家媒体都曾报道过因使用不合格的电源插座而引发严重的火灾和触电事故,不合格插座已经成为引发火灾和人身伤害的“隐形杀手”。公安部发布的数据显示,在我国近年来累计发生的火灾事故中,由于电源插座、开关及断路器短路等原因引发的火灾,位居各类火灾之首。
但此次调查结果显示,52.31%的受访者对此并不知情。这说明超过半数的消费者并没有对电源插座的安全性及其存在的安全隐患予以足够的重视。
万用孔插座早已被禁鲜为人知
在日常生活中,万用孔插座又称老国标插座,即插孔可同时兼容两极或三极甚至是英标、美标、欧标这类非日常使用插头的插座。这种插座由于使用方便而被很多家庭所使用。但这种插座会因错插、误插而导致触电的危险,还会因插头与插孔之间出现不良接触,导致插座内部发热、漏电甚至引发火灾事故等安全隐患。从2010年6月1日起,电源插座新国标就已经明令禁止生产万用孔插座了。
但调查显示,52.31%的受访并不知道这种插座存在安全隐患,72.69%的受访者不知道此类插座已经被明令禁止生产。这说明消费者对电源插座相关标准的了解程度、对非国标电源插座可能带来的安全隐患知之甚少。
七成多人不知两芯插座不安全
两芯插座是一种插座面板上有三个插孔,而插头却只有2个插销的插座,这类插座缺少一根地线。在使用过程中,一旦电器内部某个绝缘部件损坏,电流将会布满整个电器表面,由于电流无法通过两芯插座导入地下,极易造成触电事故的发生。自第一支插座诞生之日起,我国相关监管部门就明确不允许生产和销售两芯插座。
调查显示,虽然有高达73.4%的人在购买插座时最关注产品质量及安全,但遗憾的是,竟然有64.7%的人不知道两芯插座是一种严重违反国家标准的不合格产品;更有高达75.83%的受访者表示购买过两芯插座。由此来看,很多消费者由于不知情而购买使用了这种存在重大安全隐患的两芯插座,这也暴露出消费者对电源插座相关知识的匮乏。
消费者购买插座途径令人担忧
本报记者通过对北京、上海、成都、西安、哈尔滨等10个城市电源插座市场的调查暗访发现,大卖场和电器城销售的电源插座基本上都是合格的。而五金店和建材市场则是不合格电源插座的集中售卖地,网店也是不合格电源插座的重要销售渠道,像天猫、1号店、苏宁易购、当当网、国美在线等知名电商均有不合格电源插座在售。
此次调查发现,消费者购买电源插座的途径实在令人担忧:43.64%的受访者在五金店或建材市场购买,23.64%的受访者在便利店或小超市购买,10.64%的人在网店购买,只有29.09%的受访者选择在大卖场或电器城购买。
●观点
应从生产源头把好安全关
近年来,全国各地工商机关不断加强对电源插座的市场监管,众多知名品牌纷纷被曝光,但仍是屡禁不绝。本报记者暗访发现,很多非国标电源插座的生产企业将插座生产日期标注成2010年6月新国标实施之前,有些则根本不标注生产日期,遇到检查,就谎称是新国标实施之前生产的存货,以逃避处罚。
对此,79.72%的受访者希望执法部门加强产品质量监督检查,严禁生产厂家生产不合格插座;58.02%的受访者希望执法部门加强市场监管执法,严禁销售不合格插座;56.13%的受访者选择提高消费者安全意识,学习辨别优劣插座;42.45%的受访者希望生产厂家加强自律,不生产违反国家相关规定的产品。
因此,从生产源头加强对电源插座的质量监督,是杜绝不合格插座流向市场、切实维护消费者合法权益的最重要一环。
]]>…
但觉得从前情人
在世上并没存在
多年来从未真正去被爱
来来回回
我只站在门外
一时糊涂
你只当做意外
…
最喜欢的一个版本。杨千嬅/陈奕迅 的 903 id club 拉阔音乐会
]]>随着这种炫酷的效果首次在Nike 2011年的 Nike Better World 项目中完美展现,如今这种视差滚动效果被越来越多的国外网站所应用,成为Web设计的热点趋势。因此,本文整理了十种关于此效果的教程和插件和大家分享,希望为你的网站设计提供一些灵感。
不过有两个方面需要读者注意:
一个超级棒的插件,为你的网站提供纵深和滑动效果。
一份帮助你增加网页立体层次感的教程。
一份为那些急切想重现NIKE网站滚动效果的设计师准备的教程。
4、用jQuery和CSS构建一个具有视差滚动效果的网站界面
一份为那些想在此领域了解的更深的设计师准备的例子和教程。
一份教程,在背景上帮你添加一些滚动的云彩。
用一个动画式的网页头部来让你的访问者为你欢呼吧!
7、视差滚动教程
一份视差效果和内容同时出现的有趣的教程。
一个通过重复和动画运动产生立体错觉的插件。
一个为任何滚动元素提供视差滚动效果的JQuery插件。
10、Curtain.js
允许你嵌入一个类似于幕布升起的效果到你的网页中。
英文原文:10 Useful Tutorials And Plugins for creating Parallax and scrolling effects.
观月雏乃,日本AV女优,1982年2月11日出生。是台湾首位在日本做AV女优的中国人。出生在台湾,中日混血儿,父亲日本人,母亲台湾人。原是台北县复兴商工学生。
]]>Sencha.io Src helps you dynamically resize images for the ever increasing number of mobile screen sizes. We’ve previously done a lot of work in Sencha Touch to make your UI resolution independent, and Src expands this to include your image assets. It’s easy to use, and in this guide, we run through the main API options for the service.
Sencha.io Src is essentially a proxy that lies between image assets (hosted either on your own server or by a third party) and the browser or application requesting them via HTTP. The API is accessed entirely via placing a prefix before the original image URL. This prefix gives you declarative access to all of the different types of transformation that the service can perform. This approach makes the service very easy to add to existing web sites or apps without any programming knowledge.
Let’s start with a quick example. Let’s assume you are inserting a 640px × 480px image into your web app or site with markup something like this:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<img src='http://sencha.com/files/u.jpg' alt='My large image' />
To use Sencha.io Src in its default mode, you simply prefix your absolute src
attribute with http://src.sencha.io/
Add that into the tag and your image will be magically resized for a smaller, mobile screen:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<img src='http://src.sencha.io/http://sencha.com/files/u.jpg' alt='My smaller image' />
Unless you tell it otherwise, Sencha.io Src will resize the image to fit the physical screen of the mobile handset visiting your site, based on its user-agent string. For example, if an iPhone 3GS visits the site, the image will be constrained to its screen size of 320px × 480px.
In this particular case, the image is of landscape orientation, and so width becomes the constraining dimension. Aspect ratios are always preserved by Sencha.io Src, so our 640px × 400px image will emerge resized for an iPhone 3GS as 320px × 200px.
If you want to resize graphics to be constrained by something other than the full screen in width or height (and you probably will), there are plenty of other ways the API can be used. Let’s take a look.
If, instead of keying the size off the user-agent string, you want to resize your images to precise dimensions, Sencha.io Src takes optional parameters to let you define width and height, in that order. These need to appear prior to the image URL in your src
attribute. So for example
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<img src='http://src.sencha.io/320/200/http://sencha.com/files/u.jpg' alt='My constrained image' width='320' height='200' />
Because we are being explicit about the resizing, we can also be reasonably confident about using the width
and height
attributes into the tag as well.
If you are only concerned about constraining the image’s width, just provide a single numeric argument:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<img src='http://src.sencha.io/320/http://sencha.com/files/u.jpg' alt='My constrained image' width='320' height='200' />
And remember, Sencha.io Src always preserves aspect ratio, so in this example, we can still leave the height
attribute of 200px in the tag, even though it is not explicit in the src
.
Important note: Sencha.io Src will only shrink images. It will not enlarge them. If you were to specify the following:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<img src='http://src.sencha.io/1280/http://sencha.com/files/u.jpg' alt='My huge image' width='1280' height='800' />
…then the returned image would be the same as the original. This means that you should make sure the original graphics are large enough to fulfill your needs, especially for high-resolution smart-phone devices.
This is currently an experimental feature. Sencha.io Src provides a small JavaScript file which obtains the browser’s screen dimensions and places them in a cookie scoped to the src.sencha.io domain. Subsequent requests to Sencha.io Src to have an image resized can then refer to these dimensions rather than explicit values.
To insert the JavaScript into an HTML page, use the following snippet:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<script src='http://src.sencha.io/screen.js'></script>
Where you place this can matter. If you place it at the start of the document, it’s slightly more likely that the cookie has been set before the images within the page are downloaded – increasing the chance that your newly-measured dimensions can be used within this load of the page itself. By placing the script after the closing </body>
, however, increases the chance that the page has laid itself out, and this can sometimes affect some of the measurements made.
To constrain an image to the width of the device returned by the screen.width
measurement, insert it where you would have placed an explicit value:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<script src='http://src.sencha.io/screen.js'></script> <img src='http://src.sencha.io/screen.width/http://sencha.com/files/u.jpg' alt='My JS-measured image' />
You can also abbreviate the measurement names for brevity:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<script src='http://src.sencha.io/screen.js'></script> <img src='http://src.sencha.io/sw/http://sencha.com/files/u.jpg' alt='My JS-measured image' />
The full set of client measurements available, with abbreviations, is in the API summary at the end of this document
For example, if you wanted to include an image that was constrained by ‘available’ height and width measurements, you could use the following:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<script src='http://src.sencha.io/screen.js'></script> <img src='http://src.sencha.io/saw/sah/http://sencha.com/files/u.jpg' alt='My JS-measured image' />
Note: The document.body.*
properties are particularly affected by where you place the script snippet, although under certain conditions, window.outerHeight
will also vary on mobile browsers during page load. Also note that the values returned from many of these properties will depend upon the DOCTYPE of the document and any viewport scale setting. Real-device testing is highly recommended when using this experimental technique.
You may explicitly indicate the orientation of image constraints, by placing landscape
or portrait
in the URL, which will flip the width and height constraints if required. (Note that this will only have effect if the screen dimensions have been identified from the device’s user-agent: if you have explicitly specified a width and height, the flip will not occur.)
On an iPhone, for example, the following code will constrain an image to be 480px wide (and 320px high), instead of the normal 320 pixels wide (and 480px high):
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<img src='http://src.sencha.io/landscape/http://sencha.com/files/u.jpg' alt='Constrained to WxH, W greater than H' />
As a further experimental feature, client-side measurement can be attempted to detect the current orientation of a device, using the window.orientation
API. Specify detect
for the orientation to try to use the value that may have been recently sent by the screen.js
cookie:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<script src='http://src.sencha.io/screen.js'></script> <img src='http://src.sencha.io/detect/http://sencha.com/files/u.jpg' alt='Constrained according to orientation' />
Remember again that there is a very likely race condition whereby the cookie’s value may not be set before the image starts to download, and so the immediate effect may not be apparent in the first rendering of the page.
The test page for this experimental feature uses DOM manipulation on the document’s load
event to ensure the cookie is set, before inserting the resized element. Try it on a modern mobile device: rotate the device and reload the page to see the feature in action.
As we have seen, an explicit width or height before the URL will fix the image size. Sometimes, however, you want these dimensions to be based on physical screen size, but then altered slightly. For example you might notice in our example above that the 8 pixel white margin around the web page means that the 320-pixel-wide image actually truncates on the right hand side of the iPhone screen.
Instead of using absolute values, we can alter width and height parameters by prefixing operands with characters like -
, a
or x
. Under these conditions, the numbers would represent subtraction, addition and percentage scaling of the dynamic screen size, respectively.
So for example, if you wanted your image to be, at most, 16 pixels narrower than the width of the screen, (whatever that actually is), you would use -16
, as in the following:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<img src='http://src.sencha.io/-16/http://sencha.com/files/u.jpg' alt='My image, constrained to 16px less than the screen' />
This is useful if you wish to leave a border around your images or if you want to account for the scroll bar of the browser screen. On the iPhone example to the side, you should be able to see it now accounts for the default document margin effect.
Similarly, if you want to scale the graphic to a proportion of the screen, use the x
prefix. The value provided is interpreted as an integer percentage from 1 to 100.
So to ensure the image takes no more than half the screen, use x50
, as in the following:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<img src='http://src.sencha.io/x50/http://sencha.com/files/u.jpg' alt='My image, constrained by half the width of the screen' />
It is possible to use either of these modifiers on both the width and the height simultaneously.
For example, the following would ensure the image fitted into a quadrant of the screen (although in this case it has no effect):
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<img src='http://src.sencha.io/x50/x50/http://sencha.com/files/u.jpg' alt='My image, at most half width, half height' />
Different modifiers can be used for width and height. This example ensures the image will never run the width of the screen, but also that it doesn’t take up more than 15% of its vertical height. This obviously suits wide, landscape images best, such as banner ads, for example.
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<img src='http://src.sencha.io/-16/x15/http://sencha.com/files/u.jpg' alt='My image, constrained in banner-ad style' />
For completeness, the addition operator allows you to increase the image size. a20
will expand the constraints of the image by 20 pixels, for example. Remember, Sencha.io Src will never grow an image beyond its original size – but it might occasionally be useful if you have knowingly reduced an image’s size and then want to grow it slightly.
There is a rounding-down operator, r
, which will round a size down to the nearest multiple of that value. This might be useful if you have a tile- or column-based layout. The following will round down the constraint to ensure that the half-width image’s width is always a multiple of 20 pixels:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<img src='http://src.sencha.io/x50r20/http://sencha.com/files/u.jpg' alt='Half the screen, rounded down to nearest 20 pixels' />
Finally, you can specify a maximum value for the image’s size, so that you can be sure that, regardless of any other transformations, it does not exceed a limit. You can specify two maxima, to depend upon whether the browser has been identified as being mobile or non-mobile. For mobile browsers, the m
operator is obeyed, and for desktop browsers, the n
operator is used.
The code below will display an image no larger than 500 pixels on a desktop browser, and no larger than 100 pixels on a mobile browser:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<img src='http://src.sencha.io/n500m100/http://sencha.com/files/u.jpg' alt='Max 500 or 100, depending on browser' />
You can string together all of these formulaic operations. If you wanted to have two images side-by-side, with balanced margins, we can combine the -16
from the example above with x50
to halve the width.
The following approach might work well for a gallery app, for example:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<img src='http://src.sencha.io/-16x50-2/http://sencha.com/files/u.jpg' alt='My image, in a gallery' /> <img src='http://src.sencha.io/-16x50-2/http://sencha.com/files/u.jpg' alt='Another image, in a gallery' />
(Note we also deduct a further 2 pixels to account for the 4 pixel gap caused by whitespace between the <img>
tags in the markup.)
And finally, if the width (or height) does not start with -
, a
or x
modifiers, it is interpreted as an absolute pixel number upon which further operations can be applied. In other words, it is possible to specify 320-8
to get the same effect as using 312
explicitly.
This is particularly useful when you use the (experimental) client-side measurement technique, allowing you to deduct values from those measurements. This will use a client-side measurement of screen.width
and then deduct 16 pixels:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<img src='http://src.sencha.io/sw-16/http://sencha.com/files/u.jpg' alt='Client-measurement, reduced' />
You can use different techniques in different dimensions of course. This example constrains the image by half the width of the screen and exactly 90 pixels in height. This technique might be useful if you want your gallery to handle both landscape and portrait images alongside each other.
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<img src='http://src.sencha.io/-16x50/90/http://sencha.com/files/u.jpg' alt='My half-width image, not too tall' />
It is important to remember that in all these cases, however, the image retains its aspect ratio. Even if the resulting dimensions of the above examples are letterbox in shape, a portrait image will remain portrait.
You can specify the file format of the resulting image that’s returned from Sencha.io Src. You can choose either PNG or JPG encoding by using the png
or jpg
token. This parameter goes before the dimensions (if present) in the URL. In the following example, an original JPG is converted to both default, and explicitly resized, PNG images:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<img src='http://src.sencha.io/png/http://sencha.com/files/u.jpg' alt='My PNG' /> <img src='http://src.sencha.io/png/-16x50/http://sencha.com/files/u.jpg' alt='My small PNG' />
If not specified, Sencha.io Src will decide on a suitable format based on the original image. PNGs and JPGs will remain in their original format, and GIF images will get converted to PNG. Sencha.io Src will never emit a GIF.
Note that JPG is a ‘lossy’ encoding, so the quality of a resized JPG image will not necessarily be as good as the original PNG (although it should be smaller in file size). You can also take control of the degree to which the JPG is compressed, by appending a number between 1 and 100 to the end of the jpg
formatting token, like this:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<img src='http://src.sencha.io/jpg/-16/http://sencha.com/files/u.jpg' alt='My JPG' /> <img src='http://src.sencha.io/jpg2/-16/http://sencha.com/files/u.jpg' alt='My highly compressed JPG' />
It’s important to note that the compression will only change if the dimensions of the image have changed or if the original format was PNG and has been converted to JPG. If you have a small JPG image, smaller than the constraints you’ve specified for it, it will always remain with its original compression.
Also note that PNG images will lose their the alpha channel when converted to JPG, so you are advised to keep any PNG files with transparent regions in that format. Resizing PNG files while remaining in the same format, however, will preserve the alpha channel.
In some circumstances, you might want to return your image in an encoded format. In particular, images can be encoded into data URLs.
This is useful if you want to embed an image into the markup or stylesheet of a site or application, or if you want to cache an image resource offline in a textual form in a browser’s local storage. Unlike performing the toDataURL method of a <canvas>
element, using Sencha.io Src allows you to encode images from other origin servers.
To have Sencha.io Src return the requested image in data URL format, simply place ‘data’ as the first segment of the request:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.text .imp {font-weight: bold; color: red;}
.text span.xtra { display:block; }
http://src.sencha.io/data/http://sencha.com/files/u.jpg
This returns, as a plain text response:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.text .imp {font-weight: bold; color: red;}
.text span.xtra { display:block; }
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ...
You can use this on your server, or perhaps in a build environment, to create such URLs. But to be honest, you are more likely to prefer to use local base-64 encoding tools in those contexts. And in a browser environment, it is quite likely that this is also of little use, since browsers may not be able to make AJAX requests to src.sencha.io, a different origin server.
So the real power of this API comes from being able to use it in a JSON-P form. This allows you to specify the name of a local callback function, which, if present, will mean that Sencha.io Src returns a fragment of JavaScript that you can include in your document, and which calls that function.
The callback function is provided as a dotted-suffix to the ‘data’ segment. For example:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.text .imp {font-weight: bold; color: red;}
.text span.xtra { display:block; }
http://src.sencha.io/data.myCallBack/http://sencha.com/files/u.jpg
This will return, as a JavaScript response:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
myCallBack('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ...');
This now means that you can do something programmatically with the string – in the browser – such as set it as the source of an <img>
element or cache it to the browser’s local storage.
Because it’s possible you might want to run this callback multiple times with some sort of identifier to attach it to different <img>
elements throughout the document, the callback allows you to add additional initial arguments. If your callback name contains hyphens (-
), these are used as separators, and subsequent portions get treated as successive string arguments. (Also, the callback name itself can contain dotted syntax so you can invoke a method within an object or a function within a specific namespace).
So, for example:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.text .imp {font-weight: bold; color: red;}
.text span.xtra { display:block; }
http://src.sencha.io/data.MyApp.myCallBack-img2/http://sencha.com/files/u.jpg
This will return, as a JavaScript response:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
MyApp.myCallBack('img2','data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ...');
Typically, your callback would use that first argument as a way to reference an image within the document. This callback will be run asynchronously to the original JSON-P mechanism and scope, so otherwise you’d have no way to correlate responses with target elements.
Note that if you need to use hyphens in your arguments, you can use commas (,
), the presence of which means that that will be used as the separator instead of hyphens. For example:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.text .imp {font-weight: bold; color: red;}
.text span.xtra { display:block; }
http://src.sencha.io/data.MyApp.myCallBack,img-2,123/http://sencha.com/files/u.jpg
This will return:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
MyApp.myCallBack('img-2','123','data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ...');
The following is a full, working example, which replaces an hourglass image with the data URL for a tick:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<!DOCTYPE html> <html> <head> <title>Sencha.io Src stepping up a gear</title> <script type='text/javascript'> // run the JSON-P window.addEventListener("load", function () { var script = document.createElement("script"); script.setAttribute("src", "http://src.sencha.io/data.setDataUrl-img1/" + "http://famfamfam.com/lab/icons/silk/icons/tick.png" ); script.setAttribute("type","text/javascript"); document.head.appendChild(script); }, false); // the JSON-P callback function setDataUrl(id, dataUrl) { document.getElementById(id).src = dataUrl; }; </script> </head> <body> <img id='img1' src='http://famfamfam.com/lab/icons/silk/icons/hourglass.png' /> </body> </html>
Sencha.io Src caches images for up to one day. The cache is sensitive to all of the API settings above, so if you request or expect images with different sizes, formats or compression ratios, the cache will store each version.
Nevertheless, there are times when you might want to manually force Sencha.io Src to refetch an image from your server – such as when you have updated the original without changing its URL, for example. To force the cached version of an image to be ignored, add flush
to the start of the URL thus:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.text .imp {font-weight: bold; color: red;}
.text span.xtra { display:block; }
http://src.sencha.io/flush/http://sencha.com/files/u.jpg
This will always cause a new request to be made to the server and the cache updated accordingly.
This API flag should ONLY be used manually or for very short periods of time when you know a set of images should be refreshed. Not only will you invoke a lot of additional traffic to the origin server, but it will increase the latency of the user’s fetch of the images. If you have no need to urgently update images, you are strongly advised to wait 24 hours for the cache to expire naturally. Abuse of this flushing feature may result in it being removed.
Some browsers are not able to make large numbers of simultaneous requests to servers on the same domain, and a well-known technique for improving page load times is to host images on different domains so that more requests can be parallelized. Sencha.io Src facilitates this by allowing you to use the src1
to src4
subdomains in addition to just src
. So it’s possible to improve the likelyhood of efficient loading by cycling through these four sub-domains in the markup:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.javascript .imp {font-weight: bold; color: red;}
.javascript .kw1 {color: #000066; font-weight: bold;}
.javascript .kw2 {color: #003366; font-weight: bold;}
.javascript .kw3 {color: #000066;}
.javascript .co1 {color: #006600; font-style: italic;}
.javascript .co2 {color: #009966; font-style: italic;}
.javascript .coMULTI {color: #006600; font-style: italic;}
.javascript .es0 {color: #000099; font-weight: bold;}
.javascript .br0 {color: #009900;}
.javascript .sy0 {color: #339933;}
.javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #660066;}
.javascript span.xtra { display:block; }
<img src='http://src1.sencha.io/-16x50-2/http://sencha.com/files/u1.jpg' alt='My first parallel JPG' /> <img src='http://src2.sencha.io/-16x50-2/http://sencha.com/files/u2.jpg' alt='My second parallel JPG' /> <img src='http://src3.sencha.io/-16x50-2/http://sencha.com/files/u3.jpg' alt='My third parallel JPG' /> <img src='http://src4.sencha.io/-16x50-2/http://sencha.com/files/u4.jpg' alt='My fourth parallel JPG' />
Obviously this will be very useful when you have large numbers of resized images on a single page, and easy when you are looping over the images on the server-side anyway. In PHP, for example:
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.php .imp {font-weight: bold; color: red;}
.php .kw1 {color: #b1b100;}
.php .kw2 {color: #000000; font-weight: bold;}
.php .kw3 {color: #990000;}
.php .kw4 {color: #009900; font-weight: bold;}
.php .co1 {color: #666666; font-style: italic;}
.php .co2 {color: #666666; font-style: italic;}
.php .co3 {color: #0000cc; font-style: italic;}
.php .co4 {color: #009933; font-style: italic;}
.php .coMULTI {color: #666666; font-style: italic;}
.php .es0 {color: #000099; font-weight: bold;}
.php .es1 {color: #000099; font-weight: bold;}
.php .es2 {color: #660099; font-weight: bold;}
.php .es3 {color: #660099; font-weight: bold;}
.php .es4 {color: #006699; font-weight: bold;}
.php .es5 {color: #006699; font-weight: bold; font-style: italic;}
.php .es6 {color: #009933; font-weight: bold;}
.php .es_h {color: #000099; font-weight: bold;}
.php .br0 {color: #009900;}
.php .sy0 {color: #339933;}
.php .sy1 {color: #000000; font-weight: bold;}
.php .st0 {color: #0000ff;}
.php .st_h {color: #0000ff;}
.php .nu0 {color: #cc66cc;}
.php .nu8 {color: #208080;}
.php .nu12 {color: #208080;}
.php .nu19 {color:#800080;}
.php .me1 {color: #004000;}
.php .me2 {color: #004000;}
.php .re0 {color: #000088;}
.php span.xtra { display:block; }
$picture_urls = array( 'http://sencha.com/files/u1.jpg', 'http://sencha.com/files/u2.jpg', 'http://sencha.com/files/u3.jpg', 'http://sencha.com/files/u4.jpg' ); foreach ($picture_urls as $index=>$url) { $shard = $index % 4 + 1; print "<img src='http://src$shard.sencha.io/$url' />"; }
Suffice to say, on mobile devices, where latency is often more of a concern than throughput, maximizing the amount of parallelization the browser can perform is A Good Thing.
The full syntax of the Sencha.io Src API is as follows (with linebreaks added for clarity only):
/**
* GeSHi (C) 2004 – 2007 Nigel McNie, 2007 – 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.text .imp {font-weight: bold; color: red;}
.text span.xtra { display:block; }
http://src[shard].sencha.io [/flush] [/data] [/format[quality]] [/orientation] [/width[/height]] /url
Where:
flush
then original image is refetched and its cached copy updated.data
then Sencha.io Src returns a data URL. Also takes a callback suffix and arguments for JSON-P use.jpg
or png
. Defaults to the original image format.jpg
, a compression value from 1 to 100. Defaults to 85.http://
Formulaic adjustments use the following operators:
- |
deduct value |
x |
multiply by percentage |
a |
add value |
r |
round down to the nearest… |
m |
maximum for mobile browser |
n |
maximum for non-mobile browser |
Apps using screen.js
are also able to use the following client-side measurements (or their abbreviations) at the start of the width of height parameters:
Measurement | Abbreviation |
---|---|
screen.width |
sw |
screen.height |
sh |
screen.availWidth |
saw |
screen.availHeight |
sah |
window.outerWidth |
wow |
window.outerHeight |
woh |
window.innerWidth |
wiw |
window.innerHeight |
wih |
document.body.clientWidth |
bcw |
document.body.clientHeight |
bch |
document.body.offsetHeight |
boh |
document.body.offsetWidth |
bow |
It’s worth re-iterating that each aspect of the API we’ve described in this document can normally be used alongside others. You can resize images, convert their format, and turn them into data URLs – all in one go – if you want. Simply ensure that you adhere to the order of the URL fragments above to ensure that the service performs the transformations you need.
Have fun!
]]>
1.凸版纸
凸版纸是供凸版印刷书籍、杂志的主要用纸。凸版纸按纸张用料成分配比的不同,可分为1号、2号、3号和4号四个级别。纸张的号数代表纸质的好坏程度,号数越大纸质越差。凸版印刷纸主要供凸版印刷机使用。这种纸的特性与新闻纸相似,但又不完全相同。由于纸浆料的配比与浆料的叩解均优于新闻纸,凸版纸的纤维组织比较均匀,同时纤维间的空隙又被一定量的填料与胶料所充填,并且还经过漂白处理,这就形成了这种纸张对印刷的适应性。与新闻纸略有不同,它的吸墨性虽不如新闻纸好,但它具有吸墨均匀的特点;抗水性能及纸张的白度均好于新闻纸。凸版纸具有质地均匀、不起毛、略有弹性、不透明、稍有抗水性能、有一定的机械强度等特性。
重量: 49~60)±2克/平米。
平板纸的规格:787×l092毫米,850×ll68毫米,880xl230毫米;以及一些特殊尺寸规格的纸张。
卷筒纸的规格:宽度787毫米, 1092毫米, 1575毫米,长度约60m~80oo米。
2.新闻纸
新闻纸也叫白报纸,是报刊及书籍的主要用纸。新闻纸的特点有:纸质松软,富有较好的弹性;吸墨性能好,这就保证油墨较快地固着在纸而上;纸张经过压光后两面平滑,不起毛,从而使两面印刷品印迹比较清晰而饱满;有一定的机械强度;不透明性能好;适合于高速轮转机印刷。这种纸是以机械木浆(或其他化学浆)为原料生产的,含有大量的木质素和其他杂质。不宜长期存放。保存时间过长,纸张会发黄变脆,抗水性能差,不宜书写等。必须使用印报油墨或书籍油墨,油墨粘度不要过高,平版印刷时必须严格控制版面水分。
重量: 49~52 ) ±2克/平米。
平板纸规格:787×1092毫米,850x ll68毫米, 880x l230毫米。
卷筒纸规格:宽度787毫米,1092毫米, 1575毫米;长度约6000~8000米。
3.胶版纸
胶版纸主要供平版(胶印)印刷机或其他印刷机印制较高级彩色印刷品,如彩色画报、画册、宣传画、彩印商标及一些高级书籍,以及书籍封面,插图等。胶版纸按纸浆料的配比分为特号、1号和2号三种,有单面和双面,有超级压光与普通压光两个等级。
胶版纸伸缩性小,对油墨的吸收性均匀,平滑度好,质地紧密不透明,白度好.抗水性能强。应选用结膜型胶印油墨和质量较好的铅印油墨。油墨的粘度也不宜过高,否则会出现脱粉、拉毛现象。还要防止背面粘脏,一般采用防脏剂、喷粉或夹衬纸。
重量: 50,60,70,80,90,100, 120,150,180克/平米。
平板纸规格:787 ×l092毫米;850×1168毫米。
卷筒纸规格:787毫米,1092毫米,850毫米。
4.铜版纸
铜版纸又称印刷涂料纸,这种纸是在原纸上涂布一层白色浆料,经过压光而制成的。纸张表面光滑,白度较高,纸质纤维分布均匀,厚薄一致,伸缩性小、有较好的弹性和较强的抗水性能和抗张性能,对油墨的吸收性与接收状态十分良好。铜版纸主要用于印刷画册、封面、明信片、精美的产品样本以及彩色商标等。铜版纸印刷时压力不宜过大,要选用胶印树脂型油墨以及亮光油墨。要防止背而粘脏,可采用加防脏剂,喷粉等方法。
重量: 70,80,100, 120, 150,180,200,210,240,250克/平米。
平板纸规格:648×953毫米,787×970毫米,787×1092毫米
5.画报纸
画报纸的质地细白、平滑,用于印刷画报、图册和宣传画等。
重量:65 ,91和12克/平米。
平板纸规格:787×l092毫米。
6.书面纸
书面纸也叫书皮纸,是印刷书籍封面用的纸张。书面纸造纸时加了颜料,有灰、蓝、米黄等颜色。
重量:120克/平米。
平板纸规格:690×960毫米, 787×l092毫米。
7.压纹纸
压纹纸是专门生产的一种纣面装饰用纸。纸的表面有一种不十分明显的花纹。颜色分灰、绿、米黄和粉红等色,一般用来印刷单色封面。压纹纸性脆,装订时书脊容易断裂。印刷时纸张弯曲度较大,进纸困难,影响印刷效率。
重量:150~180克/平米。
平板纸规格:787×l092毫米,850×ll68毫米。
8.字典纸
字典纸是一种高级的薄型书刊用纸,纸薄而强韧耐折,纸面洁白细致,质地紧密平滑,稍微透明,有一定的抗水性能。主要供印刷字典、经典书籍一类页码较多、便于携带的书籍。字典纸对印刷工艺中的压力和墨色有较高的要求,因此印刷时必须从工艺上特别重视。
重量:30~40克/平米。
平板纸规格:787×l092毫米。
9.毛边纸
毛边纸纸质薄而松软,呈淡黄色,没毛。抗水性能,吸墨性较好。毛边纸只宜单面印刷,主要供古装书籍用。
10.书写纸
书写纸是供墨水书写的纸张,纸张要求书写时不泅。书写纸主要用厂印刷练习本、日记本、表格和帐簿等。书写纸分为特号、1号、2号、3号和4号。
重量:45,50,60,70,80克/平米。
平板纸规格: 427×569毫米, 596×834毫米, 635×lll8毫米, 834×ll72毫米,787×l092毫米。
卷筒纸规格:787毫米,1092毫米。
11.打字纸
打字纸是薄页型的纸张,纸质薄而富有韧性,打字时要求不穿洞,用硬铅笔复写时不会被笔尖划破。主要用于印刷单据、表格以及多联复写凭证等。在书籍中用作隔页用纸和印刷包装用纸。打字纸有白、黄、红、蓝、绿等色。
重量: 20~25克/平米。
平板纸规格:787×l092毫米, 560×870毫米,686×864毫米,559×864毫米。
12.邮丰纸
邮丰纸在印刷中用于印制各种复写本册和印刷包装用纸。
重量:25~28克/平米。
平板纸规格:787×l092毫米。
13.考贝纸
考贝纸薄有韧性,适合印刷多联复写本册;在书籍装帧中用于保护美术作品并起美观作用。
重量:17~20克/平米。
平板纸规格:787×l092毫米。
14.白版纸
白版纸伸缩性小,有韧性,折叠时不易断裂,主要用于印刷包装盒和商品装磺衬纸。在书籍装订中,用于无线装订的书脊和精装书籍的中径纸(脊条)或者封面。有特级和普通、单面和双面之分。按底层分类有灰底与白底两种。
重量:220, 240. 250, 280, 300, 350, 400克/平米。
平板纸规格:787×787毫米, 787×1092毫米, 1092×1092毫米。
15.牛皮纸
牛皮纸具有很高的拉力,有单光、双光、条纹、无纹等。主要用于包装纸、信封、纸袋等和印刷机滚筒包衬等。
平板纸规格:787×1092毫米,850xll68毫米,787×ll90毫米,857×ll20毫米
超级压光凸版纸 超级压光胶版纸 普通压光胶版纸 单面胶版纸 书 皮 纸 打 字 纸 画报印刷纸 字 典 纸 招 贴 纸 薄 页 纸 凹版印刷纸 白 卡 纸 米 卡 纸 证 券 纸 铜版纸(胶版涂料纸) 铜版纸(凸版涂料纸)
]]>
最近微博上屁民们比较关注的是北京的空气质量状况。美国驻华使馆每日发布的北京PM2.5监测数据不停刷新前一记录,最高指数为522,超过了最高污染指数500,也因“超出该污染物的值域”,在美国环保局网站上无法转换为空气质量指数。而北京环保局一直却说,北京空气为轻度污染.!
本来打算以后北上赴京找工作的,现在不敢去了,为了健康、生命,我还是去别地儿吧,也替北京的哥们担心啊,保重身体!
]]>很多人都把创业比作商海中的一叶扁舟,那我就在这儿起草一个我认为的“船长”应该是个什么样子。
1. 经营决策权必须掌握在船长手中
民主经营适合于已经经营稳定的大船,郎咸平说实施民主的目的不是让结果变得最好,而是保证大船的公共利益不因为某个人的专制而变得最糟。民主可能会影响创新,但它可以保证结果不是最坏。如果我们是打算创业的一叶扁舟,那么必须船长一人专制,其它人任何人都可以有建议权,但仅仅是建议权。
2. 兼职想做一些有意义的事时,一切凭自愿
有时候你还没有磨砺成为一个可以带领船队航行的船长,但是你有这样的心和梦想,想利用工作之余跟志趣想投的几个朋友一块做一件未来可能会成为事业的事情。这时候跟你一块参与的人顶多算是半只脚踏在了这只船上,从事实上讲这是可利用但非稳定可靠的资源,维系这一良好关系的唯一原则就是:一切凭自愿。所以,你兼职的项目计划不要做的太满。可以不断向团队传递信心,哪怕他们只是参与做点滴的事情,但一定要保证是在做正向的积累。如果这时候需要有费用支出,也建议由船长个人承担。参与成员只贡献时间和能力。不要让成员在兴趣背后还有个经济负担。如果有成员自愿承担一部分费用也可以,但是船长不可以动员。同时,将来如果有收益了,成员的自愿支出费用应该及时得到几倍于原来的补偿。总是,还是那条原则:一切凭自愿,不然你可能连找到志趣相投的人一块从零开始实践的机会都没有。
3. 如果是注册公司创业,为自己和所有人做好一到两年的准备
如果是要成立公司全职的做一件事情,这时候成员不再是半只脚踏在你的船上,你在获得资源的同时也意味着责任。所以要为你自己和所有人做好一到两年的准备。建议员工的薪水不要低于社会平均值,承诺核心成员可以与创始人将来一起参与首轮分红的权力。充分了解员工每一位的特长,根据当下形式做对正确的事情。成员们工作可以紧张,但是否能够做到有序取决于你提前的策划能力。
4. 开始盈利以后,做到公平和激励
在公司有盈利能力以后,必须用一种方式兑现当初对核心成员或元老们要实现共同富裕的承诺。对于当初有经济支出的人士优先以公司财务的名义进行几倍于原来金额的返还(这并不是风险投资,而是借钱发财,有钱返还的一种感恩)。兑现承诺时可以核心成员2/3投票通过必须把每年利润的20%(或多少)拿出来分红,按过去大家贡献的大小来分成,即使金额很小,也有必要养成这一习惯。每年利润分成的比例不经投票通过创始人不得改动,以避免少数创始人见钱眼开,不愿分红的情况出现。全体员工的薪水在有条件的情况下,要比行业正常值高10-20%(因为大多数员工都自我认为他的能力至少比别人会高20%),并告诫员工:公司不可能给你降薪水,但有可能会因为你的自我懒散而被公司清退,以激励员工根据当前的薪水不断努力向前。(意思是说你当前的高薪水并不是你过去的能力就可以完全羸得的,而是寄希望于你有20%的努力才提前发放给你的。)
5. 实现抱负后,让稳定项目有序经营,开创项目实验经营
在创始人及核心成员的理想和财富目标实现以后,对于有意愿的员老可以鼓励其出去创业,同时每年依然给予一个较低份额的分红比例,以铭记他对公司的贡献。如果是上市公司,根据他个人意愿,他还可以多购买公司的股票。对于出去创业的元老三年以内不得从事与公司经营有直接竞争关系的业务,否则分红权力取消。对于想留在公司一直到退休的员老,可以鼓励其自由弹性的工作制度,逐步把工作内容过度给年轻的员工,而他薪水每年照拿,更多的则作为公司的顾问力量,这样也是让他后半生的生活更有质量,想去旅游或什么都可以,不用天天来公司上班。对于创始人自己看其意愿是愿意不断打造团队的经营理念,还是愿意再去创立其它的项目。原则上即使聘请经理人,也是从公司内部选拔,以确保经过多年的磨合可以深刻理念公司的经营理念和原则。与原有项目相关的任何重大决策,此时原则上要以民主的方式通过,以确保公司这一大群人的利益,不会因为某个人的专制而变得最糟。即使看似机遇的经营方向,也是成立经营小组,在一定小范围内去实验经营,为公司的创新保留一个机会。
]]>今晨,苹果董事会声明:我们沉痛宣布,史蒂夫·乔布斯今天去世。他对妻子劳伦和家庭付出了极大的爱。我们向他的家人,以及所有被他的杰出天才而触动的人表达哀悼之情。史蒂夫的才华、激情和精力是无尽创新的来源,丰富和改善了我们的生活。世界因他无限美好。苹果公司网站发布的消息说:“苹果失去了一位富有远见和创造力的天才,世界失去了一个不可思议之人。” 苹果公司网站首页目前已换成乔布斯大幅照片,以及“1955-2011”字样。Sad, Steve Jobs。
苹果的官方悼词如下:
苹果失去了一位远见卓识,开拓创新的天才;世界失去了一位令人惊叹的人物;我们这些有幸了解、并与乔布斯共同工作过的人,失去了一位密友,以及一位善于鼓舞人心的导师。Steve 留给我们一个只有他才能创建的公司,他的精神永远是苹果的基石。
苹果董事会的消息如下:
我们非常沉重地宣布,Steve Jobs 在今天离开了这个世界。
Steve 的天才、热情以及能量是无数创新的源泉,这些创新丰富了我们的生活。世界因他而变得美好。
他深爱着他的妻子,Laurene,以及他的家庭。我们的心,与他的家庭,以及所有被他非同一般的天才所感动的人,同在。
乔布斯家庭声明部分内容:
今天,在家人的陪伴下,Steve 平静地走完了人生的最后历程……我们知道很多人会与我们一起哀悼,我们也希望在这段悲痛的日子里,你们能够尊重我们的隐私。
来自对手兼朋友 — 比尔 盖茨:
我对 Steve Jobs 的逝世感到沉痛。Melinda 和我对 Jobs 的家庭,朋友以及所有与 Jobs 共事过的人表示最真诚的哀悼。
Steve 和我第一次见面是在 30 年前。在事业上,也在我们半生的经历中,我们曾经是同学、竞争对手以及朋友。
世界上很少有人能像 Steve 这样对这个世界产生如此大的影响,而这种影响,将在以后的岁月里,不断流转。
与他共事是无比的荣耀,我们将永远记住 Steve。
Tim Cook 至苹果员工的信函:
我有一些非常糟糕的消息要告诉你们:今天,Steve 离开了我们。
苹果失去了一位远见卓识,开拓创新的天才;世界失去了一位令人惊叹的人物;我们这些有幸了解、并与乔布斯共同工作过的人,失去了一位密友,以及一位善于鼓舞人心的导师。Steve 留给我们一个只有他才能创建的公司,他的精神永远是苹果的基石。
我们将很快举办一场纪念 Steve 非同一般生涯的活动,如果你想在其中分享你的想法,记忆以及哀痛的话,请发送 Email 到 [email protected]。
没有任何词句足以表述我们对于 Steve 离去的悲痛之情,也无法表达我们对于有幸与他共同工作的感激。我们将继续致力于他深爱的事业,并以此作为最大的纪念。
Mark Zuckerberg 在自己的 Facebook 主页上:
]]>Steve,感谢身为导师以及朋友的你,谢谢你向我展示了,你所构建的一切,真的能够改变世界。我会想念你的。
各搜索引擎的快照和收录速度正常。
下一步开始有目的地进行SEO优化,现在已经选择了几个长尾关键词。
]]>一转眼又一年过去了。
工作也快两年了。今年是工作马马虎虎,学习没多少进步,哎······一言难尽啊。来年可能有很多可能····是去是留,去向何方,决定很难做啊。
不管怎样,过年就应该什么都不要想,快快乐乐过个红红火火的大年。
在这里给大家拜个早年,祝大家新春快乐,新的一年里大战红兔、兔年行大运、身体健康,阖家欢乐,工作顺利,万事如意!
]]>QQ、360两款软件无法共存,可牛联合金山为QQ用户提供全套安全解决方案 。
新浪UC也开始卖力地趁机推广自己。
各种杀毒软件有也纷纷站出来说自己可以代替360安全卫士。
今天,势必是中国互联网数年来最风云变幻的一天。腾讯和360这样两个拥有亿级安装量的客户端软件经过一系列口水战和客户端弹窗大战升级之后,在腾讯的主动出击下,把选择权最终留给了用户,并且,这种口气看起来是没有退让的余地的。
这趟浑水越来越大,越来越多的互联网、安全软件等巨头都纷纷往下跳。
连国外的卡巴斯基也趁乱推出专题和激活码。
搜索引擎里搜MSN和skype下载的网民也越来越多。
虽然我是一个局外人,但是作为一个同时使用360安全卫士和腾讯QQ的网民,作为一个关注互联网的“博主”,我也很想向身边的朋友、同事、亲人解释说明这起事件的来龙去脉,但是却发现不能改变什么。
如果说这个世界上用户使用量和功能上能比得上QQ的,只有MSN和gtalk还有skype了。
MSN体积太大是一个大部分人不想使用它的原因,还有很多其他的使用习惯不同导致MSN没办法在普通网民中普及,但是有一个叫MSN Lite的MSN客户端,体积只有4M左右,而且功能上比MSN LIVE强大,正如其官网上所说的…http://msnlite.org
Gtalk这个google的产品或许对很多普通网民来说还很陌生,但是它在国际上的知名度和使用人数,却不一般。在这场不见硝烟却不是你死就是我忘的战争之后,或许你可以试一下Gtalk。(人民网的文章)
新浪网的专题:奇虎360与腾讯的纷争
]]>