让代码飞一会儿:快速编写 HTML 和 CSS 的工具和技术

 你曾经考虑过想要加快 HTML 和 CSS 编码速度吗?不管你是否想过,都来看看这篇文章吧,你会从中学到很多东西。我们要讨论的不是 CSS 网格框架,也不是 CSS Reset。在这篇文章中,我们关注的是不同寻常的编码方式——CSS 编译器以及 HTML 缩写编码技术。借助这些优秀的工具和技术,能够大大的减少开发时间,加快开发进度。

HTML

  加快 HTML 编码的方法有很多,这里我们要介绍的是 HTML 缩写技术。取代传统的编写完整 HTML 标签,我们只需要编码缩写代码就能扩展到完整的HTML标记,一个简单的例子:#container将被转换成<div id="container"></div>。实现 HTML 缩写技术,有两种著名的解决方案——Zen Coding 和 HAML。

Zen Coding

  

  Zen Coding 是一个用于快速编写 HTML,CSS,XML,XSL 或者其他结构化格式语言编码的插件,包括 Zen HTML 和 Zen CSS 两部分。这个插件核心是一个强大的缩写引擎,允许你扩展表达式。支持Aptana/Eclipse、TextMate、Coda、Notepad++、Espresso、Dreamweaver、UltraEdit、Visual Studio、NetBeans、EmEditor、Vim等所有常见的编码工具。强烈推荐给编写 HTML 和 CSS 代码的朋友,让你代码飞起来!

Haml

  

  Haml 的作者 Hampton Catlin 是这样介绍 Haml 的:Haml 是对传统 XHTML 生成方式的一种反叛,它既不是纯粹的代码,也不是一种文本处理语言,它是与众不同的,是一种在我看来最为自然的 XHTML 构造方式。Haml 是 Rails 下的一种可选模板语言方案,使用 CSS 风格的语法来描述 DIV 的 ID 和 Class,以更加优雅简洁的方式编写 HTML 代码。

  这是我从 Haml 网站拿过来的一个示例,你将看到编写 HTML 代码是多么的迅速。

#profile
  .left.column
    #date= print_date
    #address= current_user.address
  .right.column
    #email= current_user.email
    #bio= current_user.bio

  Haml 模板引擎能够把上面的代码生成如下的标准 HTML 代码:

<div id="profile">
  <div class="left column">
    <div id="date"><%= print_date %></div>
    <div id="address"><%= current_user.address %></div>
  </div>
  <div class="right column">
    <div id="email"><%= current_user.email %></div>
    <div id="bio"><%= current_user.bio %></div>
  </div>
</div>

CSS

  和 HTML 一样,快速编写 CSS 代码的方法也有很多,这里向大家介绍一项非常酷的东西——CSS 编译器,我个人觉得这是提供 CSS 编码速度最有效的方法。只是,你需要花一点点时间学习新的语法,新语法非常简单,你很快就能学会。

所有的 CSS 编译器都有如下共同点:

  • 新的语法,通常很容易就能学会
  • 允许嵌套规则,定义变量,混合类型,继承
  • 生成格式化良好的 CSS 文件

Sass

 

  Sass 让 CSS 代码变得更加有趣,Sass 扩展了 CSS3,增加了规则嵌套、变量定义、混合类型、选择器、继承等等特性,能够生成良好格式化的 CSS 代码,易于组织和维护。它能将类似 CSS 但是书写更简洁的 Sass 语言最终转换为 CSS 代码。Sass 提供了基于 Ruby 语言开发的工具能够很容易的将 Sass 代码转换为 CSS 代码。

  下面是演示 Sass 的重要特性——CSS 嵌套的示例代码:

table.hl {
  margin: 2em 0;
  td.ln {
    text-align: right;
  }
}

li {
  font: {
    family: serif;
    weight: bold;
    size: 1.2em;
  }
}

  借助 Sass 工具能够生成如下的标准 CSS 代码:

table.hl {
  margin: 2em 0;
}
table.hl td.ln {
  text-align: right;
}

li {
  font-family: serif;
  font-weight: bold;
  font-size: 1.2em;
}

Less

 

  Less 最早是一个 Ruby 的 gem,让 CSS 具有动态语言的特性,这些特性包括变量,操作符,嵌套规则。其实 Less 真正的作用是将使用高级特性的 CSS 转换成标准的 CSS。这些都是在 Web 客户端发起请求时通过 Http Handler 来完成的。也可以是编辑时就完成的。此外,Less 可以配置成自动最小化所生成的 CSS 文件,不仅节省了带宽,并且使最终用户体验更上一层。另外有 .Net 版本的 Less,做 .Net 开发的朋友可以关注一下。

