前段时间写了一个html简化成haml的概述,但写的不全面,随着我自己用了将近一个月的实践我来把它补充一下。
首先haml和html最大的区别在于haml简化了html的写法,省略了结束符,'<' '>'符号也用%来表示。haml和html各有优劣,html的优点是它能够很清楚的显示一个标签的开头和结尾,是整个代码页面显得很清楚。但不停地写'<','>'和结尾符号显得过于麻烦,对于我这种懒人我更喜欢haml这种简化版的代码。
haml的简化规则如下:
1. !!! 5 代表 <!DOCTYPE html>
2. %E 代表HTML标签。
3. %E#id 代表id属性。
4. %E.class 代表class属性。
5. %E(attr="xxx") 代表某一个特定属性。
6. %E XXX 代表插入标签的内容。
7. %E %N 代表N是E的子元素。N如果写在第二行,需要缩进。
在haml中没有复杂的开始结束符,只用一个%加标签名就可以了,但它也有一个缺点,就是如果使用haml就必须注意格式,因为haml没有结尾福,所以不能像html那样随便写。例如:
<div><a></a></div> //html ,<div>标签中包含了一个<a>标签 <div> <a></a></div> //html ,<div>标签中包含了一个<a>标签 <div> <div> <a></a> </div> //html ,<div>标签中包含了一个<a>标签 %div %a //haml,<div>标签中包含了一个<a>标签 %div %a ////haml,<div>标签中包含了一个<a>标签,注意写在第二行要缩进 %div %a //haml,<div>标签和<a>标签是并列关系
在我们用编程工具写html,js,css等代码有一个快捷键可以整理代码,Ctrl+Alt+Win+L,在haml编写中也不起作用,所以要想用haml编写程序,就要注意格式。
下面我来介绍也谢haml的用法。
首先就是标签本某些特定的属性用%xx{:xxx=>"xxxx”}表示,如:
<div width="100%"> //html,div的宽度设为100% %div{:style=>"width: 100%"} //haml,div的宽度设为100% //如果想多调用几个style,就用;隔开 %div{:style=>"width: 100%;height:100px"} //若果同时有多条特性,各属性之间用','隔开 %div{:style=>"width: 100%",onclick=>"function()",herf=>"xxxxxxxxxxxxx"}
当然了我们通常是采用外部调用的,这里只是简单介绍一下。
下面来说调用函数,html一般都是用<script></script>标签来实现的,把函数放在<head>或<body>标签中,然后用onclick调用,例如:
<!DOCTYPE html> <html> <head> <script> function myFunction() { document.getElementById("demo").innerHTML="My First JavaScript Function"; } </script> </head> <body> <h1>My Web Page</h1> <p id="demo">A Paragraph</p> <button type="button" onclick="myFunction()">Try it</button> </body> </html>
而haml就省略了这些,直接在标签中onclick调用写在js文件中的function。例如:
%button{:onclick=>"Myfunction()“}
这也是我喜欢haml的原因之一。
而且在haml中我们可以不用写hade,body等标签,直接用div块来完成整个页面。
当你需要调用较多时用,分隔开如:
%button{:class=>"mystyle",onclick=>"myfunction()"}
haml想要显示文本内容,直接在标签后加入文本就可以了,例如:
%h1 这是一个标题 %button提交 //一个提交文本的按钮
用haml给标签一个id有两种方法:
//给div一个id为name %div#name %div{:id=>"name"}
其实任何编程语言之间的变换都是有规律的,只要你掌握了规律很快就能掌握一门编程语言。
相关推荐
Ruby-Haml是一种高效的HTML模板引擎,它以简洁、易读的语法简化了HTML的编写过程。在Web开发中,模板引擎扮演着重要角色,它允许开发者将逻辑代码与呈现层的HTML结构分离,提升代码的可维护性和可读性。Haml是Ruby...
HAML(HTML Abstraction Markup Language)是一种结构化模板语言,旨在简化HTML代码,提高可读性和易维护性,尤其在动态网站开发中广泛应用。`MtHaml` 的出现,使得 PHP 开发者能够享受到 HAML 带来的益处。 HAML ...
标题“为什么要使用HAML和SASS”涉及到的是前端开发中的两个重要工具——HAML(HTML Abstraction Markup Language)和SASS(Syntactically Awesome Style Sheets)。这两个工具都是为了提高HTML和CSS编码的效率和...
它通过缩进和简化的语法减少HTML的冗余,使得代码更加结构化。Haml的语法通常比原生HTML更紧凑,因此更容易维护和理解。在本项目中,"clientside-haml-js" 提供了在客户端运行的Haml编译器,这意味着开发者可以直接...
哈姆 Haml是HTML的模板引擎。 通过消除冗余,反映文档所表示的基础结构以及提供既强大又易于理解的优雅语法,它旨在使编写HTML文档变得更加轻松愉快。基本用法Haml可以从命令行使用,也可以作为Ruby Web框架的一部分...
4. **使用插件**:有些Rails插件,如`haml-rails`,可以帮助简化上述过程。安装后,它会自动配置Rails以使用Haml,并可能提供额外的便利功能。 5. **运行脚手架**:现在,当你运行`rails generate scaffold ...
Haml2Html 一个易于使用的编译器,用于使用Haml&Sass开发静态页面。要求需要以下内容:安装将存储库克隆到本地计算机。 在您的终端中,导航到/haml2html 。 跑步 ./install这将检查需求并安装未安装的需求。用法将...
总之,MtHaml 是一个强大的PHP HAML模板引擎,它简化了HTML模板的编写,提升了开发效率,对于追求代码简洁和效率的开发者来说,是一个值得尝试的工具。通过深入学习和实践,你将能够充分利用 MtHaml 的优点,构建出...
2. **简化的语法**:例如 `%div` 表示 `<div>` 元素,`#id` 或 `.class` 直接定义 ID 和类名。 3. **内联文本**:在元素后直接跟文本,无需使用双引号或尖括号。 4. **代码与内容分离**:通过 `-` 开头的行来插入 ...
用于Webpack的Ruby Haml加载程序 将Haml文件作为模块导入Webpack项目中。 返回渲染的模板。 这很慢。 它是为临时使用而创建的,直到转换为Jade。 此自述文件基于自述文件。 设置 添加到您的webpack配置模块....
HAML(HTML Abstraction Markup Language)通过简洁、层次分明的语法,简化了HTML的编写。EWG HAML是Haml的一个变种,特别针对前端开发工作流进行了优化。它允许开发者以结构化的方式编写HTML,减少了代码中的冗余,...
这种特性极大地简化了视图层与模型层的交互,使得前端代码更加整洁,提高了开发效率。 在使用hamlet-compiler时,开发者首先需要安装这个库,然后就可以开始编写Haml模板。Haml的语法结构清晰,如 `%tagname` 用于...
总结来说,Ruby-Haml是一种旨在简化HTML模板编写过程的语言,通过缩进和简洁的语法提高了代码可读性和开发效率。在Ruby开发中,Haml与Sass的结合使用,为Web应用的前端开发提供了一种高效、安全的解决方案。
HAML(HTML Abstraction Markup Language)是一种简洁、清晰的HTML模板语言,它的语法比传统HTML更加简洁,减少了代码中的冗余,使得代码更易读、易写。HAML的主要特点包括缩进表示层级关系,%tagname创建元素,以及...
编写类似于ruby的haml实现的代码 在错误的标签嵌套上失败,例如table> td> tr 图书馆支持 请参阅如果您将对haml-to-php.com的支持添加到框架中,我想参考您的工作。 我知道的相关工作 请参阅此处。 最引人注目。 ...
这是一个,将使用该插件haml命令行脚本编译Haml的文件转换成HTML。 您需要同时安装Ruby和Haml才能使用此功能。 尝试gem install haml 。 如果使用 ,请将gem 'haml'添加到Gemfile中,然后运行bundle install 。 ...
用Haskell编写的HAML到ERB转换器。 该程序将模板转换为 。 为什么 很多人更喜欢HAML而不是ERB。 但不是每个人,也不是每个情况都如此。 ERB更简单,更容易记住规则,并且对HTML熟悉的人都可以访问。 ERB模板更易于...
只需内联编写HAML代码,它将扩展为字符串: julia > using HAMLjulia > link = " https://youtu.be/dQw4w9WgXcQ "julia > haml """ %html %body %a(href=link) Hello, world! """ |> print< html > < body...
Middleman 3.0.x项目模板:HTML5 Boilerplate HAML,Normalize,Susy,Sprockets包括 HTML5 Boilerplate HAML是适用于HAML 项目模板,具有响应网格,可以使用 ,由 ,Coffeescript,Sprockets等。 强烈建议使用和 ...
业力预处理器将 haml 脚本编译为 html 的 Karma 预处理器。 支持和作为语言编译器安装最简单的方法是将karma-haml-preprocessor作为 devDependency 保留在package.json 。 { " devDependencies " : { " karma-haml-...