YAML

YAML (”Yet Another Multicolumn Layout”) 是一个 (X)HTML/CSS 框架,它为了满足弹性的和用户友好的布局而开发的。YAML自2007年出现以来就提供了广而全的文档。像许多其他的CSS-Framework如Blueprint CSSYUI Grids 一样,提供了一个预定义的 CSS-classes 系统,用来创建基于网格的布局。要创建一个布局,设计师需要创建网站 HTML 结构,然后为容器(html标签)书写CSS,剩下的就自理了。

YAML 是走不同的路线,他支持基于网格的布局开发,也支持网格系统开发,但都是强调弹性都布局。如果有设计师想要创建基于网格都布局,他可以使用三列,头部和尾 部的基本框架。每个元素都能够移动或者适应用户都需求。真实都设计中,列的位置是使用 CSS来定义的(在其它都 CSS 框架中使用都是 html 结构来做的)。对设计师都好处:使用 YAML 你定义类时能得到更好都选择,使用任何尺寸的单元并得到干净都代码。

基于 HTML 结构的 YAML 包括了已经防止 IE-bug 都布局都预设置。因此,它可以让设计师们更容易都创建它们都布局而不用担心新老浏览器都兼容问题。这个布局示例 ( Layout examples) 提供了在 YAML 中什么是可能的一个概述,也可能会带给你们未来都设计布局的一些新的想法。除此之外,YAML 还提供来一套灵活都网格组件,你可以在列中创建列因而创建更复杂又弹性的网格布局。

相对上面都示例, BluePrint 框架也有一个使用 BluePrint 创建布局的示例页面(demo_page ),它与 YAML 使用弹性都网格元素创建都模板非常都相似,这个缩放的模板甚至能在 IE5.5 下正常地工作,包括最大和最小宽度(max-width and min-width)。

除了布局设计以外,YAML 也为打印布局传递样式表,也作为水平和垂直都导航的组件。要掌握 YAML 需要一定的时间学习(攀爬学习曲线):这个工具提供了很多不同的功能和用户友好的弹性布局,这些都不是很容易就能创建的。

然而,YAML 的概念是有很好的在线文档和PDF文档,提供一个完整的框架介绍给初学者和专业人员。你也可以通过使用 YAML-Builder 来实践,这是一个非常方便的基于 YAML 都 CSS 布局的可视化开发工具,它允许你通过拖放来创建可视化都布局,有效的 HTML 和 CSS 代码都会实时地自动生成。

05-10
### YAML 的定义与基本语法 YAML 是一种人类友好的数据序列化标准,全称为 **YAML Ain't Markup Language**,其设计目标是使数据易于阅读和编写,同时方便程序解析[^1]。以下是 YAML 的主要特性和使用方法: #### 1. 基本语法规则 ##### 1.1 缩进与空白 YAML 使用空格来表示层级结构,建议每层缩进为 2 或 4 个空格,严格禁止使用 Tab 键替代空格[^1]。 例如: ```yaml person: name: Alice age: 30 ``` ##### 1.2 注释 注释以 `#` 开头,后面的内容会被忽略。可以在行首或行尾添加注释[^1]。 ```yaml name: Alice # 名字字段 age: 30 # 年龄字段 ``` ##### 1.3 数据类型 - **字符串**:通常无需加引号,但如果包含特殊字符,则需要用单引号 `'` 或双引号 `"` 包裹。双引号内的特殊字符不会被转义,而单引号会将其视为普通字符串[^2]。 ```yaml normal_string: Hello, world! special_with_double_quote: "zhangsan \n lisi" # 输出 zhangsan 换行 lisi special_with_single_quote: 'zhangsan \n lisi' # 输出 zhangsan \n lisi ``` - **数字**:直接书写即可。 ```yaml number_example: 42 float_example: 3.14 ``` - **布尔值**:推荐使用小写的 `true` 和 `false`。 ```yaml is_active: true is_deleted: false ``` - **Null 值**:可以用 `null` 或 `~` 表示。 ```yaml missing_value: null another_missing_value: ~ ``` #### 2. 数据结构表示 ##### 2.1 映射(字典) 映射由键值对组成,形式为 `key: value`。如果值跨多行,可以使用 `|` 来保留换行符,或者使用 `>` 将多行文本折叠成一行[^1]。 ```yaml info: description: | This is a multi-line string. It preserves newlines and spaces. folded_description: > This is also a multi-line string, but it will be folded into one line. ``` ##### 2.2 列表(数组) 列表通过 `-` 符号标记每一项。 ```yaml fruits: - Apple - Banana - Cherry ``` ##### 2.3 复合结构 映射和列表可以嵌套组合,形成复杂的数据结构[^1]。 ```yaml people: - name: John Doe age: 28 hobbies: - Reading - Traveling - name: Jane Smith age: 35 hobbies: - Cooking - Hiking ``` --- ### 示例代码 以下是一个完整的 YAML 文件示例,展示了多种数据类型的用法: ```yaml application: title: My Application version: 1.0.0 settings: debug_mode: true max_connections: 100 allowed_hosts: - localhost - example.com database: url: "jdbc:mysql://localhost:3306/mydb" username: admin password: secret_password ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值