CleverCSS

  

   CleverCSS 是受 Python 启发而为 CSS 开发的一个小型标记语言,用于生成干净的结构化的样式表。它比 CSS2 更加强大和干净,和 CSS 最大的区别是语法:CleverCSS 基于缩进而不单调,而这是和 Python 规则相悖的,但也不失为组织样式表的一个好方法。

HSS

  

  HSS 是一个用于扩展 CSS 语法的一个工具,具有变量和嵌套等众多强大特性。

xCSS

   

  xCSS 基于标准的 CSS,同时赋予了在编写复杂的样式表的时候的强大的面向对象工作流程,使用 xCSS 能够大幅减少你的开发时间。xCSS 提供了整体的 CSS 结构的直观概述,使用变量以及通过重用现有的样式和其它很多方便的功能来加速 CSS 代码编写。xCSS 是一个轻量级的工具,而且能够让你的代码保持语义。

最后但不是最不重要

  最后向大家推荐一款非常棒的在线小工具——Markup Generator,它能够帮助你快速的生成 HTML 代码并能够根据从代码中提取所有的选择器,然后自动生成 CSS 框架代码。例如编写如下简写代码:

#root
 #top
  #logo
   a[href="/"]=Markup Generator
  form#search
   fieldset
    label[for="query"]=Enter keyword:
    input[type="text" name="term"]#query
    button[type="submit"]=Find
 #header
  h1=Markup Generator
  h2=Nifty tool for XHTML/CSS coders
 #content
  #primary
   #about
  #secondary
   #contact.box
   #notify.box
   #bookmarks.box
 #footer
  p=Copyright (c) 2011 jizhula.com

  使用 Markup Generator 能够生成如下标准的 HTML 代码:

<div id="root">
	<div id="top">
		<div id="logo">
			<a href="/">Markup Generator</a>
		</div>
		<form id="search" method="post" action="./">
			<fieldset>
				<label for="query">Enter keyword:</label>
				<input id="query" type="text" name="term" />
				<button type="submit">Find</button>
			</fieldset>
		</form>
	</div>
	<div id="header">
		<h1>Markup Generator</h1>
		<h2>Nifty tool for XHTML/CSS coders</h2>
	</div>
	<div id="content">
		<div id="primary">
			<div id="about"></div>
		</div>
		<div id="secondary">
			<div id="contact" class="box"></div>
			<div id="notify" class="box"></div>
			<div id="bookmarks" class="box"></div>
		</div>
	</div>
	<div id="footer">
		<p>Copyright (c) 2011 jizhula.com</p>
	</div>
</div>

  同时还能够生成如下的 CSS 框架代码:

#root {  }
 #top {  }
  #logo {  }
   #logo a {  }
  #search {  }
   #search fieldset {  }
    #search fieldset label {  }
    #query {  }
    #search fieldset button {  }
 #header {  }
  #header h1 {  }
  #header h2 {  }
 #content {  }
  #primary {  }
   #about {  }
  #secondary {  }
   #contact {  }
   #notify {  }
   #bookmarks {  }
 #footer {  }
  #footer p {  }

  非常好的一款工具,大家可以在线试用一下

  以上就是全部内容了,这些实用的工具和技术能够帮助Web开发人员摆脱编写 HTML 和 CSS 过程中的枯燥与乏味,能够大幅节省编码时间,加快开发进度。

时间: 2024-09-25 02:29:59

让代码飞一会儿:快速编写 HTML 和 CSS 的工具和技术的相关文章

Emmet——快速的编写HTML和CSS代码

这学期被自愿的选择了<Web应用程序设计>这门课,还是自学课.好吧,反正基础的HTML和CSS迟早也是要学习的,就提前学吧. 按照我的性子,当学习新的语言以及语法规则的时候,我就又开始折腾编辑器的语法高亮和配置自动补全功能了.其实接触到新的语言时,我个人建议还是不要急着去寻找相关的IDE去使用,还是先用基本的文本编辑器写,尝试自己手工去构建.等到理解了之后再使用IDE提高编码效率也不晚.IDE的方便是建立在对很多细节的屏蔽之上的,这样对学习新的知识没有益处.没有手写HTML的经验,全靠IDE点

Zen Coding 快速编写HTML/CSS代码的实现_经验交流

