经验几则 推荐

以下是我开发时碰到的问题以及心得经验,花了些时间调试,贴出来避免大家少走弯路,如有错误欢迎指正,持续更新ing 
xml文件尽量以utf-8编码,gb2312有些字是存储不了的,如©,就算能存也需要转换,比较麻烦,utf-8也符合国际规范 
CSS中:hover这个伪类,如果放在:visited前面则会失效 
<a>标签如果没有href属性,所有对它的css的伪类如:hover均失效 
js文件中用document.wirte("<script language='javascript' src='" + file + "'></" + "script>"形式的引用,其file相对路径均为引用该js的html的路径。

如:a.htm 引用x\b.js,b.js引用x\c.js,则file应该为x\c.js而不是相对b.js的直接路径c.js,而css中的@import,url()引用不存在这个问题

在页面中,有时talbe的宽设置为100%右边也会留下一个滚动条的空白,请设置<body style="overflow:auto"> 
对于常用的图片不要用img标签,使用<span><a>并用css指定其背景和宽高,对于做动态的(移上去变背景),使用<a>最好,不需要额外编写代码,只要利用伪类:hover就好了,使用css好处是一次改变全部改变,这点可以很好的利用在换皮肤的应用中 
@font-face {
font-family:comic;
src:url(http://valid_url/some_font_file.eot);
}
定义一种在本地没有的字体名称,调用<span style="font-family:comic;font-size:18pt>aa</span> 
几个CSS
div { overflow: hidden;text-overflow:ellipsis; } 
td { vertical-align : middle; } 
要强制溢出发生并且应用 ellipsis 值,作者必须设置对象的 white-space 属性值为 nowrap 。
假如没有换行机会(例如,对象容器的宽度是狭窄的,而内有很长的没有合理断行的文本),没有应用 nowrap 也有可能溢出。
为了使 ellipsis 值被应用,此属性必须被设置到具有不可视区域的对象。最好的选择是设置 overflow 属性为 hidden 
firefox的document.createElement不支持内容里有HTML标签,也不支持innerText,但是支持innerHTML,可以用innerHTML指定其内容 
.net控件里DropDownList在firefox下的宽度不着色,需要直接定义style='width:10px;' 
firefox中css的cursor不支持hand,使用pointer代替 
iframe里的滚动条需要在iframe标签里设置style='overflow:hidden',不能仅仅在body里设置,在firefox会有问题 
在onpropertychange事件时,注意使用event.propertyName对属性改变事件过滤,在设置本事件时,其实已经改变了onpropertychange这个属性,所以会自动的执行一次 
js5.6里的对XSL的支持版本较低,如document函数就不支持 
slice函数比直接循环获取数组片断慢 
nextSibling获得下一个对象时,需要注意,两个节点间不要有空格,否则很容易获取不到正确得对象 
CreateTextFile在有中文时必须指定第三个参数为true,否则不能写入中文,表现为Write写时报错 
保存中文文本时使用ADODB.stream,不使用fso,因为FSO不支持utf-8格式 
2.  锚的伪类 
我们最常用的是4种a(锚)元素的伪类,它表示动态链接在4种不同的状态:link、visited、active、hover(未访问的链接、已访问的链接、激活链接和鼠标停留在链接上)。我们把它们分别定义不同的效果: 
a:link{color:#FF0000;text-decoration:none}/*未访问的链接*/ 
a:visited{color:#00FF00;text-decoration:none}/*已访问的链接*/ 
a:hover{color:#FF00FF;text-decoration:underline}/*鼠标在链接上*/ 
a:active{color:#0000FF;text-decoration:underline}/*激活链接*/ 
(上面这个例子中,这个链接未访问时的颜色是红色并无下划线,访问后是绿色并无下划线,激活链接时为蓝色并有下划线,鼠标在链接上时为紫色并有下划线) 
注意:有时这个链接访问前鼠标指向链接时有效果,而链接访问后鼠标再次指向链接时却无效果了。这是因为你把a:hover放在了a:visited的前面,这样的话由于后面的优先级高,当访问链接后就忽略了a:hover的效果。所以根据叠层顺序,我们在定义这些链接样式时,一定要按照a:link,a:visited,a:hover,a:actived的顺序书写。

(0)

相关推荐

  • 经验几则 推荐

    以下是我开发时碰到的问题以及心得经验,花了些时间调试,贴出来避免大家少走弯路,如有错误欢迎指正,持续更新ing  xml文件尽量以utf-8编码,gb2312有些字是存储不了的,如©,就算能存也需要转换,比较麻烦,utf-8也符合国际规范  CSS中:hover这个伪类,如果放在:visited前面则会失效  <a>标签如果没有href属性,所有对它的css的伪类如:hover均失效  js文件中用document.wirte("<script language='javasc

  • JSP和Struts解决用户退出问题

    在一个有密码保护的Web应用中,正确处理用户退出过程并不仅仅只需调用HttpSession的invalidate()方法.现在大部分浏览器上都有后退和前进按钮,允许用户后退或前进到一个页面.如果在用户在退出一个Web应用后按了后退按钮浏览器把缓存中的页面呈现给用户,这会使用户产生疑惑,他们会开始担心他们的个人数据是否安全.许多Web应用强迫用户退出时关闭整个浏览器,这样,用户就无法点击后退按钮了.还有一些使用javascript,但在某些客户端浏览器这却不一定起作用.这些解决方案都很笨拙且不能保

  • Python数据抓取爬虫代理防封IP方法

    爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息,一般来说,Python爬虫程序很多时候都要使用(飞猪IP)代理的IP地址来爬取程序,但是默认的urlopen是无法使用代理的IP的,我就来分享一下Python爬虫怎样使用代理IP的经验.(推荐飞猪代理IP注册可免费使用,浏览器搜索可找到) 1.划重点,小编我用的是Python3哦,所以要导入urllib的request,然后我们调用ProxyHandler,它可以接收代理IP的参数.代理可以根据自己需要选择,当然免费的也是有

  • MyBatis还是JPA?终于有答案了

    对于一个和数据库打交道的程序员来说,很快会面临着一个艰难的选择.到底是选择MyBatis还是JPA呢? 很多人说,技术选择,都要根据需求来,这个没错.但是,除了需求,还有很重要的一个环节,那就是队友的水平.如果你选择了一些比较高级的技术,那么就是在给整个团队埋坑. JPA的抽象层次更高,代码写起来也更简洁,但是它一点都不简单.虽然经过了多次的培训,我呆过的几个团队,还是把它用的和屎一样. 我扔掉了JPA 我仔细想了一下,有下面几点原因,造成了JPA在很多团队根本就玩不下去. JPA适合业务模型固

  • 使用bootstrap validator的remote验证代码经验分享(推荐)

    这里需要说一下,bootstrapvalidator的帮助文档写的比较简单,对于remote验证器的说明更是如此,在经历多方测试之后才明白如何使用这个验证器. 一个典型的ajax验证代码如下: 服务端验证代码(使用spring mvc)如下: /* * 返回String类型的结果 * 检查用户名的合法性,如果用户已经存在,返回false,否则返回true(返回json数据,格式为{"valid",true}) */ @RequestMapping(value = "/chec

  • 如何写好一个vue组件,老夫的一年经验全在这了(推荐)

    一个适用性良好的组件,一种是可配置项很多,另一种就是容易覆写,从而扩展功能 Vue 组件的 API 来自三部分--prop.事件和插槽: prop 允许外部环境传递数据给组件 event 允许从组件内触发外部环境的副作用 slot 允许外部环境将额外的内容组合在组件中 prop 组件具有自身状态,当没有相关 porps 传入时,使用自身状态完成渲染和交互逻辑:当该组件被调用时,如果有相关 props 传入,那么将会交出控制权,由父组件控制其行为 仅一个值传入组件 如果该组件设计上支持双向绑定,可

  • mysql大数据查询优化经验分享(推荐)

    正儿八经mysql优化! mysql数据量少,优化没必要,数据量大,优化少不了,不优化一个查询10秒,优化得当,同样查询10毫秒. 这是多么痛的领悟! mysql优化,说程序员的话就是:索引优化和where条件优化. 实验环境:MacBook Pro MJLQ2CH/A,mysql5.7,数据量:212万+ ONE: select * from article INNER JOIN ( SELECT id FROM article WHERE length(content_url) > 0 an

  • 我放弃Python转Go语言的9大理由(附优秀书籍推荐)

    前言 Go大概2009年面世以来,已经8年了,也算是8年抗战.在这8年中,已经有很多公司开始使用Go语言开发自己的服务,甚至完全转向Go开发,也诞生了很多基于Go的服务和应用,比如Dokcer.k8s等,很多的大公司也在用,比如google(作为开发Go语言的公司,当仁不让).Facebook.腾讯.百度.阿里.京东.小米以及360,当然除了以上提到的,还有很多公司也都开始尝试Golang,这其中是什么原因呢?让我们来一起分析分析. 原因 1:性能 Go 极其地快.其性能与 Java 或 C++

  • MySQL 性能优化的最佳20多条经验分享

    当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能.这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库.希望下面的这些优化技巧对你有用. 1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的.当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了. 这里最主要

  • javascript又一解密过程,推荐的,会这个基本上好多都能解决了第1/2页

    javascript又一解密过程,推荐的,会这个基本上好多都能解决了[常规准备] 1.首先尝试掌握代码的大体结构. 这需要一定的经验.首先是做hutia已经做了的事情(虽然这一步在这个具体的情况下也可以跳过,但是不推荐如此),先把编码的文字显形.有很多办法可选,有一种办法是把编码的字符串写到textarea里. fdfe.value='window["\x65\x76\x61\x6c"](function(j1,J2,o$dTaJ3,La4,TpmmvDvtz5,aOuL$Vsk$6)

随机推荐