Web 开发中 9 个有用的提示和技巧

在本文中,我们给出 9 个有用的 HTML、CSS 和 JavaScript 的技巧和提示,可能在做 Web 开发中经常会需要用到的,其中有几个是关于 HTML5 和 CSS3 的,如果你是一个前端开发者,那么或许对你有些用处。

1. 使用 html5 的 placeholder 属性
以前我们经常要写不少JavaScript 的代码来实现现在HTML5 的 placeholder 属性的功能,一个输入框在没获取焦点时显示某个提示信息,当获得输入焦点就自动清除提示信息,目前支持该属性的浏览器有:Opera 11+, Firefox 9+, Safari 5+, IE 10+,不过下面提供的代码对于不支持 placeholder 的浏览器也适用:

// jQuery code

var i = document.createElement("input");

// Only bind if placeholder isn‘t natively supported by the browser

if (!("placeholder" in i)) {

$("input[placeholder]").each(function () {

var self = $(this);

self.val(self.attr("placeholder")).bind({

focus: function () {

if (self.val() === self.attr("placeholder")) {

self.val("");

}

},

blur: function () {

var label = self.attr("placeholder");

if (label && self.val() === "") {

self.val(label);

}

}

});

});

}

<!-- html5 -->

<input type="text" name="search" placeholder="Search" value="">
2. 使用 font face
你可以通过 font face 来使用一些更好的独特的字体,支持多数浏览器:Opera 11+, Firefox 3+, Safari 5, IE6+

@font-face {

font-family: ‘MyWebFont‘;

src: url(‘webfont.eot‘); /* IE9 Compat Modes */

src: url(‘webfont.eot?#iefix‘) format(‘embedded-opentype‘), /* IE6-IE8 */

url(‘webfont.woff‘) format(‘woff‘), /* Modern Browsers */

url(‘webfont.ttf‘) format(‘truetype‘), /* Safari, Android, iOS */

url(‘webfont.svg#svgFontName‘) format(‘svg‘); /* Legacy iOS */

}

body {

font-family: ‘MyWebFont‘, Fallback, sans-serif;

}
3. Box Sizing
好吧,我会说这是我最近最喜欢的CSS属性。它可以解决布局问题。例如,当您添加一个textfield填充,宽度将是文本框的宽度+填充,这很烦人,它通常将打破布局。然而,通过使用这个属性,它解决了这个问题。

支持的浏览器:Opera 8.5+, Firefox 1+, Safari 3, IE8+, Chrome 4+

textarea {

-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */

-moz-box-sizing: border-box; /* Firefox, other Gecko */

box-sizing: border-box; /* Opera/IE 8+ */

}
4. 禁用 Textarea 的大小改变
有些时候你不需要用户可以改变多行文本输入口 textarea 的大小,可是一些基于 Webkit 的浏览器(例如 safari 和 chrome)就可以让用户随意更改 textarea 大小,好在你可以禁用这个特性:

textarea {

resize: none

}
5.jQuery.trim()
用来去除字符串前后的空格:

$.trim(" a lot of white spaces, front and back! ");
6. jQuery.inArray()
用来判断某个元素是否在数组之中:

var arr = [ "xml", "html", "css", "js" ];

$.inArray("js", arr);

7. 编写一个简单的 jQuery 插件(模板)

//You need an anonymous function to wrap around your function to avoid conflict

(function($){

//Attach this new method to jQuery

$.fn.extend({

//This is where you write your plugin‘s name

pluginname: function() {

//options

var defaults = {

option1: "default_value"

}

var options = $.extend(defaults, options);

//a public method

this.methodName: function () {

//call this method via $.pluginname().methodName();

}

//Iterate over the current set of matched elements
return this.each(function() {

var o = options;

//code to be inserted here

});

}

});

//pass jQuery to the function,

//So that we will able to use any valid Javascript variable name

//to replace "$" SIGN. But, we‘ll stick to $ (I like dollar sign: ) )

})(jQuery);
8. 扩展 jQuery 选择器的功能

jQuery.expr[‘:‘].regex = function(elem, index, match) {

var matchParams = match[3].split(‘,‘),

validLabels = /^(data|css):/,

attr = {

method: matchParams[0].match(validLabels) ?

matchParams[0].split(‘:‘)[0] : ‘attr‘,

property: matchParams.shift().replace(validLabels,‘‘)

},

regexFlags = ‘ig‘,

regex = new RegExp(matchParams.join(‘‘).replace(/^s+|s+$/g,‘‘), regexFlags);

return regex.test(jQuery(elem)[attr.method](attr.property));

}

/******** Usage ********/

// Select all elements with an ID starting a vowel:

$(‘:regex(id,^[aeiou])‘);

// Select all DIVs with classes that contain numbers:

$(‘div:regex(class,[0-9])‘);

// Select all SCRIPT tags with a SRC containing jQuery:

$(‘script:regex(src,jQuery)‘);
9. 优化并降低 PNG 图像文件的大小
你可以通过降低颜色数来降低png文件的大小,详情请看 PNG file optimization

结论
前端开发是一个非常有趣的领域,我们永远不能能学到一切。每次我工作的一个新项目,我总是觉得自己发现一些新的或奇怪的东西。我觉得这几个技巧,将是非常方便和有用的;)

Web 开发中 9 个有用的提示和技巧

时间: 2024-12-11 13:57:04

Web 开发中 9 个有用的提示和技巧的相关文章

Web 开发中 20 个很有用的 CSS 库

转自:http://www.oschina.net/translate/css-libraries-for-developers 在过去的几年中,CSS已经成为一大部分开发者和设计者的最爱,因为它提供了一系列功能和特性.每个月都有无数个围绕CSS的工具被开发者发布以简化WEB开发.像CSS 库,框架,应用这样的工具能够为开发者做很多事,而且可以使开发者创造出创新立异的WEB应用. 在这篇文件章中我们找到了一系列对开发者有用的CSS库,它们能帮助开发者在一定的期限内取得有创造性和创新性的成果.我们

Web 开发中很有用的8款在线工具

在工作中借助一些非常好用的工具可以让你专注于更重要的事情,进而提高工作效率.本文收集了一些在 Web 设计和开发中很有帮助的在线工具分享给大家,希望对你有帮助. ProCSSor ProCSSor是一个很不错的CSS代码美化工具,它可以帮助你很轻松的把代码转换成很美观. jsFiddle JsFiddle有多种用途,其中一个用法就是可以在线编辑HTML, CSS 和JavaScript片段,而且代码可以分享,还可以嵌入到你的博客中等等. Frame Box Frame Box是一个非常好用的用于

Web 开发中很实用的10个效果【附源码下载】

在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记得收藏:) 超炫的页面切换动画效果 今天我们想与大家分享一组创意的页面切换熊效果集合.我们已经在示例中罗列了一组动画,可以被应用到页面切换过程中,创造出很有趣的导航效果. 立即下载      在线演示 美!视差滚动在图片滑块中的应用 视差滚动(Parallax Scrolling)已经被广泛应用于网

Web 开发中很实用的10个效果

在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记得收藏! 超炫的页面切换动画效果 今天我们想与大家分享一组创意的页面切换熊效果集合.我们已经在示例中罗列了一组动画,可以被应用到页面切换过程中,创造出很有趣的导航效果. 在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是

WEB开发中的字符集和编码

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption

Web开发中前台与后台技术小结--关于EL表达式,JSTL,eval()函数

在我们日常Web开发中,常常用到EL表达式,JSTL标签,还有可能用到JavaScript中的eval().下面就这样技术和函数小小说明一下. EL(Expression Language),全称表达式语言,既然是开发语言,那么就像Java等语言一样是用来写语句的,通常是用在JSP页面中,我们为了获取JSP提供的内置对象的属性值, 我们通常会使用到EL表达式,比如开发中常见的一个需求就是获取项目的根目录,如果项目的名值变化了,我们在指定路径时,如果把项目的根目录用一个变量来表示的话,那么就不 需

【转载】Web 开发中很实用的10个效果【附源码下载】

超炫的页面切换动画效果 今天我们想与大家分享一组创意的页面切换熊效果集合.我们已经在示例中罗列了一组动画,可以被应用到页面切换过程中,创造出很有趣的导航效果. 立即下载      在线演示 美!视差滚动在图片滑块中的应用 视差滚动(Parallax Scrolling)已经被广泛应用于网页设计中,这种技术能够让原本平面的网页界面产生动感的立体效果.美女很养眼吧 :) 源码下载      在线演示 网页边栏过渡动画 以细微的过渡动画显示一些隐藏的侧边栏,其余的内容也是.通常侧边栏滑入,把其他内容推

java web开发中的奇葩事web.xml中context-param中的注释

同事提交了代码.结果除同事之外,其他人全部编译报错.报错说web.xml中配置的一个bean 没有定义.按照报错提示,各种找,无果. 由于代码全部都是提交到svn主干,之前也没有做过备份,只能一步一步删除同事提交的代码,进行还原. 奇葩事情出现了! <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:/context_entry.xml

web开发中的安全问题

web开发中很多东西由前段来负责判断,比如常见的邮箱 电话号码,前端判断到不是一个正确的格式,在你点击提交时候提示你格式填错了,然后不请求后端php,直到你填写正确的格式为止.这种其实可以修改js或者干脆用python里面的requests之类的http请求库直接请求接口,那么可以成功把错误的东西提交给后端进而存储到数据库了,那么这种就不太好了. 如果系统不重要,用的人不多,可以勉强放过这一点. 但有的很重要的系统,尤其涉及到金钱的接口,后端必须也做好验证.否则有人利用漏洞来破坏规则,造成金钱的