在本文中我们将展示一种新的使用仿CSS选择器的语法来快速开发HTML和CSS的方法.它由Sergey Chikuyonok开发. 你在写HTML代码(包括所有标签.属性.引用.大括号等)上花费多少时间?如果你的编辑器有代码提示功能,你编写的时候就会容易些,但即便如此你还是要手动敲入很多代码. 在JavaScript方面,当我们想要在一个页面上获取某个特定的元素时,我们就会遇到同样的问题,我们必须写很多代码,这就变得难于维护和重用.JavaScript框架应运而生,它们同时引入了CSS选择器引擎.

高效编写CSS代码:WEBJX分享15个CSS开发工具

文章简介:对于Web开发人员来说,好用的CSS工具可以让那些枯燥的工作变得有趣,并且还可以帮你更高效的编写CSS代码,在这里向大家推荐15个必不可少的CSS开发工具和应用. 对于Web开发人员来说,好用的CSS工具可以让那些枯燥的工作变得有趣,并且还可以帮你更高效的编写CSS代码,在这里向大家推荐15个必不可少的CSS开发工具和应用. 1. CSS Desk : An online CSS Sandbox 这是一个支持即时预览的在线CSS编辑工具,无需安装任何形式的插件或是软件,就能在线编辑CS

《操作系统真象还原》——2.3 让MBR先飞一会儿

2.3 让MBR先飞一会儿 虽说主引导记录mbr是咱们能够掌控的第一个程序,但这并不是让我们为之激动的理由.我们平时所写的程序都要依赖于操作系统,而我们即将实现的这个程序是独立于操作系统的,能够直接在裸机上运行,这才是让我们激动的理由,对咱们来说这无疑是历史性的一刻.还记得当初我的MBR跑起来时,那可真是发自内心的高兴呀. 好了,不再抒情了,说正事要紧.MBR的大小必须是512字节,这是为了保证0x55和0xaa这两个魔数恰好出现在该扇区的最后两个字节处,即第510字节处和第511字节处,这是按

细致入微 | 让 SQL 优化再多飞一会儿

第一章  细致入微 | 让 SQL 优化再多飞一会儿 云和恩墨 | 2016-04-12 20:54 怀晓明 云和恩墨性能优化专家 本文来自于本周四云和恩墨大讲堂怀晓明老师的分享. 内容:作为 DevOps 的最佳落地方式之一的 SQL 审核,如何才能做好?这是一件很有挑战性的事情,他将通过两个具体案例,来展现 SQL 审核工作如何才能做得更好,更有价值.简言之就是八个字--"细致入微,方显价值 ". 我们都知道,细致认真,可以将一件事情做得尽可能完美,在 SQL 审核与优化中,同样需

技巧小结:如何让 CSS 代码简洁而易于编写?

css|技巧 如何让 CSS 代码简洁而易于编写?这恐怕是许多开发者都关心的问题.我想,大概没有什么魔法,可以保证一下就把你的样式表缩小到百分之多少,但合理的 CSS 编码与组织技巧,的确能够帮助你的更有效率地写出更清晰高效的代码,自然,样式表大小的缩减还能减少下载的时间. 组织你的样式表 尽管我们有种种 CSS 的开发工具,比如 TopStyle,比如 StyleMaster,它们可以让你对当前这个样式表里面定义了哪些规则,涉及哪些 class,哪些 ID 一目了然,但这不等于说你的样式表就组

ios-在我的代码中实现快速枚举

问题描述 在我的代码中实现快速枚举 hello大家好 需要在代码实现快速enumeration,不知道应该怎么做? int xx; int b=0; for (xx=0 ; xx<(distancearray.count); xx++) { if ([NSNull null]!=[distancearray objectAtIndex:xx]&& 0 !=[[[distancearray objectAtIndex:xx] description] intValue] ) { b++

javascript-js代码里面能动态编写html吗?

问题描述 js代码里面能动态编写html吗? 比如 <script type="text/javascript"> if (0) { </script> <p> hello1</p> <script type="text/javascript"> }else{ </script> <p> hello2</p> <script type="text/java

提高代码质量:如何编写函数

提高代码质量:如何编写函数 函数是实现程序功能的最基本单位,每一个程序都是由一个个最基本的函数构成的.写好一个函数是提高程序代码质量最关键的一步.本文就函数的编写,从函数命名,代码分布,技巧等方面入手,谈谈如何写好一个可读性高.易维护,易测试的函数. 命名 首先从命名说起,命名是提高可读性的第一步.如何为变量和函数命名一直是开发者心中的痛点之一,对于母语非英语的我们来说,更是难上加难.下面我来说说如何为函数命名的一些想法和感受: 采用统一的命名规则 在谈及如何为函数取一个准确而优雅的名字之前